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@1943.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 [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@243.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244.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 [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 [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@269.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@270.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@307.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@308.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@314.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@315.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@320.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@322.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@323.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@328.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@329.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@331.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@332.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@337.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@339.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@340.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@346.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@484.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@486.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@487.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@510.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@513.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@521.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@523.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@596.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@597.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@598.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@599.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@600.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@601.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@602.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@603.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@604.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@605.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@606.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@607.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@608.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@609.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@611.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@613.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@614.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@633.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@635.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@636.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@641.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@643.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@644.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@658.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@737.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@738.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@739.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@740.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@741.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@742.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@743.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@744.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@745.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@760.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@763.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@764.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@800.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@874.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@875.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@876.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@877.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@878.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@879.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@880.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@881.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@902.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@905.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@906.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@933.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@934.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@935.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@937.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@938.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@944.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@947.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1019.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1020.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1021.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1022.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1023.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1024.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1025.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1026.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@1027.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1044.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1045.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1064.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1066.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1067.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1081.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1201.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1203.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1204.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1218.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1318.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1319.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@1357.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1359.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1360.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@1366.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1371.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1376.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1377.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1382.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1384.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1385.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1390.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1392.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1393.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1398.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1400.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1401.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1406.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1408.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1409.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1415.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1439.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1441.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1442.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1447.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1449.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1450.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1473.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1514.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1516.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1517.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1532.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1567.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1603.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1663.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1668.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@1669.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1670.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1672.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1673.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1674.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1675.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1676.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1687.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1688.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1689.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1690.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1691.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1692.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1693.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1695.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1697.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1698.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1703.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1705.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1706.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1711.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1713.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1714.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1719.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1721.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1722.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1727.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1729.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1730.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1737.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1745.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@1747.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@1748.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1749.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1750.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1751.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1753.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1754.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1755.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1756.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1757.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1768.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1769.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1770.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1771.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1772.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1773.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1774.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1775.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1777.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1779.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1780.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1785.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1787.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1788.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1793.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1795.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1796.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1801.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1803.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1804.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1809.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1811.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1812.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1817.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1819.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1820.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1827.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1836.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1846.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1847.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1848.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1849.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1850.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1869.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1870.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1871.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1872.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1873.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1888.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1891.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1893.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1894.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1895.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1897.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1898.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1890.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1909.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@1911.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1912.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1914.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@1916.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1917.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1918.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1920.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1921.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@1913.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1927.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@1928.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1929.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1932.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1933.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1938.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@1939.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1940.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1942.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1945.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1946.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1947.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1948.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@1949.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@1950.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1952.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1953.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1959.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1963.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@444.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@616.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@766.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@908.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1047.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1184.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1321.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1379.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1421.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1479.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1538.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1573.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1609.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@1943.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'h40000000; // @[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'sh20000000); // @[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'h10024000; // @[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'sh3000); // @[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'h10012000; // @[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'sh5000); // @[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'hc000000; // @[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'sh4000000); // @[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_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@243.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[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_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[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'h8000000; // @[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'h80000000; // @[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'sh4000); // @[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 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@269.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@270.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@307.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@308.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@314.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@315.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@320.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@322.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@323.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@328.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@329.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@331.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@332.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@337.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@339.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@340.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@346.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@484.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@486.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@487.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@510.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@513.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@521.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@523.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@596.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@597.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@598.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@599.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@600.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@601.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@602.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@603.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@604.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@605.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@606.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@607.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@608.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@609.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@611.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@613.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@614.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@633.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@635.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@636.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@641.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@643.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@644.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@658.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@737.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@738.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@739.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@740.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@741.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@742.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@743.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@744.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@745.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@760.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@763.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@764.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@800.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@874.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@875.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@876.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@877.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@878.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@879.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@880.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@881.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@902.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@905.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@906.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@933.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@934.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@935.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@937.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@938.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@944.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@947.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1019.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1020.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1021.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1022.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1023.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1024.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1025.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@1026.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@1027.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1044.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1045.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1064.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1066.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1067.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1081.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1201.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1203.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1204.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1218.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1318.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1319.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@1357.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1359.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1360.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@1366.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1371.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1376.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1377.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1382.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1384.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1385.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1390.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1392.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1393.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1398.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1400.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1401.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1406.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1408.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1409.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1415.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1439.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1441.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1442.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1447.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1449.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1450.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1473.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1514.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1516.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1517.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1532.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1567.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1603.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1663.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1668.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@1669.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1670.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1673.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1674.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1675.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1676.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1692.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1693.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1695.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1697.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1698.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1703.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1705.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1706.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1711.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1713.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1714.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1719.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1721.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1722.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1727.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1729.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1730.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1737.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1745.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@1747.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@1748.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1749.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1750.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1751.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1754.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1755.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1756.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1757.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1774.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1775.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1777.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1779.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1780.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1785.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1787.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1788.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1793.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1795.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1796.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1801.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1803.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1804.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1809.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1811.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1812.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1817.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1819.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1820.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1827.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1847.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1848.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1849.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1850.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1870.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1871.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1872.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1873.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1888.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1891.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1893.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1894.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1895.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1897.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1898.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1890.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1909.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@1911.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1912.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1914.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@1916.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1917.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1918.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1920.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1921.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@1913.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1927.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@1928.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1929.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1932.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1933.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1938.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@1939.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1940.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1945.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1946.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1947.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1948.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@1949.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@1950.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1952.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1953.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1959.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1963.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@444.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@616.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@766.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@908.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1047.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1184.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1321.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1379.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1421.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1479.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1538.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1573.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1609.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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_185) 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@288.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289.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 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@295.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@302.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@343.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 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@444.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@445.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 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@451.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@458.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@459.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@466.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@467.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@473.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@624.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 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@630.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@638.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@646.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@774.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 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@780.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@922.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@940.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@1047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@1054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1055.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 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@1061.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@1069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@1077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@1184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@1191.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1192.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 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@1198.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@1206.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1207.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@1214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@1321.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1322.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@1328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1329.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 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@1335.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@1343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@1351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1352.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_1050) 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@1362.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1363.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@1379.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1380.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@1387.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1388.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@1395.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@1403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@1411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@1421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284: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_125 & _T_185) 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@1428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@1436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@1444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@1452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@1460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@1469.10]
        end
    `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@1470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@1479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@1486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@1494.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1495.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@1502.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@1510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@1519.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@1528.10]
        end
    `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@1529.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@1538.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1539.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@1546.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1547.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@1554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@1563.10]
        end
    `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@1564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@1573.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@1581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@1590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@1599.10]
        end
    `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@1600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@1609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@1617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@1625.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@1634.10]
        end
    `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@1635.10]
        end
    `ifdef STOP_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@1644.6]
        end
    `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@1645.6]
        end
    `ifdef STOP_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@1652.6]
        end
    `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@1653.6]
        end
    `ifdef STOP_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@1660.6]
        end
    `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@1661.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@1700.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1701.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@1708.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1709.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@1716.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1717.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@1724.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1725.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@1732.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1733.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@1782.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1783.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@1790.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1791.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@1798.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1799.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@1806.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1807.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@1814.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1815.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@1822.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1823.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@1900.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1901.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@1923.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1924.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@1935.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1936.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@1955.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1956.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1968.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1971.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.4]
  TLMonitor TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1978.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@2018.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2018.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2017.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1980.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1981.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@2014.4]
endmodule
module TLMonitor_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2151.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2152.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2153.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@3992.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@2170.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2175.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@2177.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@2178.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2179.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2180.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2180.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@2181.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2183.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2184.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@2186.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@2187.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2188.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2189.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2190.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2192.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2193.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2195.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2196.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2197.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2198.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2199.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2200.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2201.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2202.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2203.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2204.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2205.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2206.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2207.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2208.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2209.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2210.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2211.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2212.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2213.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2214.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2218.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2239.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2242.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2243.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2244.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2245.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2246.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2247.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2248.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2249.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2250.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2251.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2252.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2253.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2254.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2255.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2256.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2257.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2258.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2259.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2260.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2261.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2262.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2263.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2264.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2265.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2266.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2267.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2268.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2269.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2270.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2271.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2272.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2273.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2274.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2275.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2276.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2277.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2278.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2279.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2280.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2281.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2282.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2284.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2285.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2286.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2287.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2288.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2289.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2290.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2291.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2292.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2293.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2294.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2295.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2296.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2299.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2300.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2301.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2302.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2303.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2304.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2305.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2306.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2307.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2308.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2309.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2310.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2311.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2312.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2313.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2314.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2315.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2316.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2317.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2318.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2319.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2320.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2335.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2348.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2349.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2356.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2357.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2363.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2364.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2369.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2371.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2372.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2377.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2378.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2380.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2381.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2386.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2388.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2389.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2395.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2533.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2535.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2536.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2559.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2562.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2570.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2572.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2645.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2646.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2647.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2648.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2649.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2650.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2651.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2652.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2653.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2654.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2655.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2656.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2657.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2658.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2660.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2662.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2663.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2682.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2684.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2685.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2690.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2692.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2693.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2707.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2786.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2787.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2788.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2789.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2790.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2791.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2792.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2793.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2794.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2809.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2812.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2813.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2849.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2923.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2924.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2925.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2926.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2927.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2928.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2929.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2930.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2951.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2954.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2955.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2982.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2983.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@2984.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2986.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2987.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2993.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2996.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3068.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3069.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3070.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3071.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3072.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3073.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3074.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3075.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@3076.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3093.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3094.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3113.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3115.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3116.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3130.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3250.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3252.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3253.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3267.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3367.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3368.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@3406.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3408.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3409.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@3415.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3420.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3422.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3425.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3426.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3431.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3433.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3434.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3439.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3441.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3442.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3447.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3449.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3450.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3455.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3457.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3458.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3464.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3488.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3490.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3496.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3498.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3499.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3522.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3563.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3565.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3566.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3581.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3616.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3652.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3712.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3717.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@3718.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3719.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3721.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3722.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3723.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3724.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3725.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3736.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3737.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3738.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3739.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3740.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3741.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3742.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3744.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3746.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3747.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3752.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3754.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3755.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3760.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3762.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3763.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3768.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3770.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3771.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3776.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3778.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3779.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3786.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3794.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@3796.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@3797.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3798.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3799.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3800.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3802.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3803.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3804.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3805.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3806.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3817.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3818.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3819.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3820.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3821.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3822.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3823.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3824.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3826.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3828.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3829.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3834.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3836.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3837.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3842.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3844.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3845.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3850.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3852.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3853.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3858.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3860.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3861.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3866.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3868.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3869.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3876.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3885.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3895.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3896.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3897.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3898.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3899.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3918.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3919.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3920.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3921.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3922.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3937.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3940.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3942.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3943.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3944.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3946.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3947.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3939.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3958.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@3960.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3961.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3963.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@3965.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3966.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3969.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@3962.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3976.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@3977.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3978.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3979.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3981.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3982.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3987.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@3988.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3989.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3991.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3994.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3995.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3996.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3997.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@3998.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@3999.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4001.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4002.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4008.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4012.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2337.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2493.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2665.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2815.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2957.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3096.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3233.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3370.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3428.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3470.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3528.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3587.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3622.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3658.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@3992.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@2170.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2175.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@2177.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@2178.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2179.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2180.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2180.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@2181.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2183.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2184.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@2186.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@2187.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2188.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2189.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2190.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2192.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2193.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2195.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2196.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2197.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2198.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2199.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2200.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2201.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2202.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2203.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2204.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2205.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2206.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2207.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2208.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2209.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2210.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2211.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2212.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2213.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2214.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2218.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2239.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2242.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2243.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2244.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2245.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2246.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2247.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2248.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2249.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2250.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2251.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2252.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2253.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2254.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2255.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2256.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2257.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2258.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2259.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2260.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2261.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2262.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2263.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2264.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2265.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2266.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2267.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2268.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2269.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2270.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2271.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2272.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2273.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2274.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2275.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2276.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2277.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2278.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2279.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2280.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2281.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2282.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2284.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2285.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2286.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2287.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2288.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2289.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2290.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2291.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2292.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2293.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2294.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2295.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2296.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2299.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2300.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2301.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2302.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2303.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2304.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2305.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2306.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2307.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2308.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2309.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2310.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2311.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2312.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2313.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2314.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2315.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2316.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2317.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2318.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2319.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2320.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2335.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2348.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2349.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2356.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2357.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2363.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2364.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2369.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2371.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2372.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2377.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2378.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2380.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2381.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2386.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2388.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2389.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2395.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2533.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2535.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2536.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2559.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2562.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2570.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2572.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2645.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2646.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2647.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2648.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2649.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2650.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2651.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2652.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2653.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2654.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2655.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2656.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2657.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2658.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2660.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2662.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2663.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2682.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2684.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2685.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2690.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2692.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2693.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2707.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2786.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2787.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2788.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2789.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2790.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2791.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2792.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2793.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2794.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2809.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2812.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2813.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2849.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2923.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2924.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2925.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2926.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2927.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2928.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2929.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2930.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2951.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2954.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2955.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2982.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2983.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@2984.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2986.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2987.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2993.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2996.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3068.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3069.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3070.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3071.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3072.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3073.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3074.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@3075.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@3076.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3093.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3094.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3113.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3115.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3116.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3130.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3250.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3252.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3253.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3267.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3367.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3368.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@3406.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3408.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3409.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@3415.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3420.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3422.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3425.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3426.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3431.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3433.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3434.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3439.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3441.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3442.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3447.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3449.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3450.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3455.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3457.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3458.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3464.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3488.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3490.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3496.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3498.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3499.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3522.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3563.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3565.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3566.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3581.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3616.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3652.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3712.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3717.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@3718.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3719.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3722.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3723.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3724.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3725.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3741.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3742.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3744.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3746.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3747.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3752.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3754.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3755.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3760.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3762.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3763.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3768.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3770.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3771.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3776.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3778.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3779.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3786.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3794.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@3796.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@3797.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3798.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3799.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3800.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3803.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3804.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3805.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3806.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3823.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3824.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3826.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3828.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3829.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3834.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3836.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3837.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3842.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3844.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3845.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3850.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3852.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3853.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3858.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3860.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3861.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3866.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3868.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3869.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3876.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3896.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3897.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3898.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3899.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3919.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3920.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3921.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3922.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3937.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3940.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3942.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3943.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3944.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3946.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3947.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3939.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3958.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@3960.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3961.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3963.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@3965.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3966.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3969.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@3962.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3976.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@3977.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3978.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3979.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3981.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3982.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3987.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@3988.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3989.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3994.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3995.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3996.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3997.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@3998.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@3999.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4001.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4002.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4008.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4012.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2337.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2493.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2665.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2815.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2957.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3096.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3233.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3370.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3428.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3470.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3528.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3587.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3622.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3658.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@2166.8]
        end
    `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@2167.8]
        end
    `ifdef STOP_COND
      end
    `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@2236.8]
        end
    `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@2237.8]
        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 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@2337.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 49: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_19 & _T_185) 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@2344.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@2351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@2359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@2366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@2374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@2383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@2391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2392.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 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@2493.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2494.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 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@2500.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@2507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@2515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@2522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@2530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@2538.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2539.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@2547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@2555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@2665.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2666.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@2672.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2673.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 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@2679.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@2687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@2695.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2696.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@2703.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@2815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@2822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2823.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 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@2829.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@2837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@2845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@2957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@2964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@2971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@2979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@2989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@3096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@3103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3104.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 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@3110.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3111.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@3118.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3119.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@3126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@3233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@3240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3241.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 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@3247.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@3255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@3263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@3370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@3377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3378.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 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@3384.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@3392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@3400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3401.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_1050) 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@3411.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3412.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@3428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@3436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@3444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@3452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@3460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@3470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@3477.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3478.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@3485.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3486.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@3493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@3501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@3509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@3518.10]
        end
    `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@3519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@3528.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3529.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@3535.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@3543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296: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 (_GEN_137 & _T_1097) 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@3551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@3559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@3568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@3577.10]
        end
    `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@3578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@3587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304: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 (_GEN_149 & _T_1074) 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@3595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@3603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@3612.10]
        end
    `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@3613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@3622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@3630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@3639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@3648.10]
        end
    `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@3649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@3658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@3666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@3674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@3683.10]
        end
    `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@3684.10]
        end
    `ifdef STOP_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@3693.6]
        end
    `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@3694.6]
        end
    `ifdef STOP_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@3701.6]
        end
    `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@3702.6]
        end
    `ifdef STOP_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@3709.6]
        end
    `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@3710.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@3749.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3750.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@3757.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3758.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@3765.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3766.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@3773.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3774.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@3781.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3782.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@3831.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3832.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@3839.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3840.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@3847.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3848.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@3855.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3856.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@3863.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3864.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@3871.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3872.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@3949.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3950.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@3972.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3973.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@3984.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3985.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@4004.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4005.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4017.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4018.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4019.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4020.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.4]
  TLMonitor_1 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4027.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@4067.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4067.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4066.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4029.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4030.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@4063.4]
endmodule
module TLMonitor_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4200.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4201.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4202.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@6036.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@4219.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4224.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@4226.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@4227.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4228.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@4230.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4232.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4233.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@4235.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@4236.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4237.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4238.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4239.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4241.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4242.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4244.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4245.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4246.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4247.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4248.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4249.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4250.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4251.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4252.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4253.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4254.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4255.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4256.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4257.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4258.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4259.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4260.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4261.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4262.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4263.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4267.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4288.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4291.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4292.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4293.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4294.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4295.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4296.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4297.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4298.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4299.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4300.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4301.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4302.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4303.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4304.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4305.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4306.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4307.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4308.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4309.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4310.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4311.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4312.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4313.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4314.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4315.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4316.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4317.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4318.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4319.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4320.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4321.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4322.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4323.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4324.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4325.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4326.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4327.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4328.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4329.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4330.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4331.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4332.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4333.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4334.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4335.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4336.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4337.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4338.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4339.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4340.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4341.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4342.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4343.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4344.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4345.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4348.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4349.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4350.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4351.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4352.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4353.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4354.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4355.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4356.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4357.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4358.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4359.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4360.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4361.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4362.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4363.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4364.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4365.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4366.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4367.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4368.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4369.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4384.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4397.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4398.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4405.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4406.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4412.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4413.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4418.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4420.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4421.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4426.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4427.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4429.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4430.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4435.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4437.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4438.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4444.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4582.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4584.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4585.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4608.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4611.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4619.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4621.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4694.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4695.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4696.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4697.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4698.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4699.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4700.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4701.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4702.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4703.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4704.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4705.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4706.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4707.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4709.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4711.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4712.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4731.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4733.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4734.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4739.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4741.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4742.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4756.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4835.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4836.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4837.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4838.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4839.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4840.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4841.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4842.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4843.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4858.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4861.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4862.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4898.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4972.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4973.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4974.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4975.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4976.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4977.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4978.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4979.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5000.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5003.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5004.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5031.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5032.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5033.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5035.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5036.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5042.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5045.8]
  wire  _T_751; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5092.8]
  wire  _T_752; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5093.8]
  wire  _T_753; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5094.8]
  wire  _T_754; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@5095.8]
  wire  _T_755; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@5096.8]
  wire  _T_762; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@5103.8]
  wire  _T_801; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5142.8]
  wire  _T_804; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5145.8]
  wire  _T_805; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5146.8]
  wire  _T_812; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@5165.8]
  wire  _T_814; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5167.8]
  wire  _T_815; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5168.8]
  wire  _T_820; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5182.6]
  wire  _T_930; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5305.8]
  wire  _T_932; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5307.8]
  wire  _T_933; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5308.8]
  wire  _T_938; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5322.6]
  wire  _T_1037; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5422.8]
  wire  _T_1038; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5423.8]
  wire  _T_1053; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@5461.6]
  wire  _T_1055; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5463.6]
  wire  _T_1056; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5464.6]
  wire  _T_1058; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@5470.6]
  wire  _T_1067; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5475.6]
  wire  _T_1069; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5477.6]
  wire  _T_1071; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5480.8]
  wire  _T_1072; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5481.8]
  wire  _T_1073; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5486.8]
  wire  _T_1075; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5488.8]
  wire  _T_1076; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5489.8]
  wire  _T_1077; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5494.8]
  wire  _T_1079; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5496.8]
  wire  _T_1080; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5497.8]
  wire  _T_1081; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5502.8]
  wire  _T_1083; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5504.8]
  wire  _T_1084; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5505.8]
  wire  _T_1085; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5510.8]
  wire  _T_1087; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5512.8]
  wire  _T_1088; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5513.8]
  wire  _T_1089; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5519.6]
  wire  _T_1100; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5543.8]
  wire  _T_1102; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5545.8]
  wire  _T_1103; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5546.8]
  wire  _T_1104; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5551.8]
  wire  _T_1106; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5553.8]
  wire  _T_1107; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5554.8]
  wire  _T_1117; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5577.6]
  wire  _T_1137; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5618.8]
  wire  _T_1139; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5620.8]
  wire  _T_1140; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5621.8]
  wire  _T_1146; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5636.6]
  wire  _T_1163; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5671.6]
  wire  _T_1181; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5707.6]
  wire  _T_1210; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5767.4]
  wire [9:0] _T_1215; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5772.4]
  wire  _T_1216; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5773.4]
  wire  _T_1217; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5774.4]
  reg [9:0] _T_1220; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5776.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1221; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5777.4]
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5778.4]
  wire [9:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5779.4]
  wire  _T_1224; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5780.4]
  reg [2:0] _T_1233; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5791.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1235; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5792.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1237; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5793.4]
  reg [31:0] _RAND_3;
  reg  _T_1239; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5794.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1241; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5795.4]
  reg [31:0] _RAND_5;
  wire  _T_1242; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5796.4]
  wire  _T_1243; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5797.4]
  wire  _T_1244; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5799.6]
  wire  _T_1246; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5801.6]
  wire  _T_1247; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5802.6]
  wire  _T_1248; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5807.6]
  wire  _T_1250; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5809.6]
  wire  _T_1251; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5810.6]
  wire  _T_1252; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5815.6]
  wire  _T_1254; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5817.6]
  wire  _T_1255; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5818.6]
  wire  _T_1256; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5823.6]
  wire  _T_1258; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5825.6]
  wire  _T_1259; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5826.6]
  wire  _T_1260; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5831.6]
  wire  _T_1262; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5833.6]
  wire  _T_1263; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5834.6]
  wire  _T_1265; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5841.4]
  wire  _T_1266; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5849.4]
  wire [26:0] _T_1268; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@5851.4]
  wire [11:0] _T_1269; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@5852.4]
  wire [11:0] _T_1270; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5853.4]
  wire [9:0] _T_1271; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5854.4]
  wire  _T_1272; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5855.4]
  reg [9:0] _T_1275; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5857.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1276; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5858.4]
  wire [10:0] _T_1277; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5859.4]
  wire [9:0] _T_1278; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5860.4]
  wire  _T_1279; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5861.4]
  reg [2:0] _T_1288; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5872.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1290; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5873.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1292; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5874.4]
  reg [31:0] _RAND_9;
  reg  _T_1294; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5875.4]
  reg [31:0] _RAND_10;
  reg  _T_1296; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5876.4]
  reg [31:0] _RAND_11;
  reg  _T_1298; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5877.4]
  reg [31:0] _RAND_12;
  wire  _T_1299; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5878.4]
  wire  _T_1300; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5879.4]
  wire  _T_1301; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5881.6]
  wire  _T_1303; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5883.6]
  wire  _T_1304; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5884.6]
  wire  _T_1305; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5889.6]
  wire  _T_1307; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5891.6]
  wire  _T_1308; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5892.6]
  wire  _T_1309; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5897.6]
  wire  _T_1311; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5899.6]
  wire  _T_1312; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5900.6]
  wire  _T_1313; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5905.6]
  wire  _T_1315; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5907.6]
  wire  _T_1316; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5908.6]
  wire  _T_1317; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5913.6]
  wire  _T_1319; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5915.6]
  wire  _T_1320; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5916.6]
  wire  _T_1321; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5921.6]
  wire  _T_1323; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5923.6]
  wire  _T_1324; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5924.6]
  wire  _T_1326; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5931.4]
  reg [1:0] _T_1328; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5940.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1339; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5950.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1340; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5951.4]
  wire [10:0] _T_1341; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5952.4]
  wire [9:0] _T_1342; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5953.4]
  wire  _T_1343; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5954.4]
  reg [9:0] _T_1360; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5973.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1361; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5974.4]
  wire [10:0] _T_1362; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5975.4]
  wire [9:0] _T_1363; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5976.4]
  wire  _T_1364; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5977.4]
  wire  _T_1375; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5992.4]
  wire [1:0] _T_1377; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5995.6]
  wire [1:0] _T_1378; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5997.6]
  wire  _T_1379; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5998.6]
  wire  _T_1380; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5999.6]
  wire  _T_1382; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6001.6]
  wire  _T_1383; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6002.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5994.4]
  wire  _T_1388; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6013.4]
  wire  _T_1390; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@6015.4]
  wire  _T_1391; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6016.4]
  wire [1:0] _T_1392; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@6018.6]
  wire [1:0] _T_1393; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@6020.6]
  wire [1:0] _T_1394; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@6021.6]
  wire  _T_1395; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@6022.6]
  wire  _T_1397; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6024.6]
  wire  _T_1398; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6025.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@6017.4]
  wire [1:0] _T_1399; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6031.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@6032.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6033.4]
  reg [31:0] _T_1403; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6035.4]
  reg [31:0] _RAND_16;
  wire  _T_1404; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@6038.4]
  wire  _T_1405; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6039.4]
  wire  _T_1406; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6040.4]
  wire  _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6041.4]
  wire  _T_1408; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@6042.4]
  wire  _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6043.4]
  wire  _T_1411; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6045.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6046.4]
  wire [31:0] _T_1414; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6052.4]
  wire  _T_1417; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6056.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4386.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4542.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4714.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4864.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5006.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5148.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5288.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5425.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5483.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5525.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5583.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5642.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5677.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5713.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@6036.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@4219.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4224.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@4226.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@4227.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4228.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@4230.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4232.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4233.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@4235.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@4236.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4237.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4238.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4239.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4241.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4242.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4244.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4245.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4246.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4247.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4248.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4249.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4250.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4251.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4252.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4253.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4254.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4255.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4256.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4257.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4258.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4259.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4260.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4261.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4262.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4263.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4267.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4288.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4291.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4292.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4293.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4294.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4295.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4296.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4297.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4298.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4299.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4300.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4301.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4302.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4303.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4304.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4305.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4306.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4307.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4308.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4309.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4310.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4311.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4312.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4313.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4314.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4315.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4316.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4317.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4318.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4319.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4320.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4321.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4322.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4323.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4324.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4325.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4326.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4327.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4328.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4329.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4330.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4331.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4332.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4333.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4334.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4335.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4336.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4337.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4338.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4339.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4340.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4341.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4342.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4343.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4344.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4345.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4348.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4349.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4350.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4351.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4352.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4353.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4354.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4355.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4356.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4357.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4358.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4359.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4360.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4361.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4362.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4363.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4364.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4365.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4366.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4367.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4368.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4369.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4384.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4397.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4398.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4405.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4406.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4412.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4413.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4418.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4420.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4421.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4426.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4427.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4429.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4430.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4435.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4437.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4438.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4444.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4582.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4584.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4585.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4608.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4611.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4619.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4621.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4694.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4695.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4696.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4697.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4698.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4699.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4700.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4701.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4702.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4703.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4704.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4705.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4706.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4707.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4709.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4711.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4712.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4731.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4733.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4734.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4739.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4741.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4742.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4756.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4835.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4836.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4837.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4838.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4839.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4840.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4841.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4842.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4843.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4858.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4861.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4862.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4898.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4972.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4973.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4974.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4975.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4976.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4977.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4978.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4979.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5000.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5003.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5004.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5031.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5032.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5033.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5035.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5036.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5042.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5045.8]
  assign _T_751 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5092.8]
  assign _T_752 = _T_751 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5093.8]
  assign _T_753 = _T_752 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@5094.8]
  assign _T_754 = _T_704 & _T_753; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@5095.8]
  assign _T_755 = 4'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@5096.8]
  assign _T_762 = _T_755 & _T_161; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@5103.8]
  assign _T_801 = _T_754 | _T_762; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5142.8]
  assign _T_804 = _T_801 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5145.8]
  assign _T_805 = _T_804 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5146.8]
  assign _T_812 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@5165.8]
  assign _T_814 = _T_812 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5167.8]
  assign _T_815 = _T_814 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5168.8]
  assign _T_820 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5182.6]
  assign _T_930 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5305.8]
  assign _T_932 = _T_930 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5307.8]
  assign _T_933 = _T_932 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5308.8]
  assign _T_938 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5322.6]
  assign _T_1037 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5422.8]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5423.8]
  assign _T_1053 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@5461.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5463.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5464.6]
  assign _T_1058 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@5470.6]
  assign _T_1067 = io_in_d_bits_source | _T_1058; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5475.6]
  assign _T_1069 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5477.6]
  assign _T_1071 = _T_1067 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5480.8]
  assign _T_1072 = _T_1071 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5481.8]
  assign _T_1073 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5486.8]
  assign _T_1075 = _T_1073 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5488.8]
  assign _T_1076 = _T_1075 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5489.8]
  assign _T_1077 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5494.8]
  assign _T_1079 = _T_1077 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5496.8]
  assign _T_1080 = _T_1079 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5497.8]
  assign _T_1081 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5502.8]
  assign _T_1083 = _T_1081 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5504.8]
  assign _T_1084 = _T_1083 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5505.8]
  assign _T_1085 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5510.8]
  assign _T_1087 = _T_1085 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5512.8]
  assign _T_1088 = _T_1087 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5513.8]
  assign _T_1089 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5519.6]
  assign _T_1100 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5543.8]
  assign _T_1102 = _T_1100 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5545.8]
  assign _T_1103 = _T_1102 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5546.8]
  assign _T_1104 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5551.8]
  assign _T_1106 = _T_1104 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5553.8]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5554.8]
  assign _T_1117 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5577.6]
  assign _T_1137 = _T_1085 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5618.8]
  assign _T_1139 = _T_1137 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5620.8]
  assign _T_1140 = _T_1139 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5621.8]
  assign _T_1146 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5636.6]
  assign _T_1163 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5671.6]
  assign _T_1181 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5707.6]
  assign _T_1210 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5767.4]
  assign _T_1215 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5772.4]
  assign _T_1216 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5773.4]
  assign _T_1217 = _T_1216 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5774.4]
  assign _T_1221 = _T_1220 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5777.4]
  assign _T_1222 = $unsigned(_T_1221); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5778.4]
  assign _T_1223 = _T_1222[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5779.4]
  assign _T_1224 = _T_1220 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5780.4]
  assign _T_1242 = _T_1224 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5796.4]
  assign _T_1243 = io_in_a_valid & _T_1242; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5797.4]
  assign _T_1244 = io_in_a_bits_opcode == _T_1233; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5799.6]
  assign _T_1246 = _T_1244 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5801.6]
  assign _T_1247 = _T_1246 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5802.6]
  assign _T_1248 = io_in_a_bits_param == _T_1235; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5807.6]
  assign _T_1250 = _T_1248 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5809.6]
  assign _T_1251 = _T_1250 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5810.6]
  assign _T_1252 = io_in_a_bits_size == _T_1237; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5815.6]
  assign _T_1254 = _T_1252 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5817.6]
  assign _T_1255 = _T_1254 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5818.6]
  assign _T_1256 = io_in_a_bits_source == _T_1239; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5823.6]
  assign _T_1258 = _T_1256 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5825.6]
  assign _T_1259 = _T_1258 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5826.6]
  assign _T_1260 = io_in_a_bits_address == _T_1241; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5831.6]
  assign _T_1262 = _T_1260 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5833.6]
  assign _T_1263 = _T_1262 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5834.6]
  assign _T_1265 = _T_1210 & _T_1224; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5841.4]
  assign _T_1266 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5849.4]
  assign _T_1268 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@5851.4]
  assign _T_1269 = _T_1268[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@5852.4]
  assign _T_1270 = ~ _T_1269; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5853.4]
  assign _T_1271 = _T_1270[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5854.4]
  assign _T_1272 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5855.4]
  assign _T_1276 = _T_1275 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5858.4]
  assign _T_1277 = $unsigned(_T_1276); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5859.4]
  assign _T_1278 = _T_1277[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5860.4]
  assign _T_1279 = _T_1275 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5861.4]
  assign _T_1299 = _T_1279 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5878.4]
  assign _T_1300 = io_in_d_valid & _T_1299; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5879.4]
  assign _T_1301 = io_in_d_bits_opcode == _T_1288; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5881.6]
  assign _T_1303 = _T_1301 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5883.6]
  assign _T_1304 = _T_1303 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5884.6]
  assign _T_1305 = io_in_d_bits_param == _T_1290; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5889.6]
  assign _T_1307 = _T_1305 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5891.6]
  assign _T_1308 = _T_1307 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5892.6]
  assign _T_1309 = io_in_d_bits_size == _T_1292; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5897.6]
  assign _T_1311 = _T_1309 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5899.6]
  assign _T_1312 = _T_1311 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5900.6]
  assign _T_1313 = io_in_d_bits_source == _T_1294; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5905.6]
  assign _T_1315 = _T_1313 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5907.6]
  assign _T_1316 = _T_1315 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5908.6]
  assign _T_1317 = io_in_d_bits_sink == _T_1296; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5913.6]
  assign _T_1319 = _T_1317 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5915.6]
  assign _T_1320 = _T_1319 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5916.6]
  assign _T_1321 = io_in_d_bits_denied == _T_1298; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5921.6]
  assign _T_1323 = _T_1321 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5923.6]
  assign _T_1324 = _T_1323 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5924.6]
  assign _T_1326 = _T_1266 & _T_1279; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5931.4]
  assign _T_1340 = _T_1339 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5951.4]
  assign _T_1341 = $unsigned(_T_1340); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5952.4]
  assign _T_1342 = _T_1341[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5953.4]
  assign _T_1343 = _T_1339 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5954.4]
  assign _T_1361 = _T_1360 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5974.4]
  assign _T_1362 = $unsigned(_T_1361); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5975.4]
  assign _T_1363 = _T_1362[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5976.4]
  assign _T_1364 = _T_1360 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5977.4]
  assign _T_1375 = _T_1210 & _T_1343; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5992.4]
  assign _T_1377 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5995.6]
  assign _T_1378 = _T_1328 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5997.6]
  assign _T_1379 = _T_1378[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5998.6]
  assign _T_1380 = _T_1379 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5999.6]
  assign _T_1382 = _T_1380 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6001.6]
  assign _T_1383 = _T_1382 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6002.6]
  assign _GEN_15 = _T_1375 ? _T_1377 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5994.4]
  assign _T_1388 = _T_1266 & _T_1364; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6013.4]
  assign _T_1390 = _T_1069 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@6015.4]
  assign _T_1391 = _T_1388 & _T_1390; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6016.4]
  assign _T_1392 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@6018.6]
  assign _T_1393 = _GEN_15 | _T_1328; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@6020.6]
  assign _T_1394 = _T_1393 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@6021.6]
  assign _T_1395 = _T_1394[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@6022.6]
  assign _T_1397 = _T_1395 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6024.6]
  assign _T_1398 = _T_1397 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6025.6]
  assign _GEN_16 = _T_1391 ? _T_1392 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@6017.4]
  assign _T_1399 = _T_1328 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6031.4]
  assign _T_1400 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@6032.4]
  assign _T_1401 = _T_1399 & _T_1400; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6033.4]
  assign _T_1404 = _T_1328 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@6038.4]
  assign _T_1405 = _T_1404 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6039.4]
  assign _T_1406 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6040.4]
  assign _T_1407 = _T_1405 | _T_1406; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6041.4]
  assign _T_1408 = _T_1403 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@6042.4]
  assign _T_1409 = _T_1407 | _T_1408; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6043.4]
  assign _T_1411 = _T_1409 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6045.4]
  assign _T_1412 = _T_1411 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6046.4]
  assign _T_1414 = _T_1403 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6052.4]
  assign _T_1417 = _T_1210 | _T_1266; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6056.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4386.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4542.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4714.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4864.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5006.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5148.10]
  assign _GEN_95 = io_in_a_valid & _T_820; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5288.10]
  assign _GEN_105 = io_in_a_valid & _T_938; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5425.10]
  assign _GEN_115 = io_in_d_valid & _T_1069; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5483.10]
  assign _GEN_125 = io_in_d_valid & _T_1089; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5525.10]
  assign _GEN_137 = io_in_d_valid & _T_1117; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5583.10]
  assign _GEN_149 = io_in_d_valid & _T_1146; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5642.10]
  assign _GEN_155 = io_in_d_valid & _T_1163; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5677.10]
  assign _GEN_161 = io_in_d_valid & _T_1181; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5713.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_1220 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1233 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1235 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1237 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1239 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1241 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1275 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1288 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1290 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1292 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1294 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1296 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1298 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1328 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1339 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1360 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1403 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1220 <= 10'h0;
    end else begin
      if (_T_1210) begin
        if (_T_1224) begin
          if (_T_1217) begin
            _T_1220 <= _T_1215;
          end else begin
            _T_1220 <= 10'h0;
          end
        end else begin
          _T_1220 <= _T_1223;
        end
      end
    end
    if (_T_1265) begin
      _T_1233 <= io_in_a_bits_opcode;
    end
    if (_T_1265) begin
      _T_1235 <= io_in_a_bits_param;
    end
    if (_T_1265) begin
      _T_1237 <= io_in_a_bits_size;
    end
    if (_T_1265) begin
      _T_1239 <= io_in_a_bits_source;
    end
    if (_T_1265) begin
      _T_1241 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1275 <= 10'h0;
    end else begin
      if (_T_1266) begin
        if (_T_1279) begin
          if (_T_1272) begin
            _T_1275 <= _T_1271;
          end else begin
            _T_1275 <= 10'h0;
          end
        end else begin
          _T_1275 <= _T_1278;
        end
      end
    end
    if (_T_1326) begin
      _T_1288 <= io_in_d_bits_opcode;
    end
    if (_T_1326) begin
      _T_1290 <= io_in_d_bits_param;
    end
    if (_T_1326) begin
      _T_1292 <= io_in_d_bits_size;
    end
    if (_T_1326) begin
      _T_1294 <= io_in_d_bits_source;
    end
    if (_T_1326) begin
      _T_1296 <= io_in_d_bits_sink;
    end
    if (_T_1326) begin
      _T_1298 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1328 <= 2'h0;
    end else begin
      _T_1328 <= _T_1401;
    end
    if (reset) begin
      _T_1339 <= 10'h0;
    end else begin
      if (_T_1210) begin
        if (_T_1343) begin
          if (_T_1217) begin
            _T_1339 <= _T_1215;
          end else begin
            _T_1339 <= 10'h0;
          end
        end else begin
          _T_1339 <= _T_1342;
        end
      end
    end
    if (reset) begin
      _T_1360 <= 10'h0;
    end else begin
      if (_T_1266) begin
        if (_T_1364) begin
          if (_T_1272) begin
            _T_1360 <= _T_1271;
          end else begin
            _T_1360 <= 10'h0;
          end
        end else begin
          _T_1360 <= _T_1363;
        end
      end
    end
    if (reset) begin
      _T_1403 <= 32'h0;
    end else begin
      if (_T_1417) begin
        _T_1403 <= 32'h0;
      end else begin
        _T_1403 <= _T_1414;
      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@4215.8]
        end
    `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@4216.8]
        end
    `ifdef STOP_COND
      end
    `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@4285.8]
        end
    `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@4286.8]
        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 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@4386.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4387.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 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@4393.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@4400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@4408.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4409.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@4415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@4423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@4432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@4440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4441.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 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@4542.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4543.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 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@4549.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@4556.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@4564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@4571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@4579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@4587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@4596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@4604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@4714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@4721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4722.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 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@4728.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@4736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@4744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76: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_53 & _T_211) 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@4752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@4864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@4871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4872.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 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@4878.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@4886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@4894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85: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_685) 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@5006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@5013.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@5020.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@5028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@5038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93: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_805) 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@5148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_805) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@5155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5156.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 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@5162.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_815) 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@5170.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_815) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5171.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@5178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_805) 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@5288.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_805) begin
          $fatal; // @[Monitor.scala 105: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_95 & _T_191) 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@5295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106: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_95 & _T_198) 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@5302.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_933) 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@5310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_933) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@5318.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5319.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1038) 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@5425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1038) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@5432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5433.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 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@5439.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 115: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_105 & _T_455) 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@5447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@5455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5456.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_1056) 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@5466.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_1056) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5467.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1072) 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@5483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1072) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1076) 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@5491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1076) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1080) 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@5499.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1080) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5500.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1084) 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@5507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1084) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1088) 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@5515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1088) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1072) 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@5525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1072) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@5532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1076) 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@5540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1076) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1103) 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@5548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1103) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1107) 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@5556.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1107) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1084) 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@5564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1084) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@5573.10]
        end
    `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@5574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1072) 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@5583.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1072) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@5590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1076) 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@5598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1076) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1103) 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@5606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1103) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1107) 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@5614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1107) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1140) 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@5623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1140) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@5632.10]
        end
    `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@5633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1072) 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@5642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1072) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1080) 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@5650.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1080) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1084) 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@5658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1084) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@5667.10]
        end
    `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@5668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1072) 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@5677.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1072) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5678.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1080) 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@5685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1080) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1140) 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@5694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1140) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@5703.10]
        end
    `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@5704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1072) 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@5713.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1072) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5714.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1080) 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@5721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1080) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1084) 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@5729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1084) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@5738.10]
        end
    `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@5739.10]
        end
    `ifdef STOP_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@5748.6]
        end
    `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@5749.6]
        end
    `ifdef STOP_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@5756.6]
        end
    `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@5757.6]
        end
    `ifdef STOP_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@5764.6]
        end
    `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@5765.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1247) 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@5804.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1247) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5805.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1251) 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@5812.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1251) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5813.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1255) 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@5820.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1255) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5821.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1259) 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@5828.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1259) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5829.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1263) 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@5836.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1263) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5837.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1304) 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@5886.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1304) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5887.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1308) 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@5894.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1308) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5895.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1312) 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@5902.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1312) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5903.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1316) 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@5910.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1316) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5911.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1320) 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@5918.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1320) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5919.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1324) 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@5926.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1324) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1375 & _T_1383) 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@6004.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1375 & _T_1383) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6005.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1391 & _T_1398) 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@6027.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1391 & _T_1398) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6028.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1412) 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@6048.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1412) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6049.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6061.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6062.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6063.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_6_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_6_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_6_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_6_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_6_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_6_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [28:0] auto_out_6_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_6_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_6_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_6_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_6_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_6_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_6_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [1:0]  auto_out_6_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_6_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_6_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_6_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_6_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_6_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_6_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_5_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_5_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_5_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_5_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_5_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_5_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [16:0] auto_out_5_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_5_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_5_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_5_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_5_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_5_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_5_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_5_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_4_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_4_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_4_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_4_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_4_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_4_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_4_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_4_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_4_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_4_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_4_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_4_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_4_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [1:0]  auto_out_4_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_4_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_4_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_4_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_4_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_4_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_4_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_3_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_3_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_3_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_3_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_3_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_3_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [11:0] auto_out_3_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_3_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_3_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_3_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_3_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_3_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_3_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_3_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_3_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_3_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_2_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_2_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_2_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_2_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_2_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_2_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [25:0] auto_out_2_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_2_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_2_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_2_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_2_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_2_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_2_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_2_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_2_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_2_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [27:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_1_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [30:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [1:0]  auto_out_0_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [3:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_0_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input  [31:0] auto_out_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6064.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.4]
  reg [9:0] _T_2303; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6820.4]
  reg [31:0] _RAND_0;
  wire  _T_2304; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6821.4]
  wire [1:0] _T_2309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
  wire [1:0] _T_2308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
  wire [3:0] _T_2310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
  wire [1:0] _T_2306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6823.4]
  wire [2:0] _T_2307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6824.4]
  wire [6:0] _T_2311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
  reg [6:0] _T_2319; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@6839.4]
  reg [31:0] _RAND_1;
  wire [6:0] _T_2320; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6840.4]
  wire [6:0] _T_2321; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6841.4]
  wire [13:0] _T_2322; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6842.4]
  wire [12:0] _T_2323; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6843.4]
  wire [13:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6844.4]
  wire [13:0] _T_2324; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6844.4]
  wire [11:0] _T_2325; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6845.4]
  wire [13:0] _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  wire [13:0] _T_2326; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  wire [9:0] _T_2327; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [13:0] _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6848.4]
  wire [13:0] _T_2328; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6848.4]
  wire [12:0] _T_2330; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6850.4]
  wire [13:0] _GEN_4; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6851.4]
  wire [13:0] _T_2331; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6851.4]
  wire [13:0] _GEN_5; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6852.4]
  wire [13:0] _T_2332; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6852.4]
  wire [6:0] _T_2333; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6853.4]
  wire [6:0] _T_2334; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6854.4]
  wire [6:0] _T_2335; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@6855.4]
  wire [6:0] _T_2336; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6856.4]
  wire  _T_2351; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6874.4]
  wire  _T_2371; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6890.4]
  reg  _T_2494_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_2;
  wire  _T_2520_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [4:0] _T_2591; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7041.4]
  wire [4:0] _T_2590; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7040.4]
  wire [9:0] _T_2592; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7042.4]
  wire [1:0] _T_2588; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7038.4]
  wire [32:0] _T_2587; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7037.4]
  wire [34:0] _T_2589; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7039.4]
  wire [44:0] _T_2593; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7043.4]
  wire [44:0] _T_2594; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7044.4]
  wire  _T_2352; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6875.4]
  wire  _T_2372; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6891.4]
  reg  _T_2494_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_3;
  wire  _T_2520_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [4:0] _T_2599; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7049.4]
  wire [3:0] out_1_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6161.4]
  wire [4:0] _T_2598; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7048.4]
  wire [9:0] _T_2600; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7050.4]
  wire [32:0] _T_2595; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7045.4]
  wire [34:0] _T_2597; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7047.4]
  wire [44:0] _T_2601; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7051.4]
  wire [44:0] _T_2602; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7052.4]
  wire [44:0] _T_2643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7093.4]
  wire  _T_2353; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6876.4]
  wire  _T_2373; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6892.4]
  reg  _T_2494_2; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_4;
  wire  _T_2520_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [4:0] _T_2607; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7057.4]
  wire [3:0] out_2_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6171.4]
  wire [4:0] _T_2606; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7056.4]
  wire [9:0] _T_2608; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7058.4]
  wire [32:0] _T_2603; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7053.4]
  wire [34:0] _T_2605; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7055.4]
  wire [44:0] _T_2609; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7059.4]
  wire [44:0] _T_2610; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7060.4]
  wire [44:0] _T_2644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7094.4]
  wire  _T_2354; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6877.4]
  wire  _T_2374; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6893.4]
  reg  _T_2494_3; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_5;
  wire  _T_2520_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [4:0] _T_2615; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7065.4]
  wire [3:0] out_3_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6181.4]
  wire [4:0] _T_2614; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7064.4]
  wire [9:0] _T_2616; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7066.4]
  wire [32:0] _T_2611; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7061.4]
  wire [34:0] _T_2613; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7063.4]
  wire [44:0] _T_2617; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7067.4]
  wire [44:0] _T_2618; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7068.4]
  wire [44:0] _T_2645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7095.4]
  wire  _T_2355; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6878.4]
  wire  _T_2375; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6894.4]
  reg  _T_2494_4; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_6;
  wire  _T_2520_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [4:0] _T_2623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7073.4]
  wire [3:0] out_4_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6191.4]
  wire [4:0] _T_2622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7072.4]
  wire [9:0] _T_2624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7074.4]
  wire [1:0] _T_2620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7070.4]
  wire [32:0] _T_2619; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7069.4]
  wire [34:0] _T_2621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7071.4]
  wire [44:0] _T_2625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7075.4]
  wire [44:0] _T_2626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7076.4]
  wire [44:0] _T_2646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7096.4]
  wire  _T_2356; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6879.4]
  wire  _T_2376; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6895.4]
  reg  _T_2494_5; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_7;
  wire  _T_2520_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [3:0] out_5_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6201.4]
  wire [4:0] _T_2630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7080.4]
  wire [9:0] _T_2632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7082.4]
  wire [32:0] _T_2627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7077.4]
  wire [34:0] _T_2629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7079.4]
  wire [44:0] _T_2633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7083.4]
  wire [44:0] _T_2634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7084.4]
  wire [44:0] _T_2647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7097.4]
  wire  _T_2357; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6880.4]
  wire  _T_2377; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6896.4]
  reg  _T_2494_6; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.4]
  reg [31:0] _RAND_8;
  wire  _T_2520_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  wire [4:0] _T_2639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7089.4]
  wire [3:0] out_6_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6211.4]
  wire [4:0] _T_2638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7088.4]
  wire [9:0] _T_2640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7090.4]
  wire [1:0] _T_2636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7086.4]
  wire [32:0] _T_2635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7085.4]
  wire [34:0] _T_2637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7087.4]
  wire [44:0] _T_2641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7091.4]
  wire [44:0] _T_2642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7092.4]
  wire [44:0] _T_2648; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7098.4]
  wire [31:0] _T_1450; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6216.4]
  wire [32:0] _T_1451; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6217.4]
  wire [32:0] _T_1452; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6218.4]
  wire [32:0] _T_1453; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6219.4]
  wire  _T_1454; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6220.4]
  wire [31:0] _T_1455; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6221.4]
  wire [32:0] _T_1456; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6222.4]
  wire [32:0] _T_1457; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6223.4]
  wire [32:0] _T_1458; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6224.4]
  wire  _T_1459; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6225.4]
  wire [31:0] _T_1460; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6226.4]
  wire [32:0] _T_1461; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6227.4]
  wire [32:0] _T_1462; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6228.4]
  wire [32:0] _T_1463; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6229.4]
  wire  _T_1464; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6230.4]
  wire [31:0] _T_1465; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6231.4]
  wire [32:0] _T_1466; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6232.4]
  wire [32:0] _T_1467; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6233.4]
  wire [32:0] _T_1468; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6234.4]
  wire  _T_1469; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6235.4]
  wire [31:0] _T_1470; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6236.4]
  wire [32:0] _T_1471; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6237.4]
  wire [32:0] _T_1472; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6238.4]
  wire [32:0] _T_1473; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6239.4]
  wire  _T_1474; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6240.4]
  wire  _T_1475; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6241.4]
  wire  _T_1476; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6242.4]
  wire  _T_1477; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6243.4]
  wire  requestAIO_0_0; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6244.4]
  wire [31:0] _T_1479; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6246.4]
  wire [32:0] _T_1480; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6247.4]
  wire [32:0] _T_1481; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6248.4]
  wire [32:0] _T_1482; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6249.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6250.4]
  wire [31:0] _T_1484; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6252.4]
  wire [32:0] _T_1485; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6253.4]
  wire [32:0] _T_1486; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6254.4]
  wire [32:0] _T_1487; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6255.4]
  wire  requestAIO_0_2; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6256.4]
  wire [32:0] _T_1490; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6259.4]
  wire [32:0] _T_1491; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6260.4]
  wire [32:0] _T_1492; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6261.4]
  wire  requestAIO_0_3; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6262.4]
  wire [31:0] _T_1494; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6264.4]
  wire [32:0] _T_1495; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6265.4]
  wire [32:0] _T_1496; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6266.4]
  wire [32:0] _T_1497; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6267.4]
  wire  _T_1498; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6268.4]
  wire [31:0] _T_1499; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6269.4]
  wire [32:0] _T_1500; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6270.4]
  wire [32:0] _T_1501; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6271.4]
  wire [32:0] _T_1502; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6272.4]
  wire  _T_1503; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6273.4]
  wire  requestAIO_0_4; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6274.4]
  wire [31:0] _T_1505; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6276.4]
  wire [32:0] _T_1506; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6277.4]
  wire [32:0] _T_1507; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6278.4]
  wire [32:0] _T_1508; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6279.4]
  wire  requestAIO_0_5; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6280.4]
  wire [31:0] _T_1510; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6282.4]
  wire [32:0] _T_1511; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6283.4]
  wire [32:0] _T_1512; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6284.4]
  wire [32:0] _T_1513; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6285.4]
  wire  requestAIO_0_6; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6286.4]
  wire [26:0] _T_1711; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6514.4]
  wire [11:0] _T_1712; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6515.4]
  wire [11:0] _T_1713; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6516.4]
  wire [9:0] _T_1714; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6517.4]
  wire  _T_1715; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6518.4]
  wire [9:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6519.4]
  wire [20:0] _T_1717; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6521.4]
  wire [5:0] _T_1718; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6522.4]
  wire [5:0] _T_1719; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6523.4]
  wire [3:0] _T_1720; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6524.4]
  wire  _T_1721; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6525.4]
  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6526.4]
  wire [20:0] _T_1723; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6528.4]
  wire [5:0] _T_1724; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6529.4]
  wire [5:0] _T_1725; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6530.4]
  wire [3:0] _T_1726; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6531.4]
  wire  _T_1727; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6532.4]
  wire [3:0] beatsDO_2; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6533.4]
  wire [20:0] _T_1729; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6535.4]
  wire [5:0] _T_1730; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6536.4]
  wire [5:0] _T_1731; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6537.4]
  wire [3:0] _T_1732; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6538.4]
  wire  _T_1733; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6539.4]
  wire [3:0] beatsDO_3; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6540.4]
  wire [20:0] _T_1735; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6542.4]
  wire [5:0] _T_1736; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6543.4]
  wire [5:0] _T_1737; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6544.4]
  wire [3:0] _T_1738; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6545.4]
  wire  _T_1739; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6546.4]
  wire [3:0] beatsDO_4; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6547.4]
  wire [20:0] _T_1741; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6549.4]
  wire [5:0] _T_1742; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6550.4]
  wire [5:0] _T_1743; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6551.4]
  wire [3:0] beatsDO_5; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6552.4]
  wire [20:0] _T_1747; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6556.4]
  wire [5:0] _T_1748; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6557.4]
  wire [5:0] _T_1749; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6558.4]
  wire [3:0] _T_1750; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6559.4]
  wire  _T_1751; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6560.4]
  wire [3:0] beatsDO_6; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6561.4]
  wire  _T_1827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6592.4]
  wire  _T_1828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6593.4]
  wire  _T_1829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6594.4]
  wire  _T_1830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6595.4]
  wire  _T_1831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6596.4]
  wire  _T_1832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6597.4]
  wire  _T_1833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6598.4]
  wire  _T_1834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6599.4]
  wire  _T_1835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6600.4]
  wire  _T_1836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6601.4]
  wire  _T_1837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6602.4]
  wire  _T_1838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6603.4]
  wire  _T_2305; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6822.4]
  wire  _T_2313; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
  wire  _T_2315; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
  wire  _T_2316; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6833.4]
  wire  _T_2337; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6857.4]
  wire  _T_2338; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6858.4]
  wire [6:0] _T_2339; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6860.6]
  wire [7:0] _GEN_6; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6861.6]
  wire [7:0] _T_2340; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6861.6]
  wire [6:0] _T_2341; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6862.6]
  wire [6:0] _T_2342; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6863.6]
  wire [8:0] _GEN_7; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6864.6]
  wire [8:0] _T_2343; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6864.6]
  wire [6:0] _T_2344; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6865.6]
  wire [6:0] _T_2345; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6866.6]
  wire [10:0] _GEN_8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6867.6]
  wire [10:0] _T_2346; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6867.6]
  wire [6:0] _T_2347; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6868.6]
  wire [6:0] _T_2348; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6869.6]
  wire  _T_2392; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6907.4]
  wire  _T_2393; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6908.4]
  wire  _T_2394; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6909.4]
  wire  _T_2395; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6910.4]
  wire  _T_2396; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6911.4]
  wire  _T_2397; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6912.4]
  wire  _T_2399; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6914.4]
  wire  _T_2402; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6917.4]
  wire  _T_2403; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6918.4]
  wire  _T_2404; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6919.4]
  wire  _T_2405; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6920.4]
  wire  _T_2406; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6921.4]
  wire  _T_2407; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6922.4]
  wire  _T_2408; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6923.4]
  wire  _T_2409; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6924.4]
  wire  _T_2410; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6925.4]
  wire  _T_2411; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6926.4]
  wire  _T_2412; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6927.4]
  wire  _T_2413; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6928.4]
  wire  _T_2414; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6929.4]
  wire  _T_2415; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6930.4]
  wire  _T_2416; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6931.4]
  wire  _T_2417; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6932.4]
  wire  _T_2418; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6933.4]
  wire  _T_2420; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6935.4]
  wire  _T_2421; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6936.4]
  wire  _T_2422; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6937.4]
  wire  _T_2423; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6938.4]
  wire  _T_2424; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6939.4]
  wire  _T_2426; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6941.4]
  wire  _T_2427; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6942.4]
  wire  _T_2428; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6947.4]
  wire  _T_2429; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6948.4]
  wire  _T_2430; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6949.4]
  wire  _T_2431; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6950.4]
  wire  _T_2432; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6951.4]
  wire  _T_2433; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6952.4]
  wire  _T_2434; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@6953.4]
  wire  _T_2441; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6960.4]
  wire  _T_2443; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6962.4]
  wire  _T_2444; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6963.4]
  wire [9:0] _T_2445; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6968.4]
  wire [3:0] _T_2446; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6969.4]
  wire [3:0] _T_2447; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6970.4]
  wire [3:0] _T_2448; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6971.4]
  wire [3:0] _T_2449; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6972.4]
  wire [3:0] _T_2450; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6973.4]
  wire [3:0] _T_2451; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6974.4]
  wire [9:0] _GEN_9; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6975.4]
  wire [9:0] _T_2452; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6975.4]
  wire [9:0] _GEN_10; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6976.4]
  wire [9:0] _T_2453; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6976.4]
  wire [9:0] _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6977.4]
  wire [9:0] _T_2454; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6977.4]
  wire [9:0] _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6978.4]
  wire [9:0] _T_2455; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6978.4]
  wire [9:0] _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6979.4]
  wire [9:0] _T_2456; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6979.4]
  wire [9:0] _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  wire [9:0] _T_2457; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  wire  _T_2570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7020.4]
  wire  _T_2571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7021.4]
  wire  _T_2577; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7027.4]
  wire  _T_2572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7022.4]
  wire  _T_2578; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7028.4]
  wire  _T_2573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7023.4]
  wire  _T_2579; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7029.4]
  wire  _T_2574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7024.4]
  wire  _T_2580; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7030.4]
  wire  _T_2575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7025.4]
  wire  _T_2581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7031.4]
  wire  _T_2576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7026.4]
  wire  _T_2582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7032.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7035.4]
  wire  _T_2458; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@6981.4]
  wire [9:0] _GEN_15; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6982.4]
  wire [10:0] _T_2459; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6982.4]
  wire [10:0] _T_2460; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6983.4]
  wire [9:0] _T_2461; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6984.4]
  wire  _T_2538_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  wire  _T_2538_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  wire  _T_2538_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  wire  _T_2538_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  wire  _T_2538_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  wire  _T_2538_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  wire  _T_2538_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  TLMonitor_2 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6071.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_2304 = _T_2303 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6821.4]
  assign _T_2309 = {auto_out_6_d_valid,auto_out_5_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
  assign _T_2308 = {auto_out_4_d_valid,auto_out_3_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
  assign _T_2310 = {_T_2309,_T_2308}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
  assign _T_2306 = {auto_out_2_d_valid,auto_out_1_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6823.4]
  assign _T_2307 = {_T_2306,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6824.4]
  assign _T_2311 = {_T_2310,_T_2307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
  assign _T_2320 = ~ _T_2319; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6840.4]
  assign _T_2321 = _T_2311 & _T_2320; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6841.4]
  assign _T_2322 = {_T_2321,_T_2311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6842.4]
  assign _T_2323 = _T_2322[13:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6843.4]
  assign _GEN_1 = {{1'd0}, _T_2323}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6844.4]
  assign _T_2324 = _T_2322 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6844.4]
  assign _T_2325 = _T_2324[13:2]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6845.4]
  assign _GEN_2 = {{2'd0}, _T_2325}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  assign _T_2326 = _T_2324 | _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  assign _T_2327 = _T_2326[13:4]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _GEN_3 = {{4'd0}, _T_2327}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6848.4]
  assign _T_2328 = _T_2326 | _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6848.4]
  assign _T_2330 = _T_2328[13:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6850.4]
  assign _GEN_4 = {{7'd0}, _T_2319}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6851.4]
  assign _T_2331 = _GEN_4 << 7; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6851.4]
  assign _GEN_5 = {{1'd0}, _T_2330}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6852.4]
  assign _T_2332 = _GEN_5 | _T_2331; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6852.4]
  assign _T_2333 = _T_2332[13:7]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6853.4]
  assign _T_2334 = _T_2332[6:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6854.4]
  assign _T_2335 = _T_2333 & _T_2334; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@6855.4]
  assign _T_2336 = ~ _T_2335; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6856.4]
  assign _T_2351 = _T_2336[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6874.4]
  assign _T_2371 = _T_2351 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6890.4]
  assign _T_2520_0 = _T_2304 ? _T_2371 : _T_2494_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign _T_2591 = {auto_out_0_d_bits_opcode,auto_out_0_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7041.4]
  assign _T_2590 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7040.4]
  assign _T_2592 = {_T_2591,_T_2590}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7042.4]
  assign _T_2588 = {auto_out_0_d_bits_sink,auto_out_0_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7038.4]
  assign _T_2587 = {auto_out_0_d_bits_data,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7037.4]
  assign _T_2589 = {_T_2588,_T_2587}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7039.4]
  assign _T_2593 = {_T_2592,_T_2589}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7043.4]
  assign _T_2594 = _T_2520_0 ? _T_2593 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7044.4]
  assign _T_2352 = _T_2336[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6875.4]
  assign _T_2372 = _T_2352 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6891.4]
  assign _T_2520_1 = _T_2304 ? _T_2372 : _T_2494_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign _T_2599 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7049.4]
  assign out_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6161.4]
  assign _T_2598 = {out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7048.4]
  assign _T_2600 = {_T_2599,_T_2598}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7050.4]
  assign _T_2595 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7045.4]
  assign _T_2597 = {2'h0,_T_2595}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7047.4]
  assign _T_2601 = {_T_2600,_T_2597}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7051.4]
  assign _T_2602 = _T_2520_1 ? _T_2601 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7052.4]
  assign _T_2643 = _T_2594 | _T_2602; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7093.4]
  assign _T_2353 = _T_2336[2]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6876.4]
  assign _T_2373 = _T_2353 & auto_out_2_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6892.4]
  assign _T_2520_2 = _T_2304 ? _T_2373 : _T_2494_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign _T_2607 = {auto_out_2_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7057.4]
  assign out_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6171.4]
  assign _T_2606 = {out_2_d_bits_size,auto_out_2_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7056.4]
  assign _T_2608 = {_T_2607,_T_2606}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7058.4]
  assign _T_2603 = {auto_out_2_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7053.4]
  assign _T_2605 = {2'h0,_T_2603}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7055.4]
  assign _T_2609 = {_T_2608,_T_2605}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7059.4]
  assign _T_2610 = _T_2520_2 ? _T_2609 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7060.4]
  assign _T_2644 = _T_2643 | _T_2610; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7094.4]
  assign _T_2354 = _T_2336[3]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6877.4]
  assign _T_2374 = _T_2354 & auto_out_3_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6893.4]
  assign _T_2520_3 = _T_2304 ? _T_2374 : _T_2494_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign _T_2615 = {auto_out_3_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7065.4]
  assign out_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6181.4]
  assign _T_2614 = {out_3_d_bits_size,auto_out_3_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7064.4]
  assign _T_2616 = {_T_2615,_T_2614}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7066.4]
  assign _T_2611 = {auto_out_3_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7061.4]
  assign _T_2613 = {2'h0,_T_2611}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7063.4]
  assign _T_2617 = {_T_2616,_T_2613}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7067.4]
  assign _T_2618 = _T_2520_3 ? _T_2617 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7068.4]
  assign _T_2645 = _T_2644 | _T_2618; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7095.4]
  assign _T_2355 = _T_2336[4]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6878.4]
  assign _T_2375 = _T_2355 & auto_out_4_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6894.4]
  assign _T_2520_4 = _T_2304 ? _T_2375 : _T_2494_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign _T_2623 = {auto_out_4_d_bits_opcode,auto_out_4_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7073.4]
  assign out_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6191.4]
  assign _T_2622 = {out_4_d_bits_size,auto_out_4_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7072.4]
  assign _T_2624 = {_T_2623,_T_2622}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7074.4]
  assign _T_2620 = {auto_out_4_d_bits_sink,auto_out_4_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7070.4]
  assign _T_2619 = {auto_out_4_d_bits_data,auto_out_4_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7069.4]
  assign _T_2621 = {_T_2620,_T_2619}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7071.4]
  assign _T_2625 = {_T_2624,_T_2621}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7075.4]
  assign _T_2626 = _T_2520_4 ? _T_2625 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7076.4]
  assign _T_2646 = _T_2645 | _T_2626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7096.4]
  assign _T_2356 = _T_2336[5]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6879.4]
  assign _T_2376 = _T_2356 & auto_out_5_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6895.4]
  assign _T_2520_5 = _T_2304 ? _T_2376 : _T_2494_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign out_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6201.4]
  assign _T_2630 = {out_5_d_bits_size,auto_out_5_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7080.4]
  assign _T_2632 = {5'h4,_T_2630}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7082.4]
  assign _T_2627 = {auto_out_5_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7077.4]
  assign _T_2629 = {2'h0,_T_2627}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7079.4]
  assign _T_2633 = {_T_2632,_T_2629}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7083.4]
  assign _T_2634 = _T_2520_5 ? _T_2633 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7084.4]
  assign _T_2647 = _T_2646 | _T_2634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7097.4]
  assign _T_2357 = _T_2336[6]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6880.4]
  assign _T_2377 = _T_2357 & auto_out_6_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6896.4]
  assign _T_2520_6 = _T_2304 ? _T_2377 : _T_2494_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6997.4]
  assign _T_2639 = {auto_out_6_d_bits_opcode,auto_out_6_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7089.4]
  assign out_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6144.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6211.4]
  assign _T_2638 = {out_6_d_bits_size,auto_out_6_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7088.4]
  assign _T_2640 = {_T_2639,_T_2638}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7090.4]
  assign _T_2636 = {auto_out_6_d_bits_sink,auto_out_6_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7086.4]
  assign _T_2635 = {auto_out_6_d_bits_data,auto_out_6_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7085.4]
  assign _T_2637 = {_T_2636,_T_2635}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7087.4]
  assign _T_2641 = {_T_2640,_T_2637}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7091.4]
  assign _T_2642 = _T_2520_6 ? _T_2641 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7092.4]
  assign _T_2648 = _T_2647 | _T_2642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7098.4]
  assign _T_1450 = auto_in_a_bits_address ^ 32'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6216.4]
  assign _T_1451 = {1'b0,$signed(_T_1450)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6217.4]
  assign _T_1452 = $signed(_T_1451) & $signed(33'sheff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6218.4]
  assign _T_1453 = $signed(_T_1452); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6219.4]
  assign _T_1454 = $signed(_T_1453) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6220.4]
  assign _T_1455 = auto_in_a_bits_address ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6221.4]
  assign _T_1456 = {1'b0,$signed(_T_1455)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6222.4]
  assign _T_1457 = $signed(_T_1456) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6223.4]
  assign _T_1458 = $signed(_T_1457); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6224.4]
  assign _T_1459 = $signed(_T_1458) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6225.4]
  assign _T_1460 = auto_in_a_bits_address ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6226.4]
  assign _T_1461 = {1'b0,$signed(_T_1460)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6227.4]
  assign _T_1462 = $signed(_T_1461) & $signed(33'shfff8d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6228.4]
  assign _T_1463 = $signed(_T_1462); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6229.4]
  assign _T_1464 = $signed(_T_1463) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6230.4]
  assign _T_1465 = auto_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6231.4]
  assign _T_1466 = {1'b0,$signed(_T_1465)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6232.4]
  assign _T_1467 = $signed(_T_1466) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6233.4]
  assign _T_1468 = $signed(_T_1467); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6234.4]
  assign _T_1469 = $signed(_T_1468) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6235.4]
  assign _T_1470 = auto_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6236.4]
  assign _T_1471 = {1'b0,$signed(_T_1470)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6237.4]
  assign _T_1472 = $signed(_T_1471) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6238.4]
  assign _T_1473 = $signed(_T_1472); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6239.4]
  assign _T_1474 = $signed(_T_1473) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6240.4]
  assign _T_1475 = _T_1454 | _T_1459; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6241.4]
  assign _T_1476 = _T_1475 | _T_1464; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6242.4]
  assign _T_1477 = _T_1476 | _T_1469; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6243.4]
  assign requestAIO_0_0 = _T_1477 | _T_1474; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6244.4]
  assign _T_1479 = auto_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6246.4]
  assign _T_1480 = {1'b0,$signed(_T_1479)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6247.4]
  assign _T_1481 = $signed(_T_1480) & $signed(33'shfc000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6248.4]
  assign _T_1482 = $signed(_T_1481); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6249.4]
  assign requestAIO_0_1 = $signed(_T_1482) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6250.4]
  assign _T_1484 = auto_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6252.4]
  assign _T_1485 = {1'b0,$signed(_T_1484)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6253.4]
  assign _T_1486 = $signed(_T_1485) & $signed(33'shfff90000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6254.4]
  assign _T_1487 = $signed(_T_1486); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6255.4]
  assign requestAIO_0_2 = $signed(_T_1487) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6256.4]
  assign _T_1490 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6259.4]
  assign _T_1491 = $signed(_T_1490) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6260.4]
  assign _T_1492 = $signed(_T_1491); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6261.4]
  assign requestAIO_0_3 = $signed(_T_1492) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6262.4]
  assign _T_1494 = auto_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6264.4]
  assign _T_1495 = {1'b0,$signed(_T_1494)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6265.4]
  assign _T_1496 = $signed(_T_1495) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6266.4]
  assign _T_1497 = $signed(_T_1496); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6267.4]
  assign _T_1498 = $signed(_T_1497) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6268.4]
  assign _T_1499 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6269.4]
  assign _T_1500 = {1'b0,$signed(_T_1499)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6270.4]
  assign _T_1501 = $signed(_T_1500) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6271.4]
  assign _T_1502 = $signed(_T_1501); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6272.4]
  assign _T_1503 = $signed(_T_1502) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6273.4]
  assign requestAIO_0_4 = _T_1498 | _T_1503; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6274.4]
  assign _T_1505 = auto_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6276.4]
  assign _T_1506 = {1'b0,$signed(_T_1505)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6277.4]
  assign _T_1507 = $signed(_T_1506) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6278.4]
  assign _T_1508 = $signed(_T_1507); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6279.4]
  assign requestAIO_0_5 = $signed(_T_1508) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6280.4]
  assign _T_1510 = auto_in_a_bits_address ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6282.4]
  assign _T_1511 = {1'b0,$signed(_T_1510)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6283.4]
  assign _T_1512 = $signed(_T_1511) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6284.4]
  assign _T_1513 = $signed(_T_1512); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6285.4]
  assign requestAIO_0_6 = $signed(_T_1513) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6286.4]
  assign _T_1711 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6514.4]
  assign _T_1712 = _T_1711[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6515.4]
  assign _T_1713 = ~ _T_1712; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6516.4]
  assign _T_1714 = _T_1713[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6517.4]
  assign _T_1715 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6518.4]
  assign beatsDO_0 = _T_1715 ? _T_1714 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6519.4]
  assign _T_1717 = 21'h3f << out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6521.4]
  assign _T_1718 = _T_1717[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6522.4]
  assign _T_1719 = ~ _T_1718; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6523.4]
  assign _T_1720 = _T_1719[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6524.4]
  assign _T_1721 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6525.4]
  assign beatsDO_1 = _T_1721 ? _T_1720 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6526.4]
  assign _T_1723 = 21'h3f << out_2_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6528.4]
  assign _T_1724 = _T_1723[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6529.4]
  assign _T_1725 = ~ _T_1724; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6530.4]
  assign _T_1726 = _T_1725[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6531.4]
  assign _T_1727 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6532.4]
  assign beatsDO_2 = _T_1727 ? _T_1726 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6533.4]
  assign _T_1729 = 21'h3f << out_3_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6535.4]
  assign _T_1730 = _T_1729[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6536.4]
  assign _T_1731 = ~ _T_1730; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6537.4]
  assign _T_1732 = _T_1731[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6538.4]
  assign _T_1733 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6539.4]
  assign beatsDO_3 = _T_1733 ? _T_1732 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6540.4]
  assign _T_1735 = 21'h3f << out_4_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6542.4]
  assign _T_1736 = _T_1735[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6543.4]
  assign _T_1737 = ~ _T_1736; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6544.4]
  assign _T_1738 = _T_1737[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6545.4]
  assign _T_1739 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6546.4]
  assign beatsDO_4 = _T_1739 ? _T_1738 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6547.4]
  assign _T_1741 = 21'h3f << out_5_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6549.4]
  assign _T_1742 = _T_1741[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6550.4]
  assign _T_1743 = ~ _T_1742; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6551.4]
  assign beatsDO_5 = _T_1743[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6552.4]
  assign _T_1747 = 21'h3f << out_6_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6556.4]
  assign _T_1748 = _T_1747[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6557.4]
  assign _T_1749 = ~ _T_1748; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6558.4]
  assign _T_1750 = _T_1749[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6559.4]
  assign _T_1751 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6560.4]
  assign beatsDO_6 = _T_1751 ? _T_1750 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6561.4]
  assign _T_1827 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6592.4]
  assign _T_1828 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6593.4]
  assign _T_1829 = requestAIO_0_2 ? auto_out_2_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6594.4]
  assign _T_1830 = requestAIO_0_3 ? auto_out_3_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6595.4]
  assign _T_1831 = requestAIO_0_4 ? auto_out_4_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6596.4]
  assign _T_1832 = requestAIO_0_5 ? auto_out_5_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6597.4]
  assign _T_1833 = requestAIO_0_6 ? auto_out_6_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6598.4]
  assign _T_1834 = _T_1827 | _T_1828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6599.4]
  assign _T_1835 = _T_1834 | _T_1829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6600.4]
  assign _T_1836 = _T_1835 | _T_1830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6601.4]
  assign _T_1837 = _T_1836 | _T_1831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6602.4]
  assign _T_1838 = _T_1837 | _T_1832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6603.4]
  assign _T_2305 = _T_2304 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6822.4]
  assign _T_2313 = _T_2311 == _T_2311; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
  assign _T_2315 = _T_2313 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
  assign _T_2316 = _T_2315 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6833.4]
  assign _T_2337 = _T_2311 != 7'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6857.4]
  assign _T_2338 = _T_2305 & _T_2337; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6858.4]
  assign _T_2339 = _T_2336 & _T_2311; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6860.6]
  assign _GEN_6 = {{1'd0}, _T_2339}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6861.6]
  assign _T_2340 = _GEN_6 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6861.6]
  assign _T_2341 = _T_2340[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6862.6]
  assign _T_2342 = _T_2339 | _T_2341; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6863.6]
  assign _GEN_7 = {{2'd0}, _T_2342}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6864.6]
  assign _T_2343 = _GEN_7 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6864.6]
  assign _T_2344 = _T_2343[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6865.6]
  assign _T_2345 = _T_2342 | _T_2344; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6866.6]
  assign _GEN_8 = {{4'd0}, _T_2345}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6867.6]
  assign _T_2346 = _GEN_8 << 4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6867.6]
  assign _T_2347 = _T_2346[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6868.6]
  assign _T_2348 = _T_2345 | _T_2347; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6869.6]
  assign _T_2392 = _T_2371 | _T_2372; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6907.4]
  assign _T_2393 = _T_2392 | _T_2373; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6908.4]
  assign _T_2394 = _T_2393 | _T_2374; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6909.4]
  assign _T_2395 = _T_2394 | _T_2375; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6910.4]
  assign _T_2396 = _T_2395 | _T_2376; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6911.4]
  assign _T_2397 = _T_2396 | _T_2377; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6912.4]
  assign _T_2399 = _T_2371 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6914.4]
  assign _T_2402 = _T_2372 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6917.4]
  assign _T_2403 = _T_2399 | _T_2402; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6918.4]
  assign _T_2404 = _T_2392 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6919.4]
  assign _T_2405 = _T_2373 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6920.4]
  assign _T_2406 = _T_2404 | _T_2405; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6921.4]
  assign _T_2407 = _T_2393 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6922.4]
  assign _T_2408 = _T_2374 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6923.4]
  assign _T_2409 = _T_2407 | _T_2408; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6924.4]
  assign _T_2410 = _T_2394 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6925.4]
  assign _T_2411 = _T_2375 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6926.4]
  assign _T_2412 = _T_2410 | _T_2411; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6927.4]
  assign _T_2413 = _T_2395 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6928.4]
  assign _T_2414 = _T_2376 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6929.4]
  assign _T_2415 = _T_2413 | _T_2414; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6930.4]
  assign _T_2416 = _T_2396 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6931.4]
  assign _T_2417 = _T_2377 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6932.4]
  assign _T_2418 = _T_2416 | _T_2417; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6933.4]
  assign _T_2420 = _T_2403 & _T_2406; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6935.4]
  assign _T_2421 = _T_2420 & _T_2409; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6936.4]
  assign _T_2422 = _T_2421 & _T_2412; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6937.4]
  assign _T_2423 = _T_2422 & _T_2415; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6938.4]
  assign _T_2424 = _T_2423 & _T_2418; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6939.4]
  assign _T_2426 = _T_2424 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6941.4]
  assign _T_2427 = _T_2426 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6942.4]
  assign _T_2428 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6947.4]
  assign _T_2429 = _T_2428 | auto_out_2_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6948.4]
  assign _T_2430 = _T_2429 | auto_out_3_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6949.4]
  assign _T_2431 = _T_2430 | auto_out_4_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6950.4]
  assign _T_2432 = _T_2431 | auto_out_5_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6951.4]
  assign _T_2433 = _T_2432 | auto_out_6_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6952.4]
  assign _T_2434 = _T_2433 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@6953.4]
  assign _T_2441 = _T_2434 | _T_2397; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6960.4]
  assign _T_2443 = _T_2441 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6962.4]
  assign _T_2444 = _T_2443 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6963.4]
  assign _T_2445 = _T_2371 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6968.4]
  assign _T_2446 = _T_2372 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6969.4]
  assign _T_2447 = _T_2373 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6970.4]
  assign _T_2448 = _T_2374 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6971.4]
  assign _T_2449 = _T_2375 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6972.4]
  assign _T_2450 = _T_2376 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6973.4]
  assign _T_2451 = _T_2377 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6974.4]
  assign _GEN_9 = {{6'd0}, _T_2446}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6975.4]
  assign _T_2452 = _T_2445 | _GEN_9; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6975.4]
  assign _GEN_10 = {{6'd0}, _T_2447}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6976.4]
  assign _T_2453 = _T_2452 | _GEN_10; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6976.4]
  assign _GEN_11 = {{6'd0}, _T_2448}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6977.4]
  assign _T_2454 = _T_2453 | _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6977.4]
  assign _GEN_12 = {{6'd0}, _T_2449}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6978.4]
  assign _T_2455 = _T_2454 | _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6978.4]
  assign _GEN_13 = {{6'd0}, _T_2450}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6979.4]
  assign _T_2456 = _T_2455 | _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6979.4]
  assign _GEN_14 = {{6'd0}, _T_2451}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  assign _T_2457 = _T_2456 | _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  assign _T_2570 = _T_2494_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7020.4]
  assign _T_2571 = _T_2494_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7021.4]
  assign _T_2577 = _T_2570 | _T_2571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7027.4]
  assign _T_2572 = _T_2494_2 ? auto_out_2_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7022.4]
  assign _T_2578 = _T_2577 | _T_2572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7028.4]
  assign _T_2573 = _T_2494_3 ? auto_out_3_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7023.4]
  assign _T_2579 = _T_2578 | _T_2573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7029.4]
  assign _T_2574 = _T_2494_4 ? auto_out_4_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7024.4]
  assign _T_2580 = _T_2579 | _T_2574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7030.4]
  assign _T_2575 = _T_2494_5 ? auto_out_5_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7025.4]
  assign _T_2581 = _T_2580 | _T_2575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7031.4]
  assign _T_2576 = _T_2494_6 ? auto_out_6_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7026.4]
  assign _T_2582 = _T_2581 | _T_2576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@7032.4]
  assign in_0_d_valid = _T_2304 ? _T_2433 : _T_2582; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7035.4]
  assign _T_2458 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@6981.4]
  assign _GEN_15 = {{9'd0}, _T_2458}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6982.4]
  assign _T_2459 = _T_2303 - _GEN_15; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6982.4]
  assign _T_2460 = $unsigned(_T_2459); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6983.4]
  assign _T_2461 = _T_2460[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6984.4]
  assign _T_2538_0 = _T_2304 ? _T_2351 : _T_2494_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign _T_2538_1 = _T_2304 ? _T_2352 : _T_2494_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign _T_2538_2 = _T_2304 ? _T_2353 : _T_2494_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign _T_2538_3 = _T_2304 ? _T_2354 : _T_2494_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign _T_2538_4 = _T_2304 ? _T_2355 : _T_2494_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign _T_2538_5 = _T_2304 ? _T_2356 : _T_2494_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign _T_2538_6 = _T_2304 ? _T_2357 : _T_2494_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6999.4]
  assign auto_in_a_ready = _T_1838 | _T_1833; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_valid = _T_2304 ? _T_2433 : _T_2582; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_opcode = _T_2648[44:42]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_param = _T_2648[41:40]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_size = _T_2648[39:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_source = _T_2648[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_sink = _T_2648[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_denied = _T_2648[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_data = _T_2648[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_in_d_bits_corrupt = _T_2648[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_6_d_ready = auto_in_d_ready & _T_2538_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_address = auto_in_a_bits_address[16:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_5_d_ready = auto_in_d_ready & _T_2538_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_4_d_ready = auto_in_d_ready & _T_2538_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_address = auto_in_a_bits_address[11:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_3_d_ready = auto_in_d_ready & _T_2538_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6125.4]
  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_address = auto_in_a_bits_address[25:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_2_d_ready = auto_in_d_ready & _T_2538_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address[27:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_2538_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address[30:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_2538_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6073.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6074.4]
  assign TLMonitor_io_in_a_ready = _T_1838 | _T_1833; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_valid = _T_2304 ? _T_2433 : _T_2582; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_2648[44:42]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_param = _T_2648[41:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_size = _T_2648[39:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_source = _T_2648[35]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_sink = _T_2648[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_denied = _T_2648[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_2648[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6107.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_2303 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_2319 = _RAND_1[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_2494_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_2494_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_2494_2 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_2494_3 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_2494_4 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_2494_5 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_2494_6 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_2303 <= 10'h0;
    end else begin
      if (_T_2305) begin
        _T_2303 <= _T_2457;
      end else begin
        _T_2303 <= _T_2461;
      end
    end
    if (reset) begin
      _T_2319 <= 7'h7f;
    end else begin
      if (_T_2338) begin
        _T_2319 <= _T_2348;
      end
    end
    if (reset) begin
      _T_2494_0 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_0 <= _T_2371;
      end
    end
    if (reset) begin
      _T_2494_1 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_1 <= _T_2372;
      end
    end
    if (reset) begin
      _T_2494_2 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_2 <= _T_2373;
      end
    end
    if (reset) begin
      _T_2494_3 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_3 <= _T_2374;
      end
    end
    if (reset) begin
      _T_2494_4 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_4 <= _T_2375;
      end
    end
    if (reset) begin
      _T_2494_5 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_5 <= _T_2376;
      end
    end
    if (reset) begin
      _T_2494_6 <= 1'h0;
    end else begin
      if (_T_2304) begin
        _T_2494_6 <= _T_2377;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2316) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6835.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2316) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6836.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2427) 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@6944.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2427) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6945.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2444) 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@6965.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2444) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6966.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7127.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7128.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7129.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@8974.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@7146.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7151.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@7153.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@7154.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7155.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7156.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7156.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7159.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7160.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@7162.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@7163.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7164.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7165.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7166.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7168.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7169.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7171.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7172.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7173.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7174.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7175.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7176.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7177.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7178.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7179.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7180.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7181.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7182.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7183.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7184.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7185.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7186.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7187.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7188.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7189.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7190.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7194.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7215.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7218.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7219.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7220.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7221.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7222.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7223.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7224.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7225.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7226.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7227.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7228.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7229.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7230.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7231.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7232.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7233.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7234.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7235.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7236.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7237.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7238.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7239.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7240.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7241.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7242.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7243.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7244.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7245.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7246.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7247.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7248.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7249.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7250.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7251.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7252.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7253.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7254.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7255.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7256.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7257.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7258.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7259.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7260.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7261.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7262.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7263.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7264.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7265.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7266.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7267.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7268.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7269.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7270.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7271.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7272.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7275.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7276.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7277.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7278.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7279.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7280.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7281.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7282.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7283.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7284.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7285.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7286.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7287.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7288.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7289.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7290.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7291.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7292.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7293.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7294.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7295.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7296.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7311.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7324.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7325.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7332.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7333.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7339.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7340.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7345.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7347.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7348.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7353.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7354.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7356.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7357.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7362.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7364.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7365.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7371.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7509.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7511.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7512.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7535.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7538.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7546.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7548.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7621.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7622.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7623.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7624.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7625.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7626.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7627.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7628.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7629.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7630.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7631.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7632.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7633.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7634.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7636.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7638.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7639.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7658.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7660.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7661.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7666.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7668.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7669.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7683.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7762.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7763.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7764.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7765.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7766.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7767.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7768.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7769.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7770.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7785.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7788.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7789.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7825.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7899.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7900.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7901.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7902.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7903.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7904.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7905.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7906.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7927.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7930.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7931.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7958.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7959.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@7960.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7962.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7963.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7969.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7972.8]
  wire  _T_751; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@8019.8]
  wire  _T_752; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@8020.8]
  wire  _T_753; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@8021.8]
  wire  _T_754; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@8022.8]
  wire  _T_755; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.8]
  wire  _T_762; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@8030.8]
  wire  _T_801; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8069.8]
  wire  _T_804; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8072.8]
  wire  _T_805; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8073.8]
  wire  _T_812; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8092.8]
  wire  _T_814; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8094.8]
  wire  _T_815; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8095.8]
  wire  _T_820; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8109.6]
  wire  _T_930; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8232.8]
  wire  _T_932; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8234.8]
  wire  _T_933; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8235.8]
  wire  _T_938; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8249.6]
  wire  _T_1037; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8349.8]
  wire  _T_1038; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8350.8]
  wire  _T_1053; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8388.6]
  wire  _T_1055; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8390.6]
  wire  _T_1056; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8391.6]
  wire  _T_1058; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@8397.6]
  wire  _T_1067; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8402.6]
  wire  _T_1069; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8404.6]
  wire  _T_1071; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8407.8]
  wire  _T_1072; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8408.8]
  wire  _T_1073; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8413.8]
  wire  _T_1075; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8415.8]
  wire  _T_1076; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8416.8]
  wire  _T_1077; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8421.8]
  wire  _T_1079; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8423.8]
  wire  _T_1080; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8424.8]
  wire  _T_1081; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8429.8]
  wire  _T_1083; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8431.8]
  wire  _T_1084; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8432.8]
  wire  _T_1085; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8437.8]
  wire  _T_1087; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8439.8]
  wire  _T_1088; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8440.8]
  wire  _T_1089; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8446.6]
  wire  _T_1100; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8470.8]
  wire  _T_1102; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8472.8]
  wire  _T_1103; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8473.8]
  wire  _T_1104; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8478.8]
  wire  _T_1106; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8480.8]
  wire  _T_1107; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8481.8]
  wire  _T_1117; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8504.6]
  wire  _T_1137; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8545.8]
  wire  _T_1139; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8547.8]
  wire  _T_1140; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8548.8]
  wire  _T_1146; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8563.6]
  wire  _T_1163; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8598.6]
  wire  _T_1181; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8634.6]
  wire  _T_1210; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8694.4]
  wire [9:0] _T_1215; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8699.4]
  wire  _T_1216; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8700.4]
  wire  _T_1217; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8701.4]
  reg [9:0] _T_1220; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8703.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1221; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8704.4]
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8705.4]
  wire [9:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8706.4]
  wire  _T_1224; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8707.4]
  reg [2:0] _T_1233; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8718.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1235; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8719.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1237; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8720.4]
  reg [31:0] _RAND_3;
  reg  _T_1239; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8721.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1241; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8722.4]
  reg [31:0] _RAND_5;
  wire  _T_1242; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8723.4]
  wire  _T_1243; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8724.4]
  wire  _T_1244; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8726.6]
  wire  _T_1246; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8728.6]
  wire  _T_1247; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8729.6]
  wire  _T_1248; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8734.6]
  wire  _T_1250; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8736.6]
  wire  _T_1251; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8737.6]
  wire  _T_1252; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8742.6]
  wire  _T_1254; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8744.6]
  wire  _T_1255; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8745.6]
  wire  _T_1256; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8750.6]
  wire  _T_1258; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8752.6]
  wire  _T_1259; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8753.6]
  wire  _T_1260; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8758.6]
  wire  _T_1262; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8760.6]
  wire  _T_1263; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8761.6]
  wire  _T_1265; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8768.4]
  wire  _T_1266; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8776.4]
  wire [26:0] _T_1268; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@8778.4]
  wire [11:0] _T_1269; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@8779.4]
  wire [11:0] _T_1270; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8780.4]
  wire [9:0] _T_1271; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8781.4]
  wire  _T_1272; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8782.4]
  reg [9:0] _T_1275; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8784.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1276; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8785.4]
  wire [10:0] _T_1277; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8786.4]
  wire [9:0] _T_1278; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8787.4]
  wire  _T_1279; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8788.4]
  reg [2:0] _T_1288; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8799.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1290; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8800.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1292; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8801.4]
  reg [31:0] _RAND_9;
  reg  _T_1294; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8802.4]
  reg [31:0] _RAND_10;
  reg  _T_1296; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8803.4]
  reg [31:0] _RAND_11;
  reg  _T_1298; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  reg [31:0] _RAND_12;
  wire  _T_1299; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8805.4]
  wire  _T_1300; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_1301; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8808.6]
  wire  _T_1303; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8810.6]
  wire  _T_1304; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8811.6]
  wire  _T_1305; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8816.6]
  wire  _T_1307; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8818.6]
  wire  _T_1308; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8819.6]
  wire  _T_1309; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8824.6]
  wire  _T_1311; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8826.6]
  wire  _T_1312; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8827.6]
  wire  _T_1313; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8832.6]
  wire  _T_1315; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8834.6]
  wire  _T_1316; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8835.6]
  wire  _T_1317; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8840.6]
  wire  _T_1319; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8842.6]
  wire  _T_1320; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8843.6]
  wire  _T_1321; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8848.6]
  wire  _T_1323; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8850.6]
  wire  _T_1324; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8851.6]
  wire  _T_1326; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8858.4]
  reg [1:0] _T_1328; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8867.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1339; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8877.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1340; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8878.4]
  wire [10:0] _T_1341; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8879.4]
  wire [9:0] _T_1342; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8880.4]
  wire  _T_1343; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8881.4]
  reg [9:0] _T_1360; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8900.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1361; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8901.4]
  wire [10:0] _T_1362; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8902.4]
  wire [9:0] _T_1363; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8903.4]
  wire  _T_1364; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8904.4]
  wire  _T_1375; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8919.4]
  wire [1:0] _T_1377; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8922.6]
  wire [1:0] _T_1378; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8924.6]
  wire  _T_1379; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8925.6]
  wire  _T_1380; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8926.6]
  wire  _T_1382; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8928.6]
  wire  _T_1383; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8929.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8921.4]
  wire  _T_1388; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8940.4]
  wire  _T_1390; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@8942.4]
  wire  _T_1391; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8943.4]
  wire [1:0] _T_1392; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8945.6]
  wire [1:0] _T_1393; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8947.6]
  wire [1:0] _T_1394; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8948.6]
  wire  _T_1395; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8949.6]
  wire  _T_1397; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8951.6]
  wire  _T_1398; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8952.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@8944.4]
  wire  _T_1399; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8958.4]
  wire  _T_1400; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@8959.4]
  wire  _T_1401; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8960.4]
  wire  _T_1402; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8961.4]
  wire  _T_1404; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8963.4]
  wire  _T_1405; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8964.4]
  wire [1:0] _T_1406; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8969.4]
  wire [1:0] _T_1407; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@8970.4]
  wire [1:0] _T_1408; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8971.4]
  reg [31:0] _T_1410; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8973.4]
  reg [31:0] _RAND_16;
  wire  _T_1411; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8976.4]
  wire  _T_1412; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8977.4]
  wire  _T_1413; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  wire  _T_1414; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  wire  _T_1415; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  _T_1416; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8981.4]
  wire  _T_1418; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8983.4]
  wire  _T_1419; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8984.4]
  wire [31:0] _T_1421; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8990.4]
  wire  _T_1424; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7313.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7469.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7641.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7791.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7933.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8075.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8215.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8352.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8410.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8452.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8510.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8569.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8604.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8640.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@8974.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@7146.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7151.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@7153.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@7154.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7155.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7156.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7156.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7159.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7160.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@7162.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@7163.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7164.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7165.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7166.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7168.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7169.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7171.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7172.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7173.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7174.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7175.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7176.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7177.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7178.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7179.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7180.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7181.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7182.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7183.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7184.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7185.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7186.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7187.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7188.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7189.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7190.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7194.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7215.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7218.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7219.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7220.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7221.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7222.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7223.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7224.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7225.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7226.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7227.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7228.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7229.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7230.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7231.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7232.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7233.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7234.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7235.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7236.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7237.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7238.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7239.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7240.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7241.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7242.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7243.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7244.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7245.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7246.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7247.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7248.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7249.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7250.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7251.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7252.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7253.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7254.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7255.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7256.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7257.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7258.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7259.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7260.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7261.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7262.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7263.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7264.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7265.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7266.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7267.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7268.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7269.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7270.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7271.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7272.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7275.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7276.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7277.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7278.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7279.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7280.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7281.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7282.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7283.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7284.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7285.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7286.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7287.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7288.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7289.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7290.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7291.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7292.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7293.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7294.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7295.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7296.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7311.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7324.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7325.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7332.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7333.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7339.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7340.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7345.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7347.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7348.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7353.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7354.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7356.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7357.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7362.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7364.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7365.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7371.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7509.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7511.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7512.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7535.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7538.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7546.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7548.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7621.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7622.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7623.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7624.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7625.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7626.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7627.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7628.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7629.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7630.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7631.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7632.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7633.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7634.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7636.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7638.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7639.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7658.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7660.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7661.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7666.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7668.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7669.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7683.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7762.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7763.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7764.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7765.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7766.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7767.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7768.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7769.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7770.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7785.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7788.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7789.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7825.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7899.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7900.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7901.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7902.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7903.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7904.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7905.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7906.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7927.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7930.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7931.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7958.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7959.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@7960.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7962.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7963.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7969.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7972.8]
  assign _T_751 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@8019.8]
  assign _T_752 = _T_751 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@8020.8]
  assign _T_753 = _T_752 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@8021.8]
  assign _T_754 = _T_704 & _T_753; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@8022.8]
  assign _T_755 = 4'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.8]
  assign _T_762 = _T_755 & _T_161; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@8030.8]
  assign _T_801 = _T_754 | _T_762; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8069.8]
  assign _T_804 = _T_801 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8072.8]
  assign _T_805 = _T_804 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8073.8]
  assign _T_812 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8092.8]
  assign _T_814 = _T_812 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8094.8]
  assign _T_815 = _T_814 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8095.8]
  assign _T_820 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8109.6]
  assign _T_930 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8232.8]
  assign _T_932 = _T_930 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8234.8]
  assign _T_933 = _T_932 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8235.8]
  assign _T_938 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8249.6]
  assign _T_1037 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8349.8]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8350.8]
  assign _T_1053 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8388.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8390.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8391.6]
  assign _T_1058 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@8397.6]
  assign _T_1067 = io_in_d_bits_source | _T_1058; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8402.6]
  assign _T_1069 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8404.6]
  assign _T_1071 = _T_1067 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8407.8]
  assign _T_1072 = _T_1071 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8408.8]
  assign _T_1073 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8413.8]
  assign _T_1075 = _T_1073 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8415.8]
  assign _T_1076 = _T_1075 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8416.8]
  assign _T_1077 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8421.8]
  assign _T_1079 = _T_1077 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8423.8]
  assign _T_1080 = _T_1079 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8424.8]
  assign _T_1081 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8429.8]
  assign _T_1083 = _T_1081 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8431.8]
  assign _T_1084 = _T_1083 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8432.8]
  assign _T_1085 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8437.8]
  assign _T_1087 = _T_1085 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8439.8]
  assign _T_1088 = _T_1087 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8440.8]
  assign _T_1089 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8446.6]
  assign _T_1100 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8470.8]
  assign _T_1102 = _T_1100 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8472.8]
  assign _T_1103 = _T_1102 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8473.8]
  assign _T_1104 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8478.8]
  assign _T_1106 = _T_1104 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8480.8]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8481.8]
  assign _T_1117 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8504.6]
  assign _T_1137 = _T_1085 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8545.8]
  assign _T_1139 = _T_1137 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8547.8]
  assign _T_1140 = _T_1139 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8548.8]
  assign _T_1146 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8563.6]
  assign _T_1163 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8598.6]
  assign _T_1181 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8634.6]
  assign _T_1210 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8694.4]
  assign _T_1215 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8699.4]
  assign _T_1216 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8700.4]
  assign _T_1217 = _T_1216 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8701.4]
  assign _T_1221 = _T_1220 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8704.4]
  assign _T_1222 = $unsigned(_T_1221); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8705.4]
  assign _T_1223 = _T_1222[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8706.4]
  assign _T_1224 = _T_1220 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8707.4]
  assign _T_1242 = _T_1224 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8723.4]
  assign _T_1243 = io_in_a_valid & _T_1242; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8724.4]
  assign _T_1244 = io_in_a_bits_opcode == _T_1233; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8726.6]
  assign _T_1246 = _T_1244 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8728.6]
  assign _T_1247 = _T_1246 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8729.6]
  assign _T_1248 = io_in_a_bits_param == _T_1235; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8734.6]
  assign _T_1250 = _T_1248 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8736.6]
  assign _T_1251 = _T_1250 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8737.6]
  assign _T_1252 = io_in_a_bits_size == _T_1237; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8742.6]
  assign _T_1254 = _T_1252 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8744.6]
  assign _T_1255 = _T_1254 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8745.6]
  assign _T_1256 = io_in_a_bits_source == _T_1239; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8750.6]
  assign _T_1258 = _T_1256 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8752.6]
  assign _T_1259 = _T_1258 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8753.6]
  assign _T_1260 = io_in_a_bits_address == _T_1241; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8758.6]
  assign _T_1262 = _T_1260 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8760.6]
  assign _T_1263 = _T_1262 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8761.6]
  assign _T_1265 = _T_1210 & _T_1224; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8768.4]
  assign _T_1266 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8776.4]
  assign _T_1268 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@8778.4]
  assign _T_1269 = _T_1268[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@8779.4]
  assign _T_1270 = ~ _T_1269; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8780.4]
  assign _T_1271 = _T_1270[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8781.4]
  assign _T_1272 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8782.4]
  assign _T_1276 = _T_1275 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8785.4]
  assign _T_1277 = $unsigned(_T_1276); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8786.4]
  assign _T_1278 = _T_1277[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8787.4]
  assign _T_1279 = _T_1275 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8788.4]
  assign _T_1299 = _T_1279 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8805.4]
  assign _T_1300 = io_in_d_valid & _T_1299; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_1301 = io_in_d_bits_opcode == _T_1288; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8808.6]
  assign _T_1303 = _T_1301 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8810.6]
  assign _T_1304 = _T_1303 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8811.6]
  assign _T_1305 = io_in_d_bits_param == _T_1290; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8816.6]
  assign _T_1307 = _T_1305 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8818.6]
  assign _T_1308 = _T_1307 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8819.6]
  assign _T_1309 = io_in_d_bits_size == _T_1292; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8824.6]
  assign _T_1311 = _T_1309 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8826.6]
  assign _T_1312 = _T_1311 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8827.6]
  assign _T_1313 = io_in_d_bits_source == _T_1294; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8832.6]
  assign _T_1315 = _T_1313 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8834.6]
  assign _T_1316 = _T_1315 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8835.6]
  assign _T_1317 = io_in_d_bits_sink == _T_1296; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8840.6]
  assign _T_1319 = _T_1317 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8842.6]
  assign _T_1320 = _T_1319 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8843.6]
  assign _T_1321 = io_in_d_bits_denied == _T_1298; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8848.6]
  assign _T_1323 = _T_1321 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8850.6]
  assign _T_1324 = _T_1323 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8851.6]
  assign _T_1326 = _T_1266 & _T_1279; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8858.4]
  assign _T_1340 = _T_1339 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8878.4]
  assign _T_1341 = $unsigned(_T_1340); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8879.4]
  assign _T_1342 = _T_1341[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8880.4]
  assign _T_1343 = _T_1339 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8881.4]
  assign _T_1361 = _T_1360 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8901.4]
  assign _T_1362 = $unsigned(_T_1361); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8902.4]
  assign _T_1363 = _T_1362[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8903.4]
  assign _T_1364 = _T_1360 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8904.4]
  assign _T_1375 = _T_1210 & _T_1343; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8919.4]
  assign _T_1377 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8922.6]
  assign _T_1378 = _T_1328 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8924.6]
  assign _T_1379 = _T_1378[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8925.6]
  assign _T_1380 = _T_1379 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8926.6]
  assign _T_1382 = _T_1380 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8928.6]
  assign _T_1383 = _T_1382 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8929.6]
  assign _GEN_15 = _T_1375 ? _T_1377 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8921.4]
  assign _T_1388 = _T_1266 & _T_1364; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8940.4]
  assign _T_1390 = _T_1069 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@8942.4]
  assign _T_1391 = _T_1388 & _T_1390; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8943.4]
  assign _T_1392 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8945.6]
  assign _T_1393 = _GEN_15 | _T_1328; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8947.6]
  assign _T_1394 = _T_1393 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8948.6]
  assign _T_1395 = _T_1394[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8949.6]
  assign _T_1397 = _T_1395 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8951.6]
  assign _T_1398 = _T_1397 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8952.6]
  assign _GEN_16 = _T_1391 ? _T_1392 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@8944.4]
  assign _T_1399 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8958.4]
  assign _T_1400 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@8959.4]
  assign _T_1401 = _T_1400 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8960.4]
  assign _T_1402 = _T_1399 | _T_1401; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8961.4]
  assign _T_1404 = _T_1402 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8963.4]
  assign _T_1405 = _T_1404 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8964.4]
  assign _T_1406 = _T_1328 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8969.4]
  assign _T_1407 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@8970.4]
  assign _T_1408 = _T_1406 & _T_1407; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8971.4]
  assign _T_1411 = _T_1328 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8976.4]
  assign _T_1412 = _T_1411 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8977.4]
  assign _T_1413 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign _T_1414 = _T_1412 | _T_1413; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign _T_1415 = _T_1410 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  assign _T_1416 = _T_1414 | _T_1415; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8981.4]
  assign _T_1418 = _T_1416 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8983.4]
  assign _T_1419 = _T_1418 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8984.4]
  assign _T_1421 = _T_1410 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8990.4]
  assign _T_1424 = _T_1210 | _T_1266; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7313.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7469.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7641.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7791.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7933.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8075.10]
  assign _GEN_95 = io_in_a_valid & _T_820; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8215.10]
  assign _GEN_105 = io_in_a_valid & _T_938; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8352.10]
  assign _GEN_115 = io_in_d_valid & _T_1069; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8410.10]
  assign _GEN_125 = io_in_d_valid & _T_1089; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8452.10]
  assign _GEN_137 = io_in_d_valid & _T_1117; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8510.10]
  assign _GEN_149 = io_in_d_valid & _T_1146; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8569.10]
  assign _GEN_155 = io_in_d_valid & _T_1163; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8604.10]
  assign _GEN_161 = io_in_d_valid & _T_1181; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8640.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_1220 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1233 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1235 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1237 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1239 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1241 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1275 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1288 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1290 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1292 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1294 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1296 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1298 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1328 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1339 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1360 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1410 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1220 <= 10'h0;
    end else begin
      if (_T_1210) begin
        if (_T_1224) begin
          if (_T_1217) begin
            _T_1220 <= _T_1215;
          end else begin
            _T_1220 <= 10'h0;
          end
        end else begin
          _T_1220 <= _T_1223;
        end
      end
    end
    if (_T_1265) begin
      _T_1233 <= io_in_a_bits_opcode;
    end
    if (_T_1265) begin
      _T_1235 <= io_in_a_bits_param;
    end
    if (_T_1265) begin
      _T_1237 <= io_in_a_bits_size;
    end
    if (_T_1265) begin
      _T_1239 <= io_in_a_bits_source;
    end
    if (_T_1265) begin
      _T_1241 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1275 <= 10'h0;
    end else begin
      if (_T_1266) begin
        if (_T_1279) begin
          if (_T_1272) begin
            _T_1275 <= _T_1271;
          end else begin
            _T_1275 <= 10'h0;
          end
        end else begin
          _T_1275 <= _T_1278;
        end
      end
    end
    if (_T_1326) begin
      _T_1288 <= io_in_d_bits_opcode;
    end
    if (_T_1326) begin
      _T_1290 <= io_in_d_bits_param;
    end
    if (_T_1326) begin
      _T_1292 <= io_in_d_bits_size;
    end
    if (_T_1326) begin
      _T_1294 <= io_in_d_bits_source;
    end
    if (_T_1326) begin
      _T_1296 <= io_in_d_bits_sink;
    end
    if (_T_1326) begin
      _T_1298 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1328 <= 2'h0;
    end else begin
      _T_1328 <= _T_1408;
    end
    if (reset) begin
      _T_1339 <= 10'h0;
    end else begin
      if (_T_1210) begin
        if (_T_1343) begin
          if (_T_1217) begin
            _T_1339 <= _T_1215;
          end else begin
            _T_1339 <= 10'h0;
          end
        end else begin
          _T_1339 <= _T_1342;
        end
      end
    end
    if (reset) begin
      _T_1360 <= 10'h0;
    end else begin
      if (_T_1266) begin
        if (_T_1364) begin
          if (_T_1272) begin
            _T_1360 <= _T_1271;
          end else begin
            _T_1360 <= 10'h0;
          end
        end else begin
          _T_1360 <= _T_1363;
        end
      end
    end
    if (reset) begin
      _T_1410 <= 32'h0;
    end else begin
      if (_T_1424) begin
        _T_1410 <= 32'h0;
      end else begin
        _T_1410 <= _T_1421;
      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@7142.8]
        end
    `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@7143.8]
        end
    `ifdef STOP_COND
      end
    `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@7212.8]
        end
    `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@7213.8]
        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 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@7313.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7314.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 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@7320.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@7327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@7335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@7342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7343.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@7350.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7351.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@7359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@7367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7368.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 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@7469.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7470.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 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@7476.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@7483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@7491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@7498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@7506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@7514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@7523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@7531.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@7641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@7648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7649.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 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@7655.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@7663.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@7671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@7679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@7791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@7798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7799.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 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@7805.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@7813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@7821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@7933.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7934.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@7940.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@7947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@7955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@7965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_805) 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@8075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_805) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@8082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8083.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 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@8089.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_815) 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@8097.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_815) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@8105.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_805) 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@8215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_805) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@8222.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8223.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 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@8229.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8230.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_933) 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@8237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_933) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@8245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1038) 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@8352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1038) begin
          $fatal; // @[Monitor.scala 113: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 (_GEN_105 & _T_191) 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@8359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8360.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 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@8366.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@8374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@8382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8383.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_1056) 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@8393.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_1056) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8394.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1072) 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@8410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1072) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1076) 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@8418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1076) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1080) 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@8426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1080) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1084) 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@8434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1084) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1088) 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@8442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1088) begin
          $fatal; // @[Monitor.scala 280: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_125 & _T_1072) 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@8452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1072) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@8459.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1076) 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@8467.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1076) begin
          $fatal; // @[Monitor.scala 286: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 (_GEN_125 & _T_1103) 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@8475.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1103) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1107) 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@8483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1107) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1084) 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@8491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1084) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@8500.10]
        end
    `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@8501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1072) 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@8510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1072) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@8517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1076) 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@8525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1076) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1103) 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@8533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1103) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1107) 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@8541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1107) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1140) 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@8550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1140) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@8559.10]
        end
    `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@8560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1072) 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@8569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1072) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1080) 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@8577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1080) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1084) 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@8585.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1084) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@8594.10]
        end
    `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@8595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1072) 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@8604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1072) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1080) 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@8612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1080) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1140) 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@8621.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1140) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@8630.10]
        end
    `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@8631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1072) 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@8640.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1072) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1080) 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@8648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1080) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1084) 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@8656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1084) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@8665.10]
        end
    `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@8666.10]
        end
    `ifdef STOP_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@8675.6]
        end
    `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@8676.6]
        end
    `ifdef STOP_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@8683.6]
        end
    `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@8684.6]
        end
    `ifdef STOP_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@8691.6]
        end
    `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@8692.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1247) 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@8731.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1247) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8732.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1251) 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@8739.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1251) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8740.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1255) 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@8747.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1255) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8748.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1259) 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@8755.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1259) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8756.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1243 & _T_1263) 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@8763.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1243 & _T_1263) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8764.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1304) 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@8813.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1304) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8814.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1308) 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@8821.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1308) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8822.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1312) 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@8829.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1312) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8830.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1316) 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@8837.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1316) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8838.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1320) 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@8845.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1320) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8846.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1300 & _T_1324) 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@8853.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1300 & _T_1324) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8854.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1375 & _T_1383) 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@8931.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1375 & _T_1383) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1391 & _T_1398) 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@8954.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1391 & _T_1398) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8955.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1405) 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@8966.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1405) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8967.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1419) 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@8986.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1419) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8987.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8999.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9000.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9001.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_4;
  wire [31:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire [31:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_5;
  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9005.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9006.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@9007.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@9008.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@9009.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9010.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@9011.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9012.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9015.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9030.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9036.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9039.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@9004.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@9004.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@9004.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@9004.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@9004.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@9004.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@9004.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@9004.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@9008.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@9009.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9010.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@9011.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9012.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9015.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9030.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9036.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9039.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9046.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9044.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9055.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9054.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9053.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9052.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9050.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9049.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9048.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@9004.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@9004.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@9004.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@9004.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@9004.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@9004.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@9004.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@9004.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@9063.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9064.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9065.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input  [1:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input         io_enq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input         io_enq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [1:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire [1:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg  _T_35_sink [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_4;
  wire  _T_35_sink__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_sink__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_sink__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_sink__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_sink__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg  _T_35_denied [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_5;
  wire  _T_35_denied__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_denied__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_denied__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_denied__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_denied__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9069.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9070.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@9071.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@9072.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@9073.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9074.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@9075.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9076.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9079.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9094.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9100.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9103.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@9068.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@9068.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@9068.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@9068.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@9068.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@9068.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@9068.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@9068.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@9072.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@9073.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9074.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@9075.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9076.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9079.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9094.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9100.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9103.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9110.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9108.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9119.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9118.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9117.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9116.4]
  assign io_deq_bits_sink = _T_35_sink__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9115.4]
  assign io_deq_bits_denied = _T_35_denied__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9114.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9113.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9112.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@9068.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@9068.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@9068.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@9068.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@9068.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@9068.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@9068.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@9068.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@9127.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9128.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9129.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9192.4]
  TLMonitor_3 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.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@9178.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@9192.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@9177.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9139.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9140.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9179.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9180.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9181.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9189.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9188.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9187.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9186.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9185.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9184.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9183.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9182.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@9191.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9193.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9194.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@9195.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9203.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9201.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9200.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9199.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9198.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9197.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9196.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@9205.4]
endmodule
module TLMonitor_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9220.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9221.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9222.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9223.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@11061.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@9239.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9244.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@9246.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@9247.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9248.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9249.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9249.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9250.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9252.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9253.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@9255.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9256.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9257.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9258.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9259.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9261.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9262.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9264.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9265.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9266.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9267.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9268.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9269.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9270.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9271.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9272.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9273.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9274.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9275.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9276.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9277.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9278.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9279.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9280.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9281.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9282.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9283.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9287.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9308.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9311.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9312.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9313.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9314.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9315.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9316.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9317.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9318.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9319.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9320.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9321.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9322.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9323.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9324.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9325.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9326.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9327.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9328.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9329.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9330.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9331.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9332.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9333.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9334.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9335.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9336.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9337.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9338.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9339.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9340.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9341.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9342.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9343.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9344.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9345.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9346.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9347.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9348.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9349.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9350.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9351.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9353.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9354.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9355.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9356.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9357.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9358.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9359.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9360.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9361.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9362.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9363.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9364.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9365.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9368.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9369.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9370.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9371.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9372.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9373.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9374.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9375.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9376.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9377.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9378.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9379.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9380.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9381.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9382.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9383.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9384.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9385.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9386.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9387.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9388.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9389.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9404.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9417.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9418.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9425.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9426.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9432.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9433.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9438.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9440.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9441.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9446.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9447.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9449.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9450.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9455.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9457.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9458.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9464.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9602.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9604.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9605.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9628.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9631.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9639.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9641.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9714.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9715.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9716.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9717.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9718.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9719.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9720.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9721.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9722.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9723.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9724.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9725.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9726.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9727.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9729.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9731.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9732.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9751.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9753.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9754.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9759.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9761.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9762.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9776.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9855.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9856.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9857.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9858.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9859.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9860.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9861.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9862.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9863.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9878.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9881.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9882.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9918.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9992.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9993.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9994.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9995.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9996.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9997.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9998.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9999.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10020.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10023.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10024.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10051.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10052.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10053.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10055.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10056.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10065.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10137.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10138.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10139.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10140.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10141.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10142.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10143.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10144.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10145.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10162.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10163.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@10182.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10184.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10185.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10199.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10319.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10321.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10322.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10336.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10436.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10437.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10475.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10477.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10478.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@10484.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10489.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10491.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10494.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10495.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10500.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10502.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10503.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10508.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10510.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10511.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10516.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10518.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10519.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10524.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10526.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10527.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10533.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10557.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10559.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10560.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10565.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10567.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10568.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10591.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10632.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10634.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10635.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10650.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10685.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10721.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10781.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10786.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10787.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10788.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10790.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10791.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10792.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10793.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10794.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10805.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10806.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10807.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10808.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10809.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10810.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10811.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10813.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10815.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10816.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10821.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10823.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10824.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10829.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10831.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10832.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10837.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10839.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10840.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10845.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10847.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10848.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10855.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10863.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@10865.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@10866.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10867.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10868.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10869.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10871.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10872.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10873.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10874.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10875.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10887.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10888.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10891.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10892.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10893.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10895.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10897.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10903.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10905.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10906.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10911.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10913.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10914.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10919.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10921.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10922.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10927.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10929.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10930.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10935.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10937.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10938.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10945.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10954.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10964.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10965.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10966.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10967.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10968.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10987.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10988.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10989.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10990.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10991.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11006.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11009.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11011.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11012.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11013.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11015.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11016.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11008.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11027.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@11029.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11030.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11032.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11034.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11035.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11036.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11038.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11039.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@11031.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11045.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11046.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11047.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11048.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11050.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11051.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11056.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11057.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11058.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11060.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11063.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11064.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11065.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11066.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11067.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11068.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11070.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11071.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11077.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11081.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9406.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9562.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9734.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9884.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10026.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10165.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10302.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10439.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10497.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10539.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10597.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10656.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10691.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10727.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@11061.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@9239.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9244.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@9246.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@9247.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9248.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9249.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9249.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9250.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9252.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9253.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@9255.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9256.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9257.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9258.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9259.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9261.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9262.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9264.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9265.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9266.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9267.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9268.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9269.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9270.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9271.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9272.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9273.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9274.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9275.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9276.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9277.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9278.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9279.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9280.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9281.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9282.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9283.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9287.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9308.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9311.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9312.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9313.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9314.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9315.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9316.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9317.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9318.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9319.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9320.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9321.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9322.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9323.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9324.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9325.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9326.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9327.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9328.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9329.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9330.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9331.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9332.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9333.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9334.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9335.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9336.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9337.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9338.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9339.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9340.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9341.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9342.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9343.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9344.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9345.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9346.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9347.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9348.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9349.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9350.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9351.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9353.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9354.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9355.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9356.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9357.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9358.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9359.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9360.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9361.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9362.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9363.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9364.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9365.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9368.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9369.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9370.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9371.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9372.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9373.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9374.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9375.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9376.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9377.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9378.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9379.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9380.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9381.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9382.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9383.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9384.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9385.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9386.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9387.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9388.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9389.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9404.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9417.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9418.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9425.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9426.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9432.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9433.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9438.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9440.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9441.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9446.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9447.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9449.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9450.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9455.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9457.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9458.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9464.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9602.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9604.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9605.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9628.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9631.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9639.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9641.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9714.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9715.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9716.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9717.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9718.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9719.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9720.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9721.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9722.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9723.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9724.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9725.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9726.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9727.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9729.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9731.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9732.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9751.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9753.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9754.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9759.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9761.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9762.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9776.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9855.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9856.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9857.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9858.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9859.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9860.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9861.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9862.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9863.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9878.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9881.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9882.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9918.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9992.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9993.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9994.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9995.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9996.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9997.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9998.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9999.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10020.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10023.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10024.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10051.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10052.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10053.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10055.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10056.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10065.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10137.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10138.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10139.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10140.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10141.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10142.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10143.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10144.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10145.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10162.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10163.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@10182.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10184.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10185.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10199.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10319.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10321.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10322.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10336.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10436.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10437.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10475.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10477.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10478.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@10484.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10489.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10491.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10494.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10495.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10500.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10502.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10503.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10508.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10510.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10511.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10516.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10518.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10519.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10524.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10526.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10527.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10533.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10557.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10559.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10560.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10565.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10567.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10568.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10591.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10632.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10634.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10635.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10650.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10685.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10721.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10781.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10786.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10787.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10788.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10791.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10792.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10793.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10794.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10810.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10811.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10813.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10815.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10816.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10821.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10823.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10824.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10829.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10831.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10832.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10837.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10839.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10840.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10845.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10847.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10848.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10855.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10863.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@10865.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@10866.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10867.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10868.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10869.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10872.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10873.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10874.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10875.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10892.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10893.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10895.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10897.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10903.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10905.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10906.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10911.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10913.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10914.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10919.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10921.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10922.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10927.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10929.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10930.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10935.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10937.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10938.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10945.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10965.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10966.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10967.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10968.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10988.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10989.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10990.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10991.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11006.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11009.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11011.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11012.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11013.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11015.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11016.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11008.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11027.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@11029.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11030.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11032.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11034.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11035.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11036.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11038.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11039.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@11031.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11045.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11046.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11047.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11048.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11050.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11051.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11056.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11057.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11058.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11063.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11064.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11065.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11066.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11067.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11068.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11070.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11071.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11077.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11081.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9406.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9562.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9734.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9884.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10026.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10165.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10302.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10439.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10497.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10539.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10597.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10656.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10691.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10727.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@9235.8]
        end
    `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@9236.8]
        end
    `ifdef STOP_COND
      end
    `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@9305.8]
        end
    `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@9306.8]
        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 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@9406.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 49: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_19 & _T_185) 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@9413.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@9420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@9428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@9435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@9443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@9452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@9460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9461.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 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@9562.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9563.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 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@9569.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@9576.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9577.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@9584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@9591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@9599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@9607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@9616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@9624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@9734.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@9741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9742.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 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@9748.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@9756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@9764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@9772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@9884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@9891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9892.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 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@9898.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9899.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@9906.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@9914.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9915.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@10026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@10033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@10040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@10048.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10049.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@10058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@10165.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10166.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@10172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10173.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 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@10179.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@10187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@10195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@10302.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@10309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10310.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 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@10316.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 107: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_95 & _T_927) 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@10324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108: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_95 & _T_455) 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@10332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109: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 (_GEN_105 & _T_1032) 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@10439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@10446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10447.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 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@10453.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 115: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_105 & _T_455) 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@10461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@10469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10470.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_1050) 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@10480.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@10497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276: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 (_GEN_115 & _T_1070) 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@10505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@10513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@10521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@10529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@10539.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@10546.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10547.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@10554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@10562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@10570.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@10578.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@10587.10]
        end
    `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@10588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@10597.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@10604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@10612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@10620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@10628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@10637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@10646.10]
        end
    `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@10647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@10656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@10664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@10672.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@10681.10]
        end
    `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@10682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@10691.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@10699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@10708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@10717.10]
        end
    `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@10718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@10727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@10735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@10743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@10752.10]
        end
    `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@10753.10]
        end
    `ifdef STOP_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@10762.6]
        end
    `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@10763.6]
        end
    `ifdef STOP_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@10770.6]
        end
    `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@10771.6]
        end
    `ifdef STOP_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@10778.6]
        end
    `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@10779.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@10818.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10819.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@10826.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10827.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@10834.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10835.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@10842.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@10850.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10851.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@10900.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10901.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@10908.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10909.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@10916.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10917.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@10924.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10925.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@10932.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10933.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@10940.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10941.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@11018.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11019.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@11041.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11042.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@11053.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11054.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@11073.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11074.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLAtomicAutomata( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11086.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11087.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11088.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11089.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.4]
  reg [1:0] _T_258_0_state; // @[AtomicAutomata.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11143.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_269_0_bits_opcode; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_269_0_bits_param; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_269_0_bits_size; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_3;
  reg  _T_269_0_bits_source; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_269_0_bits_address; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_5;
  reg [3:0] _T_269_0_bits_mask; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_6;
  reg [31:0] _T_269_0_bits_data; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_7;
  reg  _T_269_0_bits_corrupt; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_269_0_fifoId; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_269_0_lut; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  reg [31:0] _RAND_10;
  reg [31:0] _T_276_0_data; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
  reg [31:0] _RAND_11;
  reg  _T_276_0_denied; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
  reg [31:0] _RAND_12;
  reg  _T_276_0_corrupt; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
  reg [31:0] _RAND_13;
  wire  _T_280; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@11146.4]
  wire  _T_281; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@11147.4]
  wire  _T_282; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11148.4]
  wire  _T_284; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11150.4]
  wire  _T_285; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11151.4]
  wire  _T_287; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11153.4]
  wire [31:0] _T_290; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11156.4]
  wire [32:0] _T_291; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11157.4]
  wire [32:0] _T_292; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11158.4]
  wire [32:0] _T_293; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11159.4]
  wire  _T_294; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11160.4]
  wire [31:0] _T_295; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11161.4]
  wire [32:0] _T_296; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11162.4]
  wire [32:0] _T_297; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11163.4]
  wire [32:0] _T_298; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11164.4]
  wire  _T_299; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11165.4]
  wire [31:0] _T_300; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11166.4]
  wire [32:0] _T_301; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11167.4]
  wire [32:0] _T_302; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11168.4]
  wire [32:0] _T_303; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11169.4]
  wire  _T_304; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11170.4]
  wire [31:0] _T_305; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11171.4]
  wire [32:0] _T_306; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11172.4]
  wire [32:0] _T_307; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11173.4]
  wire [32:0] _T_308; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11174.4]
  wire  _T_309; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11175.4]
  wire [31:0] _T_310; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11176.4]
  wire [32:0] _T_311; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11177.4]
  wire [32:0] _T_312; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11178.4]
  wire [32:0] _T_313; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11179.4]
  wire  _T_314; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11180.4]
  wire  _T_315; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11181.4]
  wire  _T_316; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11182.4]
  wire  _T_317; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11183.4]
  wire  _T_318; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11184.4]
  wire  _T_319; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@11185.4]
  wire  _T_320; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11186.4]
  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11188.4]
  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11189.4]
  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11190.4]
  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11191.4]
  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11192.4]
  wire  _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@11193.4]
  wire [31:0] _T_334; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11200.4]
  wire [32:0] _T_335; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11201.4]
  wire [31:0] _T_339; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11205.4]
  wire [32:0] _T_340; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11206.4]
  wire [32:0] _T_345; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11211.4]
  wire  _T_360; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11226.4]
  wire  _T_440; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11306.4]
  wire  _T_441; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11307.4]
  wire  _T_442; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11308.4]
  wire  _T_443; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11309.4]
  wire [31:0] _T_488; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
  wire [32:0] _T_489; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11355.4]
  wire [32:0] _T_490; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11356.4]
  wire [32:0] _T_491; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11357.4]
  wire  _T_492; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11358.4]
  wire [32:0] _T_495; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11361.4]
  wire [32:0] _T_496; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11362.4]
  wire  _T_497; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11363.4]
  wire [32:0] _T_500; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11366.4]
  wire [32:0] _T_501; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11367.4]
  wire  _T_502; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11368.4]
  wire [32:0] _T_505; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11371.4]
  wire [32:0] _T_506; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11372.4]
  wire  _T_507; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
  wire [32:0] _T_510; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
  wire [32:0] _T_511; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11377.4]
  wire  _T_512; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11378.4]
  wire [2:0] _T_514; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11379.4]
  wire [2:0] _T_515; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11380.4]
  wire [1:0] _T_516; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11381.4]
  wire [1:0] _T_518; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11383.4]
  wire [2:0] _T_520; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11385.4]
  wire [2:0] _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11386.4]
  wire [2:0] _T_521; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11386.4]
  wire [2:0] _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11388.4]
  wire [2:0] _T_523; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11388.4]
  wire [2:0] _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
  wire [2:0] _T_524; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
  wire  _T_527; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11392.4]
  wire  _T_528; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@11393.4]
  wire  _T_532; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11397.4]
  wire  _T_533; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11398.4]
  wire [1:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11399.4]
  wire  _T_535; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11400.4]
  wire  _T_536; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11401.4]
  wire [1:0] _T_537; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11402.4]
  wire  _T_538; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11403.4]
  wire  _T_539; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11404.4]
  wire [1:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11405.4]
  wire  _T_541; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11406.4]
  wire  _T_542; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11407.4]
  wire [1:0] _T_543; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11408.4]
  wire  _T_544; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11409.4]
  wire  _T_545; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11410.4]
  wire [1:0] _T_546; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11411.4]
  wire  _T_547; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11412.4]
  wire  _T_548; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11413.4]
  wire [1:0] _T_549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11414.4]
  wire  _T_550; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11415.4]
  wire  _T_551; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11416.4]
  wire [1:0] _T_552; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11417.4]
  wire  _T_553; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11418.4]
  wire  _T_554; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11419.4]
  wire [1:0] _T_555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11420.4]
  wire  _T_556; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11421.4]
  wire  _T_557; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11422.4]
  wire [1:0] _T_558; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11423.4]
  wire  _T_559; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11424.4]
  wire  _T_560; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11425.4]
  wire [1:0] _T_561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11426.4]
  wire  _T_562; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11427.4]
  wire  _T_563; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11428.4]
  wire [1:0] _T_564; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11429.4]
  wire  _T_565; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11430.4]
  wire  _T_566; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11431.4]
  wire [1:0] _T_567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11432.4]
  wire  _T_568; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11433.4]
  wire  _T_569; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11434.4]
  wire [1:0] _T_570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11435.4]
  wire  _T_571; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11436.4]
  wire  _T_572; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11437.4]
  wire [1:0] _T_573; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11438.4]
  wire  _T_574; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11439.4]
  wire  _T_575; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11440.4]
  wire [1:0] _T_576; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11441.4]
  wire  _T_577; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
  wire  _T_578; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11443.4]
  wire [1:0] _T_579; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11444.4]
  wire  _T_580; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11445.4]
  wire  _T_581; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11446.4]
  wire [1:0] _T_582; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11447.4]
  wire  _T_583; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11448.4]
  wire  _T_584; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11449.4]
  wire [1:0] _T_585; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11450.4]
  wire  _T_586; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11451.4]
  wire  _T_587; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11452.4]
  wire [1:0] _T_588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11453.4]
  wire  _T_589; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11454.4]
  wire  _T_590; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11455.4]
  wire [1:0] _T_591; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11456.4]
  wire  _T_592; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11457.4]
  wire  _T_593; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11458.4]
  wire [1:0] _T_594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11459.4]
  wire  _T_595; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11460.4]
  wire  _T_596; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11461.4]
  wire [1:0] _T_597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11462.4]
  wire  _T_598; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11463.4]
  wire  _T_599; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11464.4]
  wire [1:0] _T_600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11465.4]
  wire  _T_601; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11466.4]
  wire  _T_602; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11467.4]
  wire [1:0] _T_603; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11468.4]
  wire  _T_604; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11469.4]
  wire  _T_605; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11470.4]
  wire [1:0] _T_606; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11471.4]
  wire  _T_607; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11472.4]
  wire  _T_608; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11473.4]
  wire [1:0] _T_609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11474.4]
  wire  _T_610; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11475.4]
  wire  _T_611; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11476.4]
  wire [1:0] _T_612; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11477.4]
  wire  _T_613; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11478.4]
  wire  _T_614; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11479.4]
  wire [1:0] _T_615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11480.4]
  wire  _T_616; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11481.4]
  wire  _T_617; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11482.4]
  wire [1:0] _T_618; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11483.4]
  wire  _T_619; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11484.4]
  wire  _T_620; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11485.4]
  wire [1:0] _T_621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11486.4]
  wire  _T_622; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11487.4]
  wire  _T_623; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11488.4]
  wire [1:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11489.4]
  wire  _T_625; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11490.4]
  wire  _T_626; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11491.4]
  wire [1:0] _T_627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11492.4]
  wire [3:0] _T_628; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11493.4]
  wire  _T_629; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11494.4]
  wire [3:0] _T_630; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11495.4]
  wire  _T_631; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11496.4]
  wire [3:0] _T_632; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11497.4]
  wire  _T_633; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11498.4]
  wire [3:0] _T_634; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11499.4]
  wire  _T_635; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11500.4]
  wire [3:0] _T_636; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11501.4]
  wire  _T_637; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11502.4]
  wire [3:0] _T_638; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11503.4]
  wire  _T_639; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11504.4]
  wire [3:0] _T_640; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11505.4]
  wire  _T_641; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11506.4]
  wire [3:0] _T_642; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11507.4]
  wire  _T_643; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11508.4]
  wire [3:0] _T_644; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11509.4]
  wire  _T_645; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11510.4]
  wire [3:0] _T_646; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11511.4]
  wire  _T_647; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11512.4]
  wire [3:0] _T_648; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11513.4]
  wire  _T_649; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11514.4]
  wire [3:0] _T_650; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11515.4]
  wire  _T_651; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11516.4]
  wire [3:0] _T_652; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11517.4]
  wire  _T_653; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11518.4]
  wire [3:0] _T_654; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11519.4]
  wire  _T_655; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11520.4]
  wire [3:0] _T_656; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11521.4]
  wire  _T_657; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11522.4]
  wire [3:0] _T_658; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11523.4]
  wire  _T_659; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11524.4]
  wire [3:0] _T_660; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11525.4]
  wire  _T_661; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11526.4]
  wire [3:0] _T_662; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11527.4]
  wire  _T_663; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11528.4]
  wire [3:0] _T_664; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11529.4]
  wire  _T_665; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11530.4]
  wire [3:0] _T_666; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11531.4]
  wire  _T_667; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11532.4]
  wire [3:0] _T_668; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11533.4]
  wire  _T_669; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11534.4]
  wire [3:0] _T_670; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11535.4]
  wire  _T_671; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11536.4]
  wire [3:0] _T_672; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11537.4]
  wire  _T_673; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11538.4]
  wire [3:0] _T_674; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11539.4]
  wire  _T_675; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11540.4]
  wire [3:0] _T_676; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11541.4]
  wire  _T_677; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11542.4]
  wire [3:0] _T_678; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11543.4]
  wire  _T_679; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11544.4]
  wire [3:0] _T_680; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11545.4]
  wire  _T_681; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11546.4]
  wire [3:0] _T_682; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11547.4]
  wire  _T_683; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11548.4]
  wire [3:0] _T_684; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11549.4]
  wire  _T_685; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11550.4]
  wire [3:0] _T_686; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11551.4]
  wire  _T_687; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11552.4]
  wire [3:0] _T_688; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11553.4]
  wire  _T_689; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11554.4]
  wire [3:0] _T_690; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11555.4]
  wire  _T_691; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11556.4]
  wire [1:0] _T_692; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11557.4]
  wire [1:0] _T_693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11558.4]
  wire [3:0] _T_694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11559.4]
  wire [1:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11560.4]
  wire [1:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11561.4]
  wire [3:0] _T_697; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11562.4]
  wire [7:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11563.4]
  wire [1:0] _T_699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11564.4]
  wire [1:0] _T_700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11565.4]
  wire [3:0] _T_701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11566.4]
  wire [1:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11567.4]
  wire [1:0] _T_703; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11568.4]
  wire [3:0] _T_704; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11569.4]
  wire [7:0] _T_705; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11570.4]
  wire [15:0] _T_706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11571.4]
  wire [1:0] _T_707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11572.4]
  wire [1:0] _T_708; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11573.4]
  wire [3:0] _T_709; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11574.4]
  wire [1:0] _T_710; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11575.4]
  wire [1:0] _T_711; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11576.4]
  wire [3:0] _T_712; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11577.4]
  wire [7:0] _T_713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
  wire [1:0] _T_714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11579.4]
  wire [1:0] _T_715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11580.4]
  wire [3:0] _T_716; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11581.4]
  wire [1:0] _T_717; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
  wire [1:0] _T_718; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11583.4]
  wire [3:0] _T_719; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11584.4]
  wire [7:0] _T_720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11585.4]
  wire [15:0] _T_721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11586.4]
  wire [31:0] _T_722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11587.4]
  wire  _T_723; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11588.4]
  wire  _T_724; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11589.4]
  wire  _T_725; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11590.4]
  wire [3:0] _T_726; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11591.4]
  wire [2:0] _T_727; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11592.4]
  wire [3:0] _GEN_42; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11593.4]
  wire [3:0] _T_728; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11593.4]
  wire [3:0] _T_729; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11594.4]
  wire [1:0] _T_734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11599.4]
  wire [1:0] _T_735; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11600.4]
  wire [3:0] _T_736; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11601.4]
  wire [1:0] _T_741; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11606.4]
  wire [1:0] _T_742; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11607.4]
  wire [3:0] _T_743; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11608.4]
  wire [3:0] _T_744; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11609.4]
  wire [4:0] _GEN_43; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11610.4]
  wire [4:0] _T_745; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11610.4]
  wire [3:0] _T_746; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11611.4]
  wire [3:0] _T_747; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11612.4]
  wire [4:0] _GEN_44; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
  wire [4:0] _T_748; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
  wire [3:0] _T_749; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11614.4]
  wire [4:0] _GEN_45; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11615.4]
  wire [4:0] _T_750; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11615.4]
  wire [3:0] _T_751; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11616.4]
  wire [3:0] _T_752; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11617.4]
  wire [5:0] _GEN_46; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
  wire [5:0] _T_753; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
  wire [3:0] _T_754; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11619.4]
  wire [3:0] _T_755; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11620.4]
  wire  _T_757; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11622.4]
  wire  _T_758; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11623.4]
  wire  _T_759; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11624.4]
  wire  _T_760; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11625.4]
  wire [7:0] _T_762; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11627.4]
  wire [7:0] _T_764; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11629.4]
  wire [7:0] _T_766; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11631.4]
  wire [7:0] _T_768; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11633.4]
  wire [15:0] _T_769; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11634.4]
  wire [15:0] _T_770; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11635.4]
  wire [31:0] _T_771; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11636.4]
  wire [4:0] _GEN_47; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
  wire [4:0] _T_772; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
  wire [3:0] _T_773; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
  wire [3:0] _T_774; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11639.4]
  wire [5:0] _GEN_48; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  wire [5:0] _T_775; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  wire [3:0] _T_776; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11641.4]
  wire [3:0] _T_777; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11642.4]
  wire  _T_779; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11644.4]
  wire  _T_780; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11645.4]
  wire  _T_781; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11646.4]
  wire  _T_782; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11647.4]
  wire [7:0] _T_784; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11649.4]
  wire [7:0] _T_786; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11651.4]
  wire [7:0] _T_788; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11653.4]
  wire [7:0] _T_790; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11655.4]
  wire [15:0] _T_791; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11656.4]
  wire [15:0] _T_792; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11657.4]
  wire [31:0] _T_793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11658.4]
  wire  _T_794; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11659.4]
  wire  _T_795; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11660.4]
  wire  _T_796; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11661.4]
  wire  _T_797; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11662.4]
  wire [7:0] _T_799; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11664.4]
  wire [7:0] _T_801; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11666.4]
  wire [7:0] _T_803; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11668.4]
  wire [7:0] _T_805; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11670.4]
  wire [15:0] _T_806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11671.4]
  wire [15:0] _T_807; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11672.4]
  wire [31:0] _T_808; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11673.4]
  wire [31:0] _T_809; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11674.4]
  wire [31:0] _T_810; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11675.4]
  wire [31:0] _T_811; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11676.4]
  wire [31:0] _T_812; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11677.4]
  wire [31:0] _T_813; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11678.4]
  wire [31:0] _T_814; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11679.4]
  wire [31:0] _T_816; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11681.4]
  wire  _T_817; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11682.4]
  wire  _T_818; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11683.4]
  wire  _T_820; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11685.4]
  wire  _T_821; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11686.4]
  wire  _T_822; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11687.4]
  wire  _T_823; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@11688.4]
  wire  _T_824; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11689.4]
  wire  _T_825; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11690.4]
  wire [31:0] _T_826; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11691.4]
  wire [31:0] _T_827; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11692.4]
  wire  _T_828; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@11693.4]
  wire [31:0] _T_829; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11694.4]
  wire  _T_833; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11697.4]
  wire  _T_834; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.4]
  wire  _T_835; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11699.4]
  reg [9:0] _T_965; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11844.4]
  reg [31:0] _RAND_14;
  wire  _T_966; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11845.4]
  wire  _T_837; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11702.4]
  wire [1:0] _T_968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11847.4]
  wire [2:0] _GEN_49; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.4]
  wire [2:0] _T_969; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.4]
  wire [1:0] _T_970; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11849.4]
  wire [1:0] _T_971; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11850.4]
  wire [2:0] _GEN_50; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.4]
  wire [2:0] _T_973; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.4]
  wire [1:0] _T_974; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11853.4]
  wire [1:0] _T_975; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@11854.4]
  wire  _T_977; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11856.4]
  reg  _T_1039_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11907.4]
  reg [31:0] _RAND_15;
  wire  _T_1058_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.4]
  wire  _T_1067; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11913.4]
  wire  _T_838; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11705.4]
  wire [2:0] _GEN_0; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11706.4]
  wire [2:0] _GEN_1; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11706.4]
  wire  _T_842; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@11713.4]
  wire  _T_924; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11800.4]
  wire [1:0] _T_925; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11801.4]
  wire [1:0] _T_927; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11803.4]
  wire  _T_928; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11804.4]
  wire  _T_929; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  wire  _T_930; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11806.4]
  wire  _T_931; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11807.4]
  wire  _T_933; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11809.4]
  wire  _T_934; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11810.4]
  wire  _T_936; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11812.4]
  wire  _T_937; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11813.4]
  wire  _T_938; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11814.4]
  wire  _T_939; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11815.4]
  wire  _T_940; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11816.4]
  wire  _T_941; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11817.4]
  wire  _T_942; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11818.4]
  wire  _T_943; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11819.4]
  wire  _T_944; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11820.4]
  wire  _T_945; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11821.4]
  wire  _T_946; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11822.4]
  wire  _T_947; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11823.4]
  wire  _T_948; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11824.4]
  wire  _T_949; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11825.4]
  wire  _T_950; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11826.4]
  wire  _T_951; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11827.4]
  wire  _T_952; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11828.4]
  wire [1:0] _T_953; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11829.4]
  wire [1:0] _T_954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11830.4]
  wire [3:0] _T_955; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.4]
  wire [26:0] _T_957; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11837.4]
  wire [11:0] _T_958; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11838.4]
  wire [11:0] _T_959; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11839.4]
  wire [9:0] _T_960; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11840.4]
  wire  _T_961; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11841.4]
  wire  _T_962; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11842.4]
  wire  _T_967; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11846.4]
  wire  _T_976; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11855.4]
  wire  _T_986; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11861.4]
  wire  _T_987; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11862.4]
  wire  _T_997; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11868.4]
  wire  _T_999; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11870.4]
  wire  _T_1002; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11873.4]
  wire  _T_1003; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11874.4]
  wire  _T_1006; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11877.4]
  wire  _T_1007; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11878.4]
  wire  _T_1008; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11883.4]
  wire  _T_1009; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11884.4]
  wire  _T_1011; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11886.4]
  wire  _T_1013; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11888.4]
  wire  _T_1014; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11889.4]
  reg  _T_1039_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11907.4]
  reg [31:0] _RAND_16;
  wire  _T_1070; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11916.4]
  wire  _T_1071; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11917.4]
  wire  _T_1072; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11918.4]
  wire  _T_1075; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11921.4]
  wire  _T_1018; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11897.4]
  wire [9:0] _GEN_51; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.4]
  wire [10:0] _T_1019; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.4]
  wire [10:0] _T_1020; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11899.4]
  wire [9:0] _T_1021; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11900.4]
  wire  _T_1050_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.4]
  wire  _T_1050_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.4]
  wire  _T_1058_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.4]
  wire  _T_1066; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11911.4]
  wire [32:0] _T_1077; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11923.4]
  wire [35:0] _T_1078; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11924.4]
  wire [68:0] _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11925.4]
  wire [4:0] _T_1080; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11926.4]
  wire [10:0] _T_1082; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11928.4]
  wire [79:0] _T_1083; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11929.4]
  wire [79:0] _T_1084; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11930.4]
  wire [32:0] _T_1085; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11931.4]
  wire [35:0] _T_1086; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11932.4]
  wire [68:0] _T_1087; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11933.4]
  wire [4:0] _T_1088; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11934.4]
  wire [5:0] _T_1089; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11935.4]
  wire [10:0] _T_1090; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11936.4]
  wire [79:0] _T_1091; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11937.4]
  wire [79:0] _T_1092; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11938.4]
  wire [79:0] _T_1093; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11939.4]
  wire  _T_1106; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11960.4]
  wire  _T_1108; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11962.4]
  wire [1:0] _T_1109; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11967.8]
  wire [2:0] _GEN_52; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11968.8]
  wire  _T_1110; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11968.8]
  wire  _T_1112; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11970.8]
  wire  _T_1114; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11972.8]
  wire  _T_1116; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11974.8]
  wire  _T_1118; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.4]
  reg [9:0] _T_1128; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11996.4]
  reg [31:0] _RAND_17;
  wire  _T_1132; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12000.4]
  wire  _T_1144; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@12015.4]
  wire  _T_1150; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12031.4]
  wire  _T_1140; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@12011.4]
  wire  _T_1141; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@12012.4]
  wire  _T_1151; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@12032.4]
  wire  _T_1156; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@12038.4]
  wire  _T_1119; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11988.4]
  wire [26:0] _T_1121; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11990.4]
  wire [11:0] _T_1122; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11991.4]
  wire [11:0] _T_1123; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11992.4]
  wire [9:0] _T_1124; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11993.4]
  wire  _T_1125; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11994.4]
  wire [10:0] _T_1129; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11997.4]
  wire [10:0] _T_1130; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11998.4]
  wire [9:0] _T_1131; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11999.4]
  wire  _T_1145; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@12016.4]
  wire  _T_1147; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12018.4]
  wire  _T_1148; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@12020.6]
  wire  _T_1152; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@12033.4]
  wire  _T_1153; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12034.4]
  wire  _T_1154; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12035.4]
  wire  _T_1157; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12044.6]
  wire  _T_1158; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12046.6]
  TLMonitor_4 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11096.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@11146.4]
  assign _T_281 = _T_258_0_state == 2'h2; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@11147.4]
  assign _T_282 = _T_258_0_state == 2'h3; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11148.4]
  assign _T_284 = _T_282 | _T_281; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11150.4]
  assign _T_285 = _T_258_0_state != 2'h0; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11151.4]
  assign _T_287 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11153.4]
  assign _T_290 = auto_in_a_bits_address ^ 32'h2000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11156.4]
  assign _T_291 = {1'b0,$signed(_T_290)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11157.4]
  assign _T_292 = $signed(_T_291) & $signed(33'shea006000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11158.4]
  assign _T_293 = $signed(_T_292); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11159.4]
  assign _T_294 = $signed(_T_293) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11160.4]
  assign _T_295 = auto_in_a_bits_address ^ 32'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11161.4]
  assign _T_296 = {1'b0,$signed(_T_295)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11162.4]
  assign _T_297 = $signed(_T_296) & $signed(33'shea016000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11163.4]
  assign _T_298 = $signed(_T_297); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11164.4]
  assign _T_299 = $signed(_T_298) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11165.4]
  assign _T_300 = auto_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11166.4]
  assign _T_301 = {1'b0,$signed(_T_300)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11167.4]
  assign _T_302 = $signed(_T_301) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11168.4]
  assign _T_303 = $signed(_T_302); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11169.4]
  assign _T_304 = $signed(_T_303) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11170.4]
  assign _T_305 = auto_in_a_bits_address ^ 32'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11171.4]
  assign _T_306 = {1'b0,$signed(_T_305)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11172.4]
  assign _T_307 = $signed(_T_306) & $signed(33'shea034000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11173.4]
  assign _T_308 = $signed(_T_307); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11174.4]
  assign _T_309 = $signed(_T_308) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11175.4]
  assign _T_310 = auto_in_a_bits_address ^ 32'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11176.4]
  assign _T_311 = {1'b0,$signed(_T_310)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11177.4]
  assign _T_312 = $signed(_T_311) & $signed(33'shea036000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11178.4]
  assign _T_313 = $signed(_T_312); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11179.4]
  assign _T_314 = $signed(_T_313) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11180.4]
  assign _T_315 = _T_294 | _T_299; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11181.4]
  assign _T_316 = _T_315 | _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11182.4]
  assign _T_317 = _T_316 | _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11183.4]
  assign _T_318 = _T_317 | _T_314; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11184.4]
  assign _T_319 = _T_287 & _T_318; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@11185.4]
  assign _T_320 = 4'h2 == auto_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11186.4]
  assign _T_322 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11188.4]
  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11189.4]
  assign _T_324 = $signed(_T_323) & $signed(33'shea034000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11190.4]
  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11191.4]
  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11192.4]
  assign _T_327 = _T_320 & _T_326; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@11193.4]
  assign _T_334 = auto_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11200.4]
  assign _T_335 = {1'b0,$signed(_T_334)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11201.4]
  assign _T_339 = auto_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11205.4]
  assign _T_340 = {1'b0,$signed(_T_339)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11206.4]
  assign _T_345 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11211.4]
  assign _T_360 = _T_319 | _T_327; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11226.4]
  assign _T_440 = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11306.4]
  assign _T_441 = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11307.4]
  assign _T_442 = _T_441 ? _T_360 : 1'h1; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11308.4]
  assign _T_443 = _T_440 ? _T_360 : _T_442; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11309.4]
  assign _T_488 = auto_in_a_bits_address ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
  assign _T_489 = {1'b0,$signed(_T_488)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11355.4]
  assign _T_490 = $signed(_T_489) & $signed(33'shfe031000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11356.4]
  assign _T_491 = $signed(_T_490); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11357.4]
  assign _T_492 = $signed(_T_491) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11358.4]
  assign _T_495 = $signed(_T_340) & $signed(33'shfe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11361.4]
  assign _T_496 = $signed(_T_495); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11362.4]
  assign _T_497 = $signed(_T_496) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11363.4]
  assign _T_500 = $signed(_T_345) & $signed(33'shfe031000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11366.4]
  assign _T_501 = $signed(_T_500); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11367.4]
  assign _T_502 = $signed(_T_501) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11368.4]
  assign _T_505 = $signed(_T_335) & $signed(33'shfe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11371.4]
  assign _T_506 = $signed(_T_505); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11372.4]
  assign _T_507 = $signed(_T_506) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
  assign _T_510 = $signed(_T_323) & $signed(33'shfe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
  assign _T_511 = $signed(_T_510); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11377.4]
  assign _T_512 = $signed(_T_511) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11378.4]
  assign _T_514 = _T_512 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11379.4]
  assign _T_515 = _T_492 ? 3'h5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11380.4]
  assign _T_516 = _T_507 ? 2'h3 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11381.4]
  assign _T_518 = _T_502 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11383.4]
  assign _T_520 = _T_514 | _T_515; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11385.4]
  assign _GEN_39 = {{1'd0}, _T_516}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11386.4]
  assign _T_521 = _T_520 | _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11386.4]
  assign _GEN_40 = {{1'd0}, _T_518}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11388.4]
  assign _T_523 = _T_521 | _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11388.4]
  assign _GEN_41 = {{2'd0}, _T_497}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
  assign _T_524 = _T_523 | _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
  assign _T_527 = _T_269_0_fifoId == _T_524; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11392.4]
  assign _T_528 = _T_284 & _T_527; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@11393.4]
  assign _T_532 = _T_269_0_bits_data[0]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11397.4]
  assign _T_533 = _T_276_0_data[0]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11398.4]
  assign _T_534 = {_T_532,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11399.4]
  assign _T_535 = _T_269_0_bits_data[1]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11400.4]
  assign _T_536 = _T_276_0_data[1]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11401.4]
  assign _T_537 = {_T_535,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11402.4]
  assign _T_538 = _T_269_0_bits_data[2]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11403.4]
  assign _T_539 = _T_276_0_data[2]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11404.4]
  assign _T_540 = {_T_538,_T_539}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11405.4]
  assign _T_541 = _T_269_0_bits_data[3]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11406.4]
  assign _T_542 = _T_276_0_data[3]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11407.4]
  assign _T_543 = {_T_541,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11408.4]
  assign _T_544 = _T_269_0_bits_data[4]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11409.4]
  assign _T_545 = _T_276_0_data[4]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11410.4]
  assign _T_546 = {_T_544,_T_545}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11411.4]
  assign _T_547 = _T_269_0_bits_data[5]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11412.4]
  assign _T_548 = _T_276_0_data[5]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11413.4]
  assign _T_549 = {_T_547,_T_548}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11414.4]
  assign _T_550 = _T_269_0_bits_data[6]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11415.4]
  assign _T_551 = _T_276_0_data[6]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11416.4]
  assign _T_552 = {_T_550,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11417.4]
  assign _T_553 = _T_269_0_bits_data[7]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11418.4]
  assign _T_554 = _T_276_0_data[7]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11419.4]
  assign _T_555 = {_T_553,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11420.4]
  assign _T_556 = _T_269_0_bits_data[8]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11421.4]
  assign _T_557 = _T_276_0_data[8]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11422.4]
  assign _T_558 = {_T_556,_T_557}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11423.4]
  assign _T_559 = _T_269_0_bits_data[9]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11424.4]
  assign _T_560 = _T_276_0_data[9]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11425.4]
  assign _T_561 = {_T_559,_T_560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11426.4]
  assign _T_562 = _T_269_0_bits_data[10]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11427.4]
  assign _T_563 = _T_276_0_data[10]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11428.4]
  assign _T_564 = {_T_562,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11429.4]
  assign _T_565 = _T_269_0_bits_data[11]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11430.4]
  assign _T_566 = _T_276_0_data[11]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11431.4]
  assign _T_567 = {_T_565,_T_566}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11432.4]
  assign _T_568 = _T_269_0_bits_data[12]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11433.4]
  assign _T_569 = _T_276_0_data[12]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11434.4]
  assign _T_570 = {_T_568,_T_569}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11435.4]
  assign _T_571 = _T_269_0_bits_data[13]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11436.4]
  assign _T_572 = _T_276_0_data[13]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11437.4]
  assign _T_573 = {_T_571,_T_572}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11438.4]
  assign _T_574 = _T_269_0_bits_data[14]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11439.4]
  assign _T_575 = _T_276_0_data[14]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11440.4]
  assign _T_576 = {_T_574,_T_575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11441.4]
  assign _T_577 = _T_269_0_bits_data[15]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
  assign _T_578 = _T_276_0_data[15]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11443.4]
  assign _T_579 = {_T_577,_T_578}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11444.4]
  assign _T_580 = _T_269_0_bits_data[16]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11445.4]
  assign _T_581 = _T_276_0_data[16]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11446.4]
  assign _T_582 = {_T_580,_T_581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11447.4]
  assign _T_583 = _T_269_0_bits_data[17]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11448.4]
  assign _T_584 = _T_276_0_data[17]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11449.4]
  assign _T_585 = {_T_583,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11450.4]
  assign _T_586 = _T_269_0_bits_data[18]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11451.4]
  assign _T_587 = _T_276_0_data[18]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11452.4]
  assign _T_588 = {_T_586,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11453.4]
  assign _T_589 = _T_269_0_bits_data[19]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11454.4]
  assign _T_590 = _T_276_0_data[19]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11455.4]
  assign _T_591 = {_T_589,_T_590}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11456.4]
  assign _T_592 = _T_269_0_bits_data[20]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11457.4]
  assign _T_593 = _T_276_0_data[20]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11458.4]
  assign _T_594 = {_T_592,_T_593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11459.4]
  assign _T_595 = _T_269_0_bits_data[21]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11460.4]
  assign _T_596 = _T_276_0_data[21]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11461.4]
  assign _T_597 = {_T_595,_T_596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11462.4]
  assign _T_598 = _T_269_0_bits_data[22]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11463.4]
  assign _T_599 = _T_276_0_data[22]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11464.4]
  assign _T_600 = {_T_598,_T_599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11465.4]
  assign _T_601 = _T_269_0_bits_data[23]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11466.4]
  assign _T_602 = _T_276_0_data[23]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11467.4]
  assign _T_603 = {_T_601,_T_602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11468.4]
  assign _T_604 = _T_269_0_bits_data[24]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11469.4]
  assign _T_605 = _T_276_0_data[24]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11470.4]
  assign _T_606 = {_T_604,_T_605}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11471.4]
  assign _T_607 = _T_269_0_bits_data[25]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11472.4]
  assign _T_608 = _T_276_0_data[25]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11473.4]
  assign _T_609 = {_T_607,_T_608}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11474.4]
  assign _T_610 = _T_269_0_bits_data[26]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11475.4]
  assign _T_611 = _T_276_0_data[26]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11476.4]
  assign _T_612 = {_T_610,_T_611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11477.4]
  assign _T_613 = _T_269_0_bits_data[27]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11478.4]
  assign _T_614 = _T_276_0_data[27]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11479.4]
  assign _T_615 = {_T_613,_T_614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11480.4]
  assign _T_616 = _T_269_0_bits_data[28]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11481.4]
  assign _T_617 = _T_276_0_data[28]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11482.4]
  assign _T_618 = {_T_616,_T_617}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11483.4]
  assign _T_619 = _T_269_0_bits_data[29]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11484.4]
  assign _T_620 = _T_276_0_data[29]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11485.4]
  assign _T_621 = {_T_619,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11486.4]
  assign _T_622 = _T_269_0_bits_data[30]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11487.4]
  assign _T_623 = _T_276_0_data[30]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11488.4]
  assign _T_624 = {_T_622,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11489.4]
  assign _T_625 = _T_269_0_bits_data[31]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11490.4]
  assign _T_626 = _T_276_0_data[31]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11491.4]
  assign _T_627 = {_T_625,_T_626}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11492.4]
  assign _T_628 = _T_269_0_lut >> _T_534; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11493.4]
  assign _T_629 = _T_628[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11494.4]
  assign _T_630 = _T_269_0_lut >> _T_537; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11495.4]
  assign _T_631 = _T_630[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11496.4]
  assign _T_632 = _T_269_0_lut >> _T_540; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11497.4]
  assign _T_633 = _T_632[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11498.4]
  assign _T_634 = _T_269_0_lut >> _T_543; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11499.4]
  assign _T_635 = _T_634[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11500.4]
  assign _T_636 = _T_269_0_lut >> _T_546; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11501.4]
  assign _T_637 = _T_636[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11502.4]
  assign _T_638 = _T_269_0_lut >> _T_549; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11503.4]
  assign _T_639 = _T_638[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11504.4]
  assign _T_640 = _T_269_0_lut >> _T_552; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11505.4]
  assign _T_641 = _T_640[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11506.4]
  assign _T_642 = _T_269_0_lut >> _T_555; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11507.4]
  assign _T_643 = _T_642[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11508.4]
  assign _T_644 = _T_269_0_lut >> _T_558; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11509.4]
  assign _T_645 = _T_644[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11510.4]
  assign _T_646 = _T_269_0_lut >> _T_561; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11511.4]
  assign _T_647 = _T_646[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11512.4]
  assign _T_648 = _T_269_0_lut >> _T_564; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11513.4]
  assign _T_649 = _T_648[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11514.4]
  assign _T_650 = _T_269_0_lut >> _T_567; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11515.4]
  assign _T_651 = _T_650[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11516.4]
  assign _T_652 = _T_269_0_lut >> _T_570; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11517.4]
  assign _T_653 = _T_652[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11518.4]
  assign _T_654 = _T_269_0_lut >> _T_573; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11519.4]
  assign _T_655 = _T_654[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11520.4]
  assign _T_656 = _T_269_0_lut >> _T_576; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11521.4]
  assign _T_657 = _T_656[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11522.4]
  assign _T_658 = _T_269_0_lut >> _T_579; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11523.4]
  assign _T_659 = _T_658[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11524.4]
  assign _T_660 = _T_269_0_lut >> _T_582; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11525.4]
  assign _T_661 = _T_660[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11526.4]
  assign _T_662 = _T_269_0_lut >> _T_585; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11527.4]
  assign _T_663 = _T_662[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11528.4]
  assign _T_664 = _T_269_0_lut >> _T_588; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11529.4]
  assign _T_665 = _T_664[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11530.4]
  assign _T_666 = _T_269_0_lut >> _T_591; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11531.4]
  assign _T_667 = _T_666[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11532.4]
  assign _T_668 = _T_269_0_lut >> _T_594; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11533.4]
  assign _T_669 = _T_668[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11534.4]
  assign _T_670 = _T_269_0_lut >> _T_597; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11535.4]
  assign _T_671 = _T_670[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11536.4]
  assign _T_672 = _T_269_0_lut >> _T_600; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11537.4]
  assign _T_673 = _T_672[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11538.4]
  assign _T_674 = _T_269_0_lut >> _T_603; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11539.4]
  assign _T_675 = _T_674[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11540.4]
  assign _T_676 = _T_269_0_lut >> _T_606; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11541.4]
  assign _T_677 = _T_676[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11542.4]
  assign _T_678 = _T_269_0_lut >> _T_609; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11543.4]
  assign _T_679 = _T_678[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11544.4]
  assign _T_680 = _T_269_0_lut >> _T_612; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11545.4]
  assign _T_681 = _T_680[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11546.4]
  assign _T_682 = _T_269_0_lut >> _T_615; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11547.4]
  assign _T_683 = _T_682[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11548.4]
  assign _T_684 = _T_269_0_lut >> _T_618; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11549.4]
  assign _T_685 = _T_684[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11550.4]
  assign _T_686 = _T_269_0_lut >> _T_621; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11551.4]
  assign _T_687 = _T_686[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11552.4]
  assign _T_688 = _T_269_0_lut >> _T_624; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11553.4]
  assign _T_689 = _T_688[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11554.4]
  assign _T_690 = _T_269_0_lut >> _T_627; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11555.4]
  assign _T_691 = _T_690[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11556.4]
  assign _T_692 = {_T_631,_T_629}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11557.4]
  assign _T_693 = {_T_635,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11558.4]
  assign _T_694 = {_T_693,_T_692}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11559.4]
  assign _T_695 = {_T_639,_T_637}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11560.4]
  assign _T_696 = {_T_643,_T_641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11561.4]
  assign _T_697 = {_T_696,_T_695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11562.4]
  assign _T_698 = {_T_697,_T_694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11563.4]
  assign _T_699 = {_T_647,_T_645}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11564.4]
  assign _T_700 = {_T_651,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11565.4]
  assign _T_701 = {_T_700,_T_699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11566.4]
  assign _T_702 = {_T_655,_T_653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11567.4]
  assign _T_703 = {_T_659,_T_657}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11568.4]
  assign _T_704 = {_T_703,_T_702}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11569.4]
  assign _T_705 = {_T_704,_T_701}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11570.4]
  assign _T_706 = {_T_705,_T_698}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11571.4]
  assign _T_707 = {_T_663,_T_661}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11572.4]
  assign _T_708 = {_T_667,_T_665}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11573.4]
  assign _T_709 = {_T_708,_T_707}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11574.4]
  assign _T_710 = {_T_671,_T_669}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11575.4]
  assign _T_711 = {_T_675,_T_673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11576.4]
  assign _T_712 = {_T_711,_T_710}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11577.4]
  assign _T_713 = {_T_712,_T_709}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
  assign _T_714 = {_T_679,_T_677}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11579.4]
  assign _T_715 = {_T_683,_T_681}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11580.4]
  assign _T_716 = {_T_715,_T_714}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11581.4]
  assign _T_717 = {_T_687,_T_685}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
  assign _T_718 = {_T_691,_T_689}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11583.4]
  assign _T_719 = {_T_718,_T_717}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11584.4]
  assign _T_720 = {_T_719,_T_716}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11585.4]
  assign _T_721 = {_T_720,_T_713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11586.4]
  assign _T_722 = {_T_721,_T_706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11587.4]
  assign _T_723 = _T_269_0_bits_param[1]; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11588.4]
  assign _T_724 = _T_269_0_bits_param[0]; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11589.4]
  assign _T_725 = _T_269_0_bits_param[2]; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11590.4]
  assign _T_726 = ~ _T_269_0_bits_mask; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11591.4]
  assign _T_727 = _T_269_0_bits_mask[3:1]; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11592.4]
  assign _GEN_42 = {{1'd0}, _T_727}; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11593.4]
  assign _T_728 = _T_726 | _GEN_42; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11593.4]
  assign _T_729 = ~ _T_728; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11594.4]
  assign _T_734 = {_T_577,_T_553}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11599.4]
  assign _T_735 = {_T_625,_T_601}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11600.4]
  assign _T_736 = {_T_735,_T_734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11601.4]
  assign _T_741 = {_T_578,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11606.4]
  assign _T_742 = {_T_626,_T_602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11607.4]
  assign _T_743 = {_T_742,_T_741}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11608.4]
  assign _T_744 = _T_736 & _T_729; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11609.4]
  assign _GEN_43 = {{1'd0}, _T_744}; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11610.4]
  assign _T_745 = _GEN_43 << 1; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11610.4]
  assign _T_746 = _T_745[3:0]; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11611.4]
  assign _T_747 = _T_743 & _T_729; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11612.4]
  assign _GEN_44 = {{1'd0}, _T_747}; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
  assign _T_748 = _GEN_44 << 1; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
  assign _T_749 = _T_748[3:0]; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11614.4]
  assign _GEN_45 = {{1'd0}, _T_746}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11615.4]
  assign _T_750 = _GEN_45 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11615.4]
  assign _T_751 = _T_750[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11616.4]
  assign _T_752 = _T_746 | _T_751; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11617.4]
  assign _GEN_46 = {{2'd0}, _T_752}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
  assign _T_753 = _GEN_46 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
  assign _T_754 = _T_753[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11619.4]
  assign _T_755 = _T_752 | _T_754; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11620.4]
  assign _T_757 = _T_755[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11622.4]
  assign _T_758 = _T_755[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11623.4]
  assign _T_759 = _T_755[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11624.4]
  assign _T_760 = _T_755[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11625.4]
  assign _T_762 = _T_757 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11627.4]
  assign _T_764 = _T_758 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11629.4]
  assign _T_766 = _T_759 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11631.4]
  assign _T_768 = _T_760 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11633.4]
  assign _T_769 = {_T_764,_T_762}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11634.4]
  assign _T_770 = {_T_768,_T_766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11635.4]
  assign _T_771 = {_T_770,_T_769}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11636.4]
  assign _GEN_47 = {{1'd0}, _T_749}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
  assign _T_772 = _GEN_47 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
  assign _T_773 = _T_772[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
  assign _T_774 = _T_749 | _T_773; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11639.4]
  assign _GEN_48 = {{2'd0}, _T_774}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  assign _T_775 = _GEN_48 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  assign _T_776 = _T_775[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11641.4]
  assign _T_777 = _T_774 | _T_776; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11642.4]
  assign _T_779 = _T_777[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11644.4]
  assign _T_780 = _T_777[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11645.4]
  assign _T_781 = _T_777[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11646.4]
  assign _T_782 = _T_777[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11647.4]
  assign _T_784 = _T_779 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11649.4]
  assign _T_786 = _T_780 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11651.4]
  assign _T_788 = _T_781 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11653.4]
  assign _T_790 = _T_782 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11655.4]
  assign _T_791 = {_T_786,_T_784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11656.4]
  assign _T_792 = {_T_790,_T_788}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11657.4]
  assign _T_793 = {_T_792,_T_791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11658.4]
  assign _T_794 = _T_269_0_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11659.4]
  assign _T_795 = _T_269_0_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11660.4]
  assign _T_796 = _T_269_0_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11661.4]
  assign _T_797 = _T_269_0_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11662.4]
  assign _T_799 = _T_794 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11664.4]
  assign _T_801 = _T_795 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11666.4]
  assign _T_803 = _T_796 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11668.4]
  assign _T_805 = _T_797 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11670.4]
  assign _T_806 = {_T_801,_T_799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11671.4]
  assign _T_807 = {_T_805,_T_803}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11672.4]
  assign _T_808 = {_T_807,_T_806}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11673.4]
  assign _T_809 = _T_269_0_bits_data & _T_808; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11674.4]
  assign _T_810 = _T_809 | _T_771; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11675.4]
  assign _T_811 = _T_276_0_data & _T_808; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11676.4]
  assign _T_812 = _T_811 | _T_793; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11677.4]
  assign _T_813 = ~ _T_812; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11678.4]
  assign _T_814 = _T_725 ? _T_812 : _T_813; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11679.4]
  assign _T_816 = _T_810 + _T_814; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11681.4]
  assign _T_817 = _T_810[31]; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11682.4]
  assign _T_818 = _T_723 == _T_817; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11683.4]
  assign _T_820 = _T_812[31]; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11685.4]
  assign _T_821 = _T_817 == _T_820; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11686.4]
  assign _T_822 = _T_816[31]; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11687.4]
  assign _T_823 = _T_822 == 1'h0; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@11688.4]
  assign _T_824 = _T_821 ? _T_823 : _T_818; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11689.4]
  assign _T_825 = _T_724 == _T_824; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11690.4]
  assign _T_826 = _T_825 ? _T_269_0_bits_data : _T_276_0_data; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11691.4]
  assign _T_827 = _T_725 ? _T_816 : _T_826; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11692.4]
  assign _T_828 = _T_269_0_bits_opcode[0]; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@11693.4]
  assign _T_829 = _T_828 ? _T_722 : _T_827; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11694.4]
  assign _T_833 = _T_528 == 1'h0; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11697.4]
  assign _T_834 = _T_443 | _T_280; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.4]
  assign _T_835 = _T_833 & _T_834; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11699.4]
  assign _T_966 = _T_965 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11845.4]
  assign _T_837 = auto_in_a_valid & _T_835; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11702.4]
  assign _T_968 = {_T_837,_T_281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11847.4]
  assign _GEN_49 = {{1'd0}, _T_968}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.4]
  assign _T_969 = _GEN_49 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.4]
  assign _T_970 = _T_969[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11849.4]
  assign _T_971 = _T_968 | _T_970; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11850.4]
  assign _GEN_50 = {{1'd0}, _T_971}; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.4]
  assign _T_973 = _GEN_50 << 1; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.4]
  assign _T_974 = _T_973[1:0]; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11853.4]
  assign _T_975 = ~ _T_974; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@11854.4]
  assign _T_977 = _T_975[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11856.4]
  assign _T_1058_1 = _T_966 ? _T_977 : _T_1039_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.4]
  assign _T_1067 = auto_out_a_ready & _T_1058_1; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11913.4]
  assign _T_838 = _T_443 == 1'h0; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11705.4]
  assign _GEN_0 = _T_838 ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11706.4]
  assign _GEN_1 = _T_838 ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11706.4]
  assign _T_842 = _T_269_0_bits_corrupt | _T_276_0_corrupt; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@11713.4]
  assign _T_924 = _T_269_0_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11800.4]
  assign _T_925 = 2'h1 << _T_924; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11801.4]
  assign _T_927 = _T_925 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11803.4]
  assign _T_928 = _T_269_0_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11804.4]
  assign _T_929 = _T_927[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  assign _T_930 = _T_269_0_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11806.4]
  assign _T_931 = _T_930 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11807.4]
  assign _T_933 = _T_929 & _T_931; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11809.4]
  assign _T_934 = _T_928 | _T_933; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11810.4]
  assign _T_936 = _T_929 & _T_930; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11812.4]
  assign _T_937 = _T_928 | _T_936; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11813.4]
  assign _T_938 = _T_927[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11814.4]
  assign _T_939 = _T_269_0_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11815.4]
  assign _T_940 = _T_939 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11816.4]
  assign _T_941 = _T_931 & _T_940; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11817.4]
  assign _T_942 = _T_938 & _T_941; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11818.4]
  assign _T_943 = _T_934 | _T_942; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11819.4]
  assign _T_944 = _T_931 & _T_939; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11820.4]
  assign _T_945 = _T_938 & _T_944; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11821.4]
  assign _T_946 = _T_934 | _T_945; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11822.4]
  assign _T_947 = _T_930 & _T_940; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11823.4]
  assign _T_948 = _T_938 & _T_947; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11824.4]
  assign _T_949 = _T_937 | _T_948; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11825.4]
  assign _T_950 = _T_930 & _T_939; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11826.4]
  assign _T_951 = _T_938 & _T_950; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11827.4]
  assign _T_952 = _T_937 | _T_951; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11828.4]
  assign _T_953 = {_T_946,_T_943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11829.4]
  assign _T_954 = {_T_952,_T_949}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11830.4]
  assign _T_955 = {_T_954,_T_953}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.4]
  assign _T_957 = 27'hfff << auto_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11837.4]
  assign _T_958 = _T_957[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11838.4]
  assign _T_959 = ~ _T_958; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11839.4]
  assign _T_960 = _T_959[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11840.4]
  assign _T_961 = auto_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11841.4]
  assign _T_962 = _T_961 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11842.4]
  assign _T_967 = _T_966 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11846.4]
  assign _T_976 = _T_975[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11855.4]
  assign _T_986 = _T_976 & _T_281; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11861.4]
  assign _T_987 = _T_977 & _T_837; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11862.4]
  assign _T_997 = _T_986 | _T_987; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11868.4]
  assign _T_999 = _T_986 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11870.4]
  assign _T_1002 = _T_987 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11873.4]
  assign _T_1003 = _T_999 | _T_1002; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11874.4]
  assign _T_1006 = _T_1003 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11877.4]
  assign _T_1007 = _T_1006 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11878.4]
  assign _T_1008 = _T_281 | _T_837; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11883.4]
  assign _T_1009 = _T_1008 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11884.4]
  assign _T_1011 = _T_1009 | _T_997; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11886.4]
  assign _T_1013 = _T_1011 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11888.4]
  assign _T_1014 = _T_1013 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11889.4]
  assign _T_1070 = _T_1039_0 ? _T_281 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11916.4]
  assign _T_1071 = _T_1039_1 ? _T_837 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11917.4]
  assign _T_1072 = _T_1070 | _T_1071; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11918.4]
  assign _T_1075 = _T_966 ? _T_1008 : _T_1072; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11921.4]
  assign _T_1018 = auto_out_a_ready & _T_1075; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11897.4]
  assign _GEN_51 = {{9'd0}, _T_1018}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.4]
  assign _T_1019 = _T_965 - _GEN_51; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11899.4]
  assign _T_1021 = _T_1020[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11900.4]
  assign _T_1050_0 = _T_966 ? _T_986 : _T_1039_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.4]
  assign _T_1050_1 = _T_966 ? _T_987 : _T_1039_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.4]
  assign _T_1058_0 = _T_966 ? _T_976 : _T_1039_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.4]
  assign _T_1066 = auto_out_a_ready & _T_1058_0; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11911.4]
  assign _T_1077 = {_T_829,_T_842}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11923.4]
  assign _T_1078 = {_T_269_0_bits_address,_T_955}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11924.4]
  assign _T_1079 = {_T_1078,_T_1077}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11925.4]
  assign _T_1080 = {_T_269_0_bits_size,_T_269_0_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11926.4]
  assign _T_1082 = {6'h0,_T_1080}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11928.4]
  assign _T_1083 = {_T_1082,_T_1079}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11929.4]
  assign _T_1084 = _T_1050_0 ? _T_1083 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11930.4]
  assign _T_1085 = {auto_in_a_bits_data,auto_in_a_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11931.4]
  assign _T_1086 = {auto_in_a_bits_address,auto_in_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11932.4]
  assign _T_1087 = {_T_1086,_T_1085}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11933.4]
  assign _T_1088 = {auto_in_a_bits_size,auto_in_a_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11934.4]
  assign _T_1089 = {_GEN_0,_GEN_1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11935.4]
  assign _T_1090 = {_T_1089,_T_1088}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11936.4]
  assign _T_1091 = {_T_1090,_T_1087}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11937.4]
  assign _T_1092 = _T_1050_1 ? _T_1091 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11938.4]
  assign _T_1093 = _T_1084 | _T_1092; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11939.4]
  assign _T_1106 = _T_1067 & _T_837; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11960.4]
  assign _T_1108 = _T_1106 & _T_838; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11962.4]
  assign _T_1109 = auto_in_a_bits_param[1:0]; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11967.8]
  assign _GEN_52 = {{1'd0}, _T_1109}; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11968.8]
  assign _T_1110 = 3'h3 == _GEN_52; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11968.8]
  assign _T_1112 = 3'h0 == _GEN_52; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11970.8]
  assign _T_1114 = 3'h1 == _GEN_52; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11972.8]
  assign _T_1116 = 3'h2 == _GEN_52; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11974.8]
  assign _T_1118 = _T_1066 & _T_281; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.4]
  assign _T_1132 = _T_1128 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12000.4]
  assign _T_1144 = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@12015.4]
  assign _T_1150 = _T_1132 & _T_1144; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12031.4]
  assign _T_1140 = _T_269_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@12011.4]
  assign _T_1141 = _T_1140 & _T_285; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@12012.4]
  assign _T_1151 = _T_1150 & _T_1141; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@12032.4]
  assign _T_1156 = auto_in_d_ready | _T_1151; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@12038.4]
  assign _T_1119 = _T_1156 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11988.4]
  assign _T_1121 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11990.4]
  assign _T_1122 = _T_1121[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11991.4]
  assign _T_1123 = ~ _T_1122; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11992.4]
  assign _T_1124 = _T_1123[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11993.4]
  assign _T_1125 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11994.4]
  assign _T_1129 = _T_1128 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11997.4]
  assign _T_1130 = $unsigned(_T_1129); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11998.4]
  assign _T_1131 = _T_1130[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11999.4]
  assign _T_1145 = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@12016.4]
  assign _T_1147 = _T_1119 & _T_1132; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12018.4]
  assign _T_1148 = _T_1141 & _T_1144; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@12020.6]
  assign _T_1152 = _T_1132 & _T_1145; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@12033.4]
  assign _T_1153 = _T_1152 & _T_1141; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12034.4]
  assign _T_1154 = _T_1151 == 1'h0; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12035.4]
  assign _T_1157 = _T_276_0_corrupt | auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12044.6]
  assign _T_1158 = _T_276_0_denied | auto_out_d_bits_denied; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12046.6]
  assign auto_in_a_ready = _T_1067 & _T_835; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_1154; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_opcode = _T_1153 ? 3'h1 : auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_denied = _T_1153 ? _T_1158 : auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_data = _T_1153 ? _T_276_0_data : auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_in_d_bits_corrupt = _T_1153 ? _T_1157 : auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign auto_out_a_valid = _T_966 ? _T_1008 : _T_1072; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_opcode = _T_1093[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_param = _T_1093[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_size = _T_1093[73:70]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_source = _T_1093[69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_address = _T_1093[68:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_mask = _T_1093[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_data = _T_1093[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_a_bits_corrupt = _T_1093[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_1151; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11098.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11099.4]
  assign TLMonitor_io_in_a_ready = _T_1067 & _T_835; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_1154; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_1153 ? 3'h1 : auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_denied = _T_1153 ? _T_1158 : auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_1153 ? _T_1157 : auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11132.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_965 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1039_1 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1039_0 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  _T_1128 = _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_1147) begin
        if (_T_1141) begin
          if (_T_1144) begin
            _T_258_0_state <= 2'h2;
          end else begin
            _T_258_0_state <= 2'h0;
          end
        end else begin
          if (_T_1118) begin
            if (_T_281) begin
              _T_258_0_state <= 2'h1;
            end else begin
              if (_T_1108) begin
                if (_T_280) begin
                  _T_258_0_state <= 2'h3;
                end
              end
            end
          end else begin
            if (_T_1108) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end
      end else begin
        if (_T_1118) begin
          if (_T_281) begin
            _T_258_0_state <= 2'h1;
          end else begin
            if (_T_1108) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end else begin
          if (_T_1108) begin
            if (_T_280) begin
              _T_258_0_state <= 2'h3;
            end
          end
        end
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_opcode <= auto_in_a_bits_opcode;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_param <= auto_in_a_bits_param;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_size <= auto_in_a_bits_size;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_source <= auto_in_a_bits_source;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_address <= auto_in_a_bits_address;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_mask <= auto_in_a_bits_mask;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_data <= auto_in_a_bits_data;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_bits_corrupt <= auto_in_a_bits_corrupt;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        _T_269_0_fifoId <= _T_524;
      end
    end
    if (_T_1108) begin
      if (_T_280) begin
        if (_T_1116) begin
          _T_269_0_lut <= 4'h8;
        end else begin
          if (_T_1114) begin
            _T_269_0_lut <= 4'he;
          end else begin
            if (_T_1112) begin
              _T_269_0_lut <= 4'h6;
            end else begin
              if (_T_1110) begin
                _T_269_0_lut <= 4'hc;
              end else begin
                _T_269_0_lut <= 4'h0;
              end
            end
          end
        end
      end
    end
    if (_T_1147) begin
      if (_T_1148) begin
        _T_276_0_data <= auto_out_d_bits_data;
      end
    end
    if (_T_1147) begin
      if (_T_1148) begin
        _T_276_0_denied <= auto_out_d_bits_denied;
      end
    end
    if (_T_1147) begin
      if (_T_1148) begin
        _T_276_0_corrupt <= auto_out_d_bits_corrupt;
      end
    end
    if (reset) begin
      _T_965 <= 10'h0;
    end else begin
      if (_T_967) begin
        if (_T_987) begin
          if (_T_962) begin
            _T_965 <= _T_960;
          end else begin
            _T_965 <= 10'h0;
          end
        end else begin
          _T_965 <= 10'h0;
        end
      end else begin
        _T_965 <= _T_1021;
      end
    end
    if (reset) begin
      _T_1039_1 <= 1'h0;
    end else begin
      if (_T_966) begin
        _T_1039_1 <= _T_987;
      end
    end
    if (reset) begin
      _T_1039_0 <= 1'h0;
    end else begin
      if (_T_966) begin
        _T_1039_0 <= _T_986;
      end
    end
    if (reset) begin
      _T_1128 <= 10'h0;
    end else begin
      if (_T_1119) begin
        if (_T_1132) begin
          if (_T_1125) begin
            _T_1128 <= _T_1124;
          end else begin
            _T_1128 <= 10'h0;
          end
        end else begin
          _T_1128 <= _T_1131;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1007) 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@11880.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1007) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11881.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1014) 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@11891.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1014) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11892.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12072.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12073.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12074.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@12075.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@13913.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@12091.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12096.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@12098.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@12099.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12100.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@12101.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@12101.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@12102.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12104.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@12105.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@12107.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@12108.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12109.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12110.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@12111.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12113.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12114.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12116.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12117.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12118.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12119.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@12120.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12121.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12122.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12123.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12124.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12125.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12126.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12127.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12128.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12129.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12130.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12131.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@12133.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@12134.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@12135.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12139.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12160.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12163.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12164.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12165.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12166.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12167.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12168.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12169.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12170.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12171.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12172.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12173.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12174.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12175.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12176.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12177.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12178.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12179.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12180.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12181.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12182.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12183.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12184.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12185.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12186.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12187.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12188.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12189.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12190.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12191.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12192.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12193.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12194.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12195.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12196.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12197.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12198.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12199.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12200.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12201.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12202.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12203.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12204.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12205.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12206.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12207.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12208.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12209.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12210.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12211.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12212.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12213.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12214.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12215.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12216.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12217.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12220.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12221.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12222.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12223.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12224.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12225.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12226.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12227.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12228.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12229.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12230.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12231.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12232.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12233.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12234.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12235.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12236.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12237.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12238.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12239.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12240.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12241.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12256.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12269.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12270.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12277.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12278.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12284.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12285.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12290.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12292.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12293.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12299.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12301.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12302.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12307.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12309.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12310.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12316.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12454.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12456.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12457.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12480.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12483.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12491.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12493.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12566.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12567.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12568.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12569.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12570.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12571.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12572.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12573.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12574.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12575.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12576.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12577.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12579.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12581.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12583.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12584.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12603.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12605.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12606.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12611.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12613.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12614.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12628.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12707.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12708.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12709.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12710.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12712.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12713.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12714.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12715.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12730.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12733.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12734.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12770.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12844.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12845.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12846.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12847.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12848.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12849.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12850.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12851.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12872.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12875.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12876.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12903.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12904.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@12905.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12907.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12908.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12914.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12917.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12989.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12990.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12991.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12992.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12993.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12994.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12995.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12996.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12997.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13014.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13015.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13034.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13036.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13037.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13051.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13171.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13173.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13174.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13188.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13288.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13289.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13327.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13329.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13330.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13336.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13341.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13343.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13346.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13347.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13352.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13354.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13355.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13360.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13362.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13363.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13368.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13370.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13371.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13376.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13378.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13379.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13385.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13409.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13411.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13412.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13417.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13419.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13420.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13443.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13484.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13486.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13487.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13502.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13537.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13573.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13633.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13638.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@13639.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13640.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13642.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13643.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13644.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13645.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13646.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13657.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13658.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13659.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13660.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13661.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13662.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13663.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13665.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13667.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13668.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13673.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13675.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13676.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13681.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13683.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13684.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13689.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13691.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13692.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13697.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13699.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13700.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13707.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13715.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13717.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13718.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13719.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13720.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13721.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13723.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13724.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13725.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13726.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13727.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13738.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13739.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13740.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13741.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13742.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13743.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13744.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13745.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13747.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13749.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13750.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13755.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13757.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13758.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13763.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13765.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13766.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13771.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13773.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13774.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13779.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13781.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13782.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13787.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13789.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13790.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13797.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13806.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13816.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13817.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13818.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13819.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13820.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13839.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13840.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13841.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13842.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13843.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13858.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13861.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13863.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13864.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13865.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13867.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13868.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13860.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13879.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@13881.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13882.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13884.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13886.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13887.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13888.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13890.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13891.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@13883.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13897.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@13898.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13899.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13900.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13902.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13903.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13908.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13909.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13910.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13912.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13915.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13916.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13917.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13918.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@13919.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@13920.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13922.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13923.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13929.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13933.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12258.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12414.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12586.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12736.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12878.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13017.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13154.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13291.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13349.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13391.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13449.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13508.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13543.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13579.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@13913.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@12091.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12096.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@12098.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@12099.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@12100.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@12101.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@12101.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@12102.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12104.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@12105.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@12107.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@12108.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12109.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12110.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@12111.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12113.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12114.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12116.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12117.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12118.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@12119.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@12120.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12121.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12122.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12123.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12124.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12125.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12126.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12127.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12128.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12129.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12130.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@12131.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@12133.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@12134.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@12135.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12139.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12160.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12163.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12164.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12165.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12166.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12167.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12168.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12169.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12170.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12171.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12172.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12173.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12174.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12175.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12176.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12177.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12178.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12179.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12180.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12181.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12182.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12183.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12184.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12185.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12186.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12187.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12188.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12189.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12190.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12191.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12192.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12193.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12194.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12195.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12196.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12197.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12198.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12199.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12200.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12201.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12202.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12203.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12204.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12205.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12206.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12207.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12208.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12209.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12210.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12211.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12212.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12213.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12214.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12215.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12216.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12217.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12220.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12221.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12222.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12223.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12224.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12225.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12226.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12227.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12228.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12229.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12230.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12231.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12232.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@12233.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@12234.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12235.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@12236.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@12237.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12238.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12239.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12240.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12241.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12256.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12269.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12270.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12277.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12278.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12284.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12285.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12290.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12292.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12293.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12299.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12301.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12302.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12307.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12309.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12310.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12316.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12454.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12456.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12457.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12480.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12483.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12491.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12493.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12566.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12567.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12568.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12569.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12570.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12571.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12572.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12573.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12574.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12575.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12576.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12577.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12579.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12581.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12583.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12584.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12603.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12605.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12606.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12611.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12613.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12614.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12628.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12707.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12708.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12709.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12710.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12712.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12713.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12714.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12715.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12730.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12733.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12734.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12770.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12844.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12845.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12846.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12847.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12848.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12849.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12850.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12851.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12872.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12875.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12876.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12903.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12904.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@12905.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12907.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12908.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12914.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12917.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12989.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12990.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12991.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12992.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12993.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12994.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12995.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12996.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12997.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13014.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13015.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13034.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13036.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13037.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13051.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13171.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13173.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13174.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13188.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13288.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13289.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13327.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13329.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13330.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13336.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13341.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13343.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13346.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13347.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13352.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13354.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13355.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13360.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13362.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13363.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13368.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13370.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13371.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13376.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13378.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13379.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13385.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13409.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13411.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13412.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13417.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13419.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13420.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13443.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13484.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13486.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13487.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13502.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13537.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13573.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13633.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13638.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@13639.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13640.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13643.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13644.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13645.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13646.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13662.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13663.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13665.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13667.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13668.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13673.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13675.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13676.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13681.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13683.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13684.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13689.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13691.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13692.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13697.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13699.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13700.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13707.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13715.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13717.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13718.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13719.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13720.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13721.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13724.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13725.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13726.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13727.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13744.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13745.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13747.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13749.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13750.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13755.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13757.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13758.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13763.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13765.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13766.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13771.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13773.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13774.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13779.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13781.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13782.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13787.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13789.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13790.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13797.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13817.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13818.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13819.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13820.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13840.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13841.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13842.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13843.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13858.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13861.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13863.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13864.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13865.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13867.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13868.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13860.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13879.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@13881.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13882.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13884.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13886.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13887.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13888.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13890.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13891.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@13883.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13897.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@13898.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13899.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13900.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13902.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13903.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13908.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13909.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13910.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13915.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13916.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13917.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13918.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@13919.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@13920.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13922.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13923.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13929.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13933.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12258.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12414.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12586.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12736.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12878.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13017.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13154.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13291.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13349.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13391.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13449.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13508.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13543.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13579.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@12087.8]
        end
    `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@12088.8]
        end
    `ifdef STOP_COND
      end
    `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@12157.8]
        end
    `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@12158.8]
        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 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@12258.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12259.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 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@12265.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@12272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@12280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@12287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@12295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@12304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@12312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56: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_35 & _T_185) 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@12414.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12415.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 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@12421.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@12428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@12436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@12443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@12451.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@12459.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@12468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@12476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@12586.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@12593.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12594.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 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@12600.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 74: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_53 & _T_451) 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@12608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@12616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@12624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@12736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@12743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12744.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 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@12750.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@12758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@12766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@12878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@12885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@12892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@12900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@12910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@13017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@13024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13025.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 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@13031.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 99: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_85 & _T_812) 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@13039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100: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_85 & _T_455) 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@13047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101: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_95 & _T_802) 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@13154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105: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_95 & _T_191) 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@13161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13162.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 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@13168.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@13176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@13184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@13291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@13298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13299.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 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@13305.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@13313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@13321.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13322.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_1050) 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@13332.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13333.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@13349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@13357.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13358.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@13365.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13366.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@13373.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13374.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@13381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@13391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@13398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@13406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@13414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@13422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@13430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@13439.10]
        end
    `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@13440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@13449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@13456.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@13464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@13472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@13480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@13489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@13498.10]
        end
    `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@13499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@13508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@13516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@13524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@13533.10]
        end
    `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@13534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@13543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@13551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@13560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@13569.10]
        end
    `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@13570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@13579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@13587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@13595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@13604.10]
        end
    `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@13605.10]
        end
    `ifdef STOP_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@13614.6]
        end
    `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@13615.6]
        end
    `ifdef STOP_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@13622.6]
        end
    `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@13623.6]
        end
    `ifdef STOP_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@13630.6]
        end
    `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@13631.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@13670.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@13678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@13686.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13687.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@13694.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13695.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@13702.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14: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 (_T_1294 & _T_1298) 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@13752.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13753.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@13760.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13761.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@13768.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13769.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@13776.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13777.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@13784.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13785.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@13792.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13793.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@13870.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13871.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@13893.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13894.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@13905.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13906.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@13925.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13926.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13938.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13939.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13940.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13941.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.4]
  TLMonitor_5 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13948.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@13988.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13950.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13951.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13984.4]
endmodule
module TLMonitor_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14005.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14006.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14007.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@15558.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14024.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14029.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@14031.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@14032.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14033.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@14034.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@14034.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14035.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14037.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14038.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@14040.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@14041.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14042.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14043.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14044.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14046.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14047.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14049.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14050.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14051.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14052.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14053.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14054.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14055.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14056.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14057.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14058.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14059.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14060.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14061.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14062.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14063.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14064.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14065.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@14066.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@14067.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@14068.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14093.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14096.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14097.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14098.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14099.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14100.8]
  wire [30:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14101.8]
  wire [31:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14102.8]
  wire [31:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14103.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14104.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14105.8]
  wire [30:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14106.8]
  wire [31:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14107.8]
  wire [31:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14108.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14109.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14110.8]
  wire [30:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14111.8]
  wire [31:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14112.8]
  wire [31:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14113.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14114.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14115.8]
  wire [30:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14116.8]
  wire [31:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14117.8]
  wire [31:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14118.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14119.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14120.8]
  wire [30:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14121.8]
  wire [31:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14122.8]
  wire [31:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14123.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14124.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14125.8]
  wire [30:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14126.8]
  wire [31:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14127.8]
  wire [31:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14128.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14129.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14130.8]
  wire [30:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14131.8]
  wire [31:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14132.8]
  wire [31:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14133.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14134.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14135.8]
  wire [30:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14136.8]
  wire [31:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14137.8]
  wire [31:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14138.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14139.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14140.8]
  wire  _T_137; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14141.8]
  wire  _T_138; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14142.8]
  wire  _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14143.8]
  wire  _T_140; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14144.8]
  wire  _T_149; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14153.8]
  wire  _T_154; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14166.8]
  wire  _T_155; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14167.8]
  wire  _T_158; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14174.8]
  wire  _T_159; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14175.8]
  wire  _T_161; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14181.8]
  wire  _T_162; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14182.8]
  wire  _T_163; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14187.8]
  wire  _T_165; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14189.8]
  wire  _T_166; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14190.8]
  wire [3:0] _T_167; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14195.8]
  wire  _T_168; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14196.8]
  wire  _T_170; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14198.8]
  wire  _T_171; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14199.8]
  wire  _T_172; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14204.8]
  wire  _T_174; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14206.8]
  wire  _T_175; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14207.8]
  wire  _T_176; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14213.6]
  wire  _T_253; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14315.8]
  wire  _T_255; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14317.8]
  wire  _T_256; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14318.8]
  wire  _T_266; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14341.6]
  wire  _T_268; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14344.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14352.8]
  wire  _T_278; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14354.8]
  wire  _T_321; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14397.8]
  wire  _T_322; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14398.8]
  wire  _T_323; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14399.8]
  wire  _T_324; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14400.8]
  wire  _T_325; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14401.8]
  wire  _T_326; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14402.8]
  wire  _T_327; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14403.8]
  wire  _T_328; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14404.8]
  wire  _T_330; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14406.8]
  wire  _T_332; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14408.8]
  wire  _T_333; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14409.8]
  wire  _T_340; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14428.8]
  wire  _T_342; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14430.8]
  wire  _T_343; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14431.8]
  wire  _T_344; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14436.8]
  wire  _T_346; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14438.8]
  wire  _T_347; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14439.8]
  wire  _T_352; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14453.6]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14507.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14508.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14509.8]
  wire  _T_408; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14510.8]
  wire  _T_417; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14519.8]
  wire  _T_420; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14522.8]
  wire  _T_421; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14523.8]
  wire  _T_436; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14559.6]
  wire  _T_484; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14608.8]
  wire  _T_485; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14609.8]
  wire  _T_486; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14610.8]
  wire  _T_501; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14625.8]
  wire  _T_504; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.8]
  wire  _T_505; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14629.8]
  wire [3:0] _T_516; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14656.8]
  wire [3:0] _T_517; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14657.8]
  wire  _T_518; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14658.8]
  wire  _T_520; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14660.8]
  wire  _T_521; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14661.8]
  wire  _T_522; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14667.6]
  wire  _T_524; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.8]
  wire  _T_571; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14717.8]
  wire  _T_572; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14718.8]
  wire  _T_573; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14719.8]
  wire  _T_574; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14720.8]
  wire  _T_585; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14731.8]
  wire  _T_586; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14732.8]
  wire  _T_593; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@14751.8]
  wire  _T_595; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14753.8]
  wire  _T_596; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14754.8]
  wire  _T_601; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14768.6]
  wire  _T_672; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14852.8]
  wire  _T_674; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14854.8]
  wire  _T_675; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14855.8]
  wire  _T_680; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14869.6]
  wire  _T_743; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14933.8]
  wire  _T_744; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14934.8]
  wire  _T_759; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14972.6]
  wire  _T_761; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14974.6]
  wire  _T_762; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14975.6]
  wire  _T_764; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14981.6]
  wire  _T_773; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14986.6]
  wire  _T_775; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14988.6]
  wire  _T_777; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14991.8]
  wire  _T_778; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14992.8]
  wire  _T_779; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14997.8]
  wire  _T_781; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14999.8]
  wire  _T_782; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15000.8]
  wire  _T_783; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15005.8]
  wire  _T_785; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15007.8]
  wire  _T_786; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15008.8]
  wire  _T_787; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15013.8]
  wire  _T_789; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15015.8]
  wire  _T_790; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15016.8]
  wire  _T_791; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15021.8]
  wire  _T_793; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15023.8]
  wire  _T_794; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15024.8]
  wire  _T_795; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15030.6]
  wire  _T_806; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15054.8]
  wire  _T_808; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15056.8]
  wire  _T_809; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15057.8]
  wire  _T_810; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15062.8]
  wire  _T_812; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15064.8]
  wire  _T_813; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15065.8]
  wire  _T_823; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15088.6]
  wire  _T_843; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15129.8]
  wire  _T_845; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15131.8]
  wire  _T_846; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15132.8]
  wire  _T_852; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15147.6]
  wire  _T_869; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15182.6]
  wire  _T_887; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15218.6]
  wire  _T_916; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15278.4]
  wire [9:0] _T_921; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@15283.4]
  wire  _T_922; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@15284.4]
  wire  _T_923; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  reg [9:0] _T_926; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15287.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_927; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15288.4]
  wire [10:0] _T_928; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15289.4]
  wire [9:0] _T_929; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15290.4]
  wire  _T_930; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15291.4]
  reg [2:0] _T_939; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15302.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_941; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15303.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_943; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15304.4]
  reg [31:0] _RAND_3;
  reg  _T_945; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15305.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_947; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15306.4]
  reg [31:0] _RAND_5;
  wire  _T_948; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15307.4]
  wire  _T_949; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15308.4]
  wire  _T_950; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.6]
  wire  _T_952; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15312.6]
  wire  _T_953; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15313.6]
  wire  _T_954; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15318.6]
  wire  _T_956; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15320.6]
  wire  _T_957; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15321.6]
  wire  _T_958; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15326.6]
  wire  _T_960; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15328.6]
  wire  _T_961; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15329.6]
  wire  _T_962; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15334.6]
  wire  _T_964; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
  wire  _T_965; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15337.6]
  wire  _T_966; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15342.6]
  wire  _T_968; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15344.6]
  wire  _T_969; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15345.6]
  wire  _T_971; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15352.4]
  wire  _T_972; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15360.4]
  wire [26:0] _T_974; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15362.4]
  wire [11:0] _T_975; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15363.4]
  wire [11:0] _T_976; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15364.4]
  wire [9:0] _T_977; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@15365.4]
  wire  _T_978; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15366.4]
  reg [9:0] _T_981; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15368.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_982; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15369.4]
  wire [10:0] _T_983; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15370.4]
  wire [9:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15371.4]
  wire  _T_985; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15372.4]
  reg [2:0] _T_994; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15383.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_996; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15384.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_998; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15385.4]
  reg [31:0] _RAND_9;
  reg  _T_1000; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15386.4]
  reg [31:0] _RAND_10;
  reg  _T_1002; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15387.4]
  reg [31:0] _RAND_11;
  reg  _T_1004; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15388.4]
  reg [31:0] _RAND_12;
  wire  _T_1005; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15389.4]
  wire  _T_1006; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15390.4]
  wire  _T_1007; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15392.6]
  wire  _T_1009; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15394.6]
  wire  _T_1010; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15395.6]
  wire  _T_1011; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15400.6]
  wire  _T_1013; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15402.6]
  wire  _T_1014; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15403.6]
  wire  _T_1015; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15408.6]
  wire  _T_1017; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15410.6]
  wire  _T_1018; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15411.6]
  wire  _T_1019; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15416.6]
  wire  _T_1021; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15418.6]
  wire  _T_1022; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15419.6]
  wire  _T_1023; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15424.6]
  wire  _T_1025; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15426.6]
  wire  _T_1026; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15427.6]
  wire  _T_1027; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15432.6]
  wire  _T_1029; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15434.6]
  wire  _T_1030; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15435.6]
  wire  _T_1032; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15442.4]
  reg [1:0] _T_1034; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15451.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1045; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15461.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1046; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15462.4]
  wire [10:0] _T_1047; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15463.4]
  wire [9:0] _T_1048; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15464.4]
  wire  _T_1049; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15465.4]
  reg [9:0] _T_1066; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15484.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1067; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15485.4]
  wire [10:0] _T_1068; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15486.4]
  wire [9:0] _T_1069; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15487.4]
  wire  _T_1070; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15488.4]
  wire  _T_1081; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15503.4]
  wire [1:0] _T_1083; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15506.6]
  wire [1:0] _T_1084; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15508.6]
  wire  _T_1085; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15509.6]
  wire  _T_1086; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15510.6]
  wire  _T_1088; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15512.6]
  wire  _T_1089; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15513.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15505.4]
  wire  _T_1094; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15524.4]
  wire  _T_1096; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@15526.4]
  wire  _T_1097; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15527.4]
  wire [1:0] _T_1098; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15529.6]
  wire [1:0] _T_1099; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15531.6]
  wire [1:0] _T_1100; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15532.6]
  wire  _T_1101; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15533.6]
  wire  _T_1103; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15535.6]
  wire  _T_1104; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15536.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@15528.4]
  wire  _T_1105; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15542.4]
  wire  _T_1106; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@15543.4]
  wire  _T_1107; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15544.4]
  wire  _T_1108; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15545.4]
  wire  _T_1110; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15547.4]
  wire  _T_1111; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15548.4]
  wire [1:0] _T_1112; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15553.4]
  wire [1:0] _T_1113; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15554.4]
  wire [1:0] _T_1114; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15555.4]
  reg [31:0] _T_1116; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15557.4]
  reg [31:0] _RAND_16;
  wire  _T_1117; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15560.4]
  wire  _T_1118; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15561.4]
  wire  _T_1119; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15562.4]
  wire  _T_1120; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15563.4]
  wire  _T_1121; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.4]
  wire  _T_1122; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@15565.4]
  wire  _T_1124; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15567.4]
  wire  _T_1125; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15568.4]
  wire [31:0] _T_1127; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15574.4]
  wire  _T_1130; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15578.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14155.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14275.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14411.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14525.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14631.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14734.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14835.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14936.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14994.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15036.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15094.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15153.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15188.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15224.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@15558.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14024.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14029.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@14031.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@14032.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14033.6]
  assign _GEN_18 = {{19'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@14034.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@14034.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14035.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14037.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14038.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@14040.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@14041.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14042.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14043.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14044.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14046.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14047.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14049.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14050.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14051.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14052.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14053.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14054.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14055.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14056.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14057.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14058.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14059.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14060.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14061.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14062.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14063.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@14064.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14065.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@14066.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@14067.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@14068.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14093.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14096.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14097.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14098.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14099.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14100.8]
  assign _T_97 = io_in_a_bits_address ^ 31'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14101.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14102.8]
  assign _T_99 = $signed(_T_98) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14103.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14104.8]
  assign _T_101 = $signed(_T_100) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14105.8]
  assign _T_102 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14106.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14107.8]
  assign _T_104 = $signed(_T_103) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14108.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14109.8]
  assign _T_106 = $signed(_T_105) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14110.8]
  assign _T_107 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14111.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14112.8]
  assign _T_109 = $signed(_T_108) & $signed(-32'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14113.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14114.8]
  assign _T_111 = $signed(_T_110) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14115.8]
  assign _T_112 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14116.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14117.8]
  assign _T_114 = $signed(_T_113) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14118.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14119.8]
  assign _T_116 = $signed(_T_115) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14120.8]
  assign _T_117 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14121.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14122.8]
  assign _T_119 = $signed(_T_118) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14123.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14124.8]
  assign _T_121 = $signed(_T_120) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14125.8]
  assign _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14126.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14127.8]
  assign _T_124 = $signed(_T_123) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14128.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14129.8]
  assign _T_126 = $signed(_T_125) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14130.8]
  assign _T_127 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14131.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14132.8]
  assign _T_129 = $signed(_T_128) & $signed(-32'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14133.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14134.8]
  assign _T_131 = $signed(_T_130) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14135.8]
  assign _T_132 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@14136.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@14137.8]
  assign _T_134 = $signed(_T_133) & $signed(-32'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14138.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@14139.8]
  assign _T_136 = $signed(_T_135) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@14140.8]
  assign _T_137 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14141.8]
  assign _T_138 = _T_137 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14142.8]
  assign _T_139 = _T_138 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14143.8]
  assign _T_140 = _T_139 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14144.8]
  assign _T_149 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14153.8]
  assign _T_154 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14166.8]
  assign _T_155 = _T_154 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14167.8]
  assign _T_158 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14174.8]
  assign _T_159 = _T_158 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14175.8]
  assign _T_161 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14181.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14182.8]
  assign _T_163 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14187.8]
  assign _T_165 = _T_163 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14189.8]
  assign _T_166 = _T_165 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14190.8]
  assign _T_167 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14195.8]
  assign _T_168 = _T_167 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14196.8]
  assign _T_170 = _T_168 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14198.8]
  assign _T_171 = _T_170 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14199.8]
  assign _T_172 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14204.8]
  assign _T_174 = _T_172 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14206.8]
  assign _T_175 = _T_174 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14207.8]
  assign _T_176 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14213.6]
  assign _T_253 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14315.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14317.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14318.8]
  assign _T_266 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14341.6]
  assign _T_268 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14344.8]
  assign _T_276 = _T_268 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14352.8]
  assign _T_278 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14354.8]
  assign _T_321 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14397.8]
  assign _T_322 = _T_321 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14398.8]
  assign _T_323 = _T_322 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14399.8]
  assign _T_324 = _T_323 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14400.8]
  assign _T_325 = _T_324 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14401.8]
  assign _T_326 = _T_325 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14402.8]
  assign _T_327 = _T_326 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14403.8]
  assign _T_328 = _T_278 & _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14404.8]
  assign _T_330 = _T_276 | _T_328; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14406.8]
  assign _T_332 = _T_330 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14408.8]
  assign _T_333 = _T_332 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14409.8]
  assign _T_340 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14428.8]
  assign _T_342 = _T_340 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14430.8]
  assign _T_343 = _T_342 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14431.8]
  assign _T_344 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14436.8]
  assign _T_346 = _T_344 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14438.8]
  assign _T_347 = _T_346 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14439.8]
  assign _T_352 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14453.6]
  assign _T_405 = _T_323 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14507.8]
  assign _T_406 = _T_405 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14508.8]
  assign _T_407 = _T_406 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14509.8]
  assign _T_408 = _T_278 & _T_407; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14510.8]
  assign _T_417 = _T_276 | _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14519.8]
  assign _T_420 = _T_417 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14522.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14523.8]
  assign _T_436 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14559.6]
  assign _T_484 = _T_323 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14608.8]
  assign _T_485 = _T_484 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14609.8]
  assign _T_486 = _T_278 & _T_485; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14610.8]
  assign _T_501 = _T_276 | _T_486; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14625.8]
  assign _T_504 = _T_501 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.8]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14629.8]
  assign _T_516 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14656.8]
  assign _T_517 = io_in_a_bits_mask & _T_516; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14657.8]
  assign _T_518 = _T_517 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14658.8]
  assign _T_520 = _T_518 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14660.8]
  assign _T_521 = _T_520 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14661.8]
  assign _T_522 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14667.6]
  assign _T_524 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.8]
  assign _T_571 = _T_140 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14717.8]
  assign _T_572 = _T_571 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14718.8]
  assign _T_573 = _T_572 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14719.8]
  assign _T_574 = _T_524 & _T_573; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14720.8]
  assign _T_585 = _T_574 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14731.8]
  assign _T_586 = _T_585 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14732.8]
  assign _T_593 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@14751.8]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14753.8]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14754.8]
  assign _T_601 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14768.6]
  assign _T_672 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14852.8]
  assign _T_674 = _T_672 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14854.8]
  assign _T_675 = _T_674 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14855.8]
  assign _T_680 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14869.6]
  assign _T_743 = _T_276 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14933.8]
  assign _T_744 = _T_743 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14934.8]
  assign _T_759 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14972.6]
  assign _T_761 = _T_759 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14974.6]
  assign _T_762 = _T_761 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14975.6]
  assign _T_764 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14981.6]
  assign _T_773 = io_in_d_bits_source | _T_764; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14986.6]
  assign _T_775 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14988.6]
  assign _T_777 = _T_773 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14991.8]
  assign _T_778 = _T_777 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14992.8]
  assign _T_779 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14997.8]
  assign _T_781 = _T_779 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14999.8]
  assign _T_782 = _T_781 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15000.8]
  assign _T_783 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15005.8]
  assign _T_785 = _T_783 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15007.8]
  assign _T_786 = _T_785 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15008.8]
  assign _T_787 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15013.8]
  assign _T_789 = _T_787 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15015.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15016.8]
  assign _T_791 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15021.8]
  assign _T_793 = _T_791 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15023.8]
  assign _T_794 = _T_793 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15024.8]
  assign _T_795 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15030.6]
  assign _T_806 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15054.8]
  assign _T_808 = _T_806 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15056.8]
  assign _T_809 = _T_808 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15057.8]
  assign _T_810 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15062.8]
  assign _T_812 = _T_810 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15064.8]
  assign _T_813 = _T_812 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15065.8]
  assign _T_823 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15088.6]
  assign _T_843 = _T_791 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15129.8]
  assign _T_845 = _T_843 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15131.8]
  assign _T_846 = _T_845 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15132.8]
  assign _T_852 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15147.6]
  assign _T_869 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15182.6]
  assign _T_887 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15218.6]
  assign _T_916 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15278.4]
  assign _T_921 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@15283.4]
  assign _T_922 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@15284.4]
  assign _T_923 = _T_922 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  assign _T_927 = _T_926 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15288.4]
  assign _T_928 = $unsigned(_T_927); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15289.4]
  assign _T_929 = _T_928[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15290.4]
  assign _T_930 = _T_926 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15291.4]
  assign _T_948 = _T_930 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15307.4]
  assign _T_949 = io_in_a_valid & _T_948; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15308.4]
  assign _T_950 = io_in_a_bits_opcode == _T_939; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.6]
  assign _T_952 = _T_950 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15312.6]
  assign _T_953 = _T_952 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15313.6]
  assign _T_954 = io_in_a_bits_param == _T_941; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15318.6]
  assign _T_956 = _T_954 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15320.6]
  assign _T_957 = _T_956 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15321.6]
  assign _T_958 = io_in_a_bits_size == _T_943; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15326.6]
  assign _T_960 = _T_958 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15328.6]
  assign _T_961 = _T_960 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15329.6]
  assign _T_962 = io_in_a_bits_source == _T_945; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15334.6]
  assign _T_964 = _T_962 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
  assign _T_965 = _T_964 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15337.6]
  assign _T_966 = io_in_a_bits_address == _T_947; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15342.6]
  assign _T_968 = _T_966 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15344.6]
  assign _T_969 = _T_968 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15345.6]
  assign _T_971 = _T_916 & _T_930; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15352.4]
  assign _T_972 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15360.4]
  assign _T_974 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15362.4]
  assign _T_975 = _T_974[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15363.4]
  assign _T_976 = ~ _T_975; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15364.4]
  assign _T_977 = _T_976[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@15365.4]
  assign _T_978 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15366.4]
  assign _T_982 = _T_981 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15369.4]
  assign _T_983 = $unsigned(_T_982); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15370.4]
  assign _T_984 = _T_983[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15371.4]
  assign _T_985 = _T_981 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15372.4]
  assign _T_1005 = _T_985 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15389.4]
  assign _T_1006 = io_in_d_valid & _T_1005; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15390.4]
  assign _T_1007 = io_in_d_bits_opcode == _T_994; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15392.6]
  assign _T_1009 = _T_1007 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15394.6]
  assign _T_1010 = _T_1009 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15395.6]
  assign _T_1011 = io_in_d_bits_param == _T_996; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15400.6]
  assign _T_1013 = _T_1011 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15402.6]
  assign _T_1014 = _T_1013 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15403.6]
  assign _T_1015 = io_in_d_bits_size == _T_998; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15408.6]
  assign _T_1017 = _T_1015 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15410.6]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15411.6]
  assign _T_1019 = io_in_d_bits_source == _T_1000; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15416.6]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15418.6]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15419.6]
  assign _T_1023 = io_in_d_bits_sink == _T_1002; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15424.6]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15426.6]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15427.6]
  assign _T_1027 = io_in_d_bits_denied == _T_1004; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15432.6]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15434.6]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15435.6]
  assign _T_1032 = _T_972 & _T_985; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15442.4]
  assign _T_1046 = _T_1045 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15462.4]
  assign _T_1047 = $unsigned(_T_1046); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15463.4]
  assign _T_1048 = _T_1047[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15464.4]
  assign _T_1049 = _T_1045 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15465.4]
  assign _T_1067 = _T_1066 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15485.4]
  assign _T_1068 = $unsigned(_T_1067); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15486.4]
  assign _T_1069 = _T_1068[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15487.4]
  assign _T_1070 = _T_1066 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15488.4]
  assign _T_1081 = _T_916 & _T_1049; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15503.4]
  assign _T_1083 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15506.6]
  assign _T_1084 = _T_1034 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15508.6]
  assign _T_1085 = _T_1084[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15509.6]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15510.6]
  assign _T_1088 = _T_1086 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15512.6]
  assign _T_1089 = _T_1088 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15513.6]
  assign _GEN_15 = _T_1081 ? _T_1083 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15505.4]
  assign _T_1094 = _T_972 & _T_1070; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15524.4]
  assign _T_1096 = _T_775 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@15526.4]
  assign _T_1097 = _T_1094 & _T_1096; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15527.4]
  assign _T_1098 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15529.6]
  assign _T_1099 = _GEN_15 | _T_1034; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15531.6]
  assign _T_1100 = _T_1099 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15532.6]
  assign _T_1101 = _T_1100[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15533.6]
  assign _T_1103 = _T_1101 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15535.6]
  assign _T_1104 = _T_1103 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15536.6]
  assign _GEN_16 = _T_1097 ? _T_1098 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@15528.4]
  assign _T_1105 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15542.4]
  assign _T_1106 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@15543.4]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15544.4]
  assign _T_1108 = _T_1105 | _T_1107; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15545.4]
  assign _T_1110 = _T_1108 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15547.4]
  assign _T_1111 = _T_1110 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15548.4]
  assign _T_1112 = _T_1034 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15553.4]
  assign _T_1113 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15554.4]
  assign _T_1114 = _T_1112 & _T_1113; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15555.4]
  assign _T_1117 = _T_1034 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15560.4]
  assign _T_1118 = _T_1117 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15561.4]
  assign _T_1119 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15562.4]
  assign _T_1120 = _T_1118 | _T_1119; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15563.4]
  assign _T_1121 = _T_1116 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.4]
  assign _T_1122 = _T_1120 | _T_1121; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@15565.4]
  assign _T_1124 = _T_1122 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15567.4]
  assign _T_1125 = _T_1124 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15568.4]
  assign _T_1127 = _T_1116 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15574.4]
  assign _T_1130 = _T_916 | _T_972; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15578.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14155.10]
  assign _GEN_35 = io_in_a_valid & _T_176; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14275.10]
  assign _GEN_53 = io_in_a_valid & _T_266; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14411.10]
  assign _GEN_65 = io_in_a_valid & _T_352; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14525.10]
  assign _GEN_75 = io_in_a_valid & _T_436; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14631.10]
  assign _GEN_85 = io_in_a_valid & _T_522; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14734.10]
  assign _GEN_95 = io_in_a_valid & _T_601; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14835.10]
  assign _GEN_105 = io_in_a_valid & _T_680; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14936.10]
  assign _GEN_115 = io_in_d_valid & _T_775; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14994.10]
  assign _GEN_125 = io_in_d_valid & _T_795; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15036.10]
  assign _GEN_137 = io_in_d_valid & _T_823; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15094.10]
  assign _GEN_149 = io_in_d_valid & _T_852; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15153.10]
  assign _GEN_155 = io_in_d_valid & _T_869; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15188.10]
  assign _GEN_161 = io_in_d_valid & _T_887; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15224.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_926 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_939 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_941 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_943 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_945 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_947 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_981 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_994 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_996 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_998 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1000 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1002 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1004 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1034 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1045 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1066 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1116 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_926 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_930) begin
          if (_T_923) begin
            _T_926 <= _T_921;
          end else begin
            _T_926 <= 10'h0;
          end
        end else begin
          _T_926 <= _T_929;
        end
      end
    end
    if (_T_971) begin
      _T_939 <= io_in_a_bits_opcode;
    end
    if (_T_971) begin
      _T_941 <= io_in_a_bits_param;
    end
    if (_T_971) begin
      _T_943 <= io_in_a_bits_size;
    end
    if (_T_971) begin
      _T_945 <= io_in_a_bits_source;
    end
    if (_T_971) begin
      _T_947 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_981 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_985) begin
          if (_T_978) begin
            _T_981 <= _T_977;
          end else begin
            _T_981 <= 10'h0;
          end
        end else begin
          _T_981 <= _T_984;
        end
      end
    end
    if (_T_1032) begin
      _T_994 <= io_in_d_bits_opcode;
    end
    if (_T_1032) begin
      _T_996 <= io_in_d_bits_param;
    end
    if (_T_1032) begin
      _T_998 <= io_in_d_bits_size;
    end
    if (_T_1032) begin
      _T_1000 <= io_in_d_bits_source;
    end
    if (_T_1032) begin
      _T_1002 <= io_in_d_bits_sink;
    end
    if (_T_1032) begin
      _T_1004 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1034 <= 2'h0;
    end else begin
      _T_1034 <= _T_1114;
    end
    if (reset) begin
      _T_1045 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_1049) begin
          if (_T_923) begin
            _T_1045 <= _T_921;
          end else begin
            _T_1045 <= 10'h0;
          end
        end else begin
          _T_1045 <= _T_1048;
        end
      end
    end
    if (reset) begin
      _T_1066 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_1070) begin
          if (_T_978) begin
            _T_1066 <= _T_977;
          end else begin
            _T_1066 <= 10'h0;
          end
        end else begin
          _T_1066 <= _T_1069;
        end
      end
    end
    if (reset) begin
      _T_1116 <= 32'h0;
    end else begin
      if (_T_1130) begin
        _T_1116 <= 32'h0;
      end else begin
        _T_1116 <= _T_1127;
      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@14020.8]
        end
    `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@14021.8]
        end
    `ifdef STOP_COND
      end
    `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@14090.8]
        end
    `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@14091.8]
        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 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@14155.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14156.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 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@14162.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_155) 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@14169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_155) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_159) 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@14177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_159) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_162) 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@14184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_162) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_166) 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@14192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_166) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_171) 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@14201.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_171) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_175) 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@14209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_175) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14210.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 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@14275.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14276.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 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@14282.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_155) 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@14289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_155) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_159) 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@14297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_159) begin
          $fatal; // @[Monitor.scala 63: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_35 & _T_162) 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@14304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_162) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_166) 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@14312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_166) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_256) 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@14320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_256) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_171) 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@14329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_171) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_175) 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@14337.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_175) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14338.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_333) 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@14411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_333) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_155) 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@14418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_155) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_162) 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@14425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_162) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_343) 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@14433.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_343) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14434.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_347) 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@14441.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_347) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14442.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_175) 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@14449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_175) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_421) 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@14525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_421) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_155) 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@14532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_155) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_162) 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@14539.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_162) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_343) 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@14547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_343) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_347) 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@14555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_347) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_505) 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@14631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_505) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_155) 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@14638.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_155) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_162) 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@14645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_162) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_343) 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@14653.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_343) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14654.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_521) 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@14663.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_521) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_586) 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@14734.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_586) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_155) 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@14741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_155) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_162) 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@14748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_162) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_596) 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@14756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_596) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_347) 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@14764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_347) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_586) 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@14835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_586) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_155) 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@14842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_155) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_162) 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@14849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_162) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_675) 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@14857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_675) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_347) 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@14865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_347) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_744) 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@14936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_744) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_155) 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@14943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_155) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_162) 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@14950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_162) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_347) 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@14958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_347) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_175) 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@14966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_175) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14967.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_762) 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@14977.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_762) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14978.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_778) 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@14994.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_778) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14995.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_782) 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@15002.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_782) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15003.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_786) 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@15010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_786) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_790) 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@15018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_790) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_794) 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@15026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_794) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_778) 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@15036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_778) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_149) 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@15043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_149) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_782) 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@15051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_782) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_809) 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@15059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_809) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_813) 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@15067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_813) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_790) 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@15075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_790) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@15084.10]
        end
    `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@15085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_778) 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@15094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_778) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_149) 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@15101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_149) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_782) 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@15109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_782) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_809) 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@15117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_809) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_813) 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@15125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_813) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_846) 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@15134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_846) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@15143.10]
        end
    `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@15144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_778) 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@15153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_778) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_786) 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@15161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_786) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_790) 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@15169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_790) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@15178.10]
        end
    `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@15179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_778) 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@15188.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_778) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_786) 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@15196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_786) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_846) 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@15205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_846) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@15214.10]
        end
    `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@15215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_778) 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@15224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_778) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_786) 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@15232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_786) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_790) 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@15240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_790) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@15249.10]
        end
    `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@15250.10]
        end
    `ifdef STOP_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@15259.6]
        end
    `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@15260.6]
        end
    `ifdef STOP_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@15267.6]
        end
    `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@15268.6]
        end
    `ifdef STOP_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@15275.6]
        end
    `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@15276.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_953) 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@15315.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_953) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15316.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_957) 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@15323.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_957) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15324.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_961) 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@15331.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_961) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15332.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_965) 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@15339.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_965) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15340.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_969) 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@15347.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_969) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15348.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1010) 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@15397.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1010) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15398.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1014) 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@15405.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1014) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15406.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1018) 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@15413.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1018) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15414.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1022) 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@15421.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1022) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15422.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1026) 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@15429.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1026) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15430.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1030) 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@15437.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1030) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15438.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_1089) 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@15515.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1081 & _T_1089) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15516.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1097 & _T_1104) 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@15538.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1097 & _T_1104) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15539.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1111) 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@15550.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1111) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15551.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125) 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@15570.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1125) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15571.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLWidthWidget( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15583.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15584.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15585.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.4]
  TLMonitor_6 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15593.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@15633.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15633.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15632.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15595.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15596.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15629.4]
endmodule
module SimpleLazyModule_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15643.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15644.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15645.4]
  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [3:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [30:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [31:0] auto_widget_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [2:0]  auto_widget_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [1:0]  auto_widget_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [3:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_widget_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_widget_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [2:0]  auto_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [2:0]  auto_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [3:0]  auto_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [30:0] auto_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [3:0]  auto_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output [31:0] auto_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  output        auto_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [2:0]  auto_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [1:0]  auto_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [3:0]  auto_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input  [31:0] auto_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
  input         auto_from_cbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.4]
);
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [30:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [30:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.4]
  TLWidthWidget widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15651.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@15664.4]
  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign auto_from_cbus_out_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign auto_from_cbus_out_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15663.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15655.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15656.4]
  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15664.4]
  assign widget_auto_out_a_ready = auto_from_cbus_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_valid = auto_from_cbus_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_opcode = auto_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_param = auto_from_cbus_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_size = auto_from_cbus_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_source = auto_from_cbus_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_sink = auto_from_cbus_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_denied = auto_from_cbus_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_data = auto_from_cbus_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
  assign widget_auto_out_d_bits_corrupt = auto_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15662.4]
endmodule
module TLMonitor_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15673.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15675.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15676.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16808.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15692.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15697.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15699.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15700.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15701.6]
  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15702.6]
  wire [27:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15702.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15703.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15705.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15706.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@15708.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15709.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15710.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15711.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15712.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15714.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15715.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15717.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15718.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15719.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15720.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15721.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15722.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15723.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15725.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15726.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15727.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15728.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15729.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15730.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15731.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15732.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15733.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15734.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15735.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15736.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15761.6]
  wire [27:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15764.8]
  wire [28:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15765.8]
  wire [28:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15766.8]
  wire [28:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15767.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@15768.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15773.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15786.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15787.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15794.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15795.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15801.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15802.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15807.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15809.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15810.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15815.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15816.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15818.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15819.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15824.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15826.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15827.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15833.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15887.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15889.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15890.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15913.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@15916.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@15924.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15927.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15928.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15947.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15949.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15950.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15955.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15957.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15958.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15972.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16023.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16065.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16066.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16067.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16069.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16070.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16076.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16107.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16109.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16110.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16124.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16155.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16157.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16158.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16172.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16222.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16224.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16225.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@16231.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16236.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16238.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16241.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16242.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16247.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16249.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16250.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16280.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16338.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16397.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16432.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16468.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16528.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16533.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16534.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16535.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16537.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16538.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16539.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16540.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16541.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16552.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16553.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16554.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16555.4]
  reg [31:0] _RAND_4;
  reg [27:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16556.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16557.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16558.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16560.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16562.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16563.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16568.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16570.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16571.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16576.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16578.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16579.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16584.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16586.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16587.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16592.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16594.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16595.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16602.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16610.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16612.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16613.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16614.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16615.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16616.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16618.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16619.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16620.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16621.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16622.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16633.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16635.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16636.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16639.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16640.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16642.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16644.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16645.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16658.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16660.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16661.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16666.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16668.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16669.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16692.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16701.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16711.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16712.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16713.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16714.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16715.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16734.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16735.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16736.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16737.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16738.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16753.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16756.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16758.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16759.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16760.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16762.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16763.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16755.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16774.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@16776.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16777.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16779.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16781.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16782.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16783.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16785.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16786.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@16778.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16792.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16793.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16794.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16795.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16797.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16798.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16803.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16804.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16805.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16807.4]
  reg [31:0] _RAND_13;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16810.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16811.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16812.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16813.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@16814.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@16815.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16817.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16818.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16824.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16828.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15775.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15847.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15930.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15989.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16040.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16090.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16138.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16186.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16244.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16286.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16344.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16403.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16438.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16474.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16808.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15692.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15697.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15699.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15700.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15701.6]
  assign _GEN_18 = {{22'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15702.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15702.6]
  assign _T_36 = _T_35 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15703.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15705.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15706.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@15708.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15709.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15710.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15711.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15712.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15714.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15715.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15717.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15718.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15719.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15720.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15721.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15722.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15723.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15725.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15726.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15727.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15728.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15729.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15730.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15731.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15732.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15733.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15734.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15735.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15736.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15761.6]
  assign _T_92 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15764.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15765.8]
  assign _T_94 = $signed(_T_93) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15766.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15767.8]
  assign _T_96 = $signed(_T_95) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@15768.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15773.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15786.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15787.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15794.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15795.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15801.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15802.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15807.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15809.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15810.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15815.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15816.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15818.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15819.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15824.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15826.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15827.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15833.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15887.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15889.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15890.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15913.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@15916.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@15924.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15927.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15928.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15947.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15949.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15950.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15955.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15957.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15958.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15972.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16023.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16065.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16066.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16067.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16069.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16070.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16076.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16107.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16109.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16110.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16124.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16155.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16157.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16158.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16172.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16222.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16224.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16225.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@16231.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16236.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16238.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16241.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16242.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16247.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16249.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16250.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16280.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16338.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16397.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16432.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16468.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16528.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16533.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16534.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16535.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16538.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16539.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16540.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16541.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16557.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16558.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16560.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16562.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16563.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16568.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16570.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16571.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16576.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16578.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16579.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16584.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16586.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16587.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16592.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16594.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16595.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16602.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16610.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16612.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16613.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16614.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16615.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16616.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16619.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16620.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16621.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16622.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16639.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16640.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16642.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16644.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16645.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16658.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16660.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16661.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16666.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16668.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16669.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16692.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16712.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16713.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16714.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16715.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16735.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16736.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16737.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16738.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16753.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16756.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16758.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16759.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16760.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16762.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16763.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16755.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16774.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@16776.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16777.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16779.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16781.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16782.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16783.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16785.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16786.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@16778.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16792.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16793.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16794.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16795.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16797.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16798.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16803.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16804.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16805.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16810.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16811.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16812.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16813.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@16814.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@16815.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16817.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16818.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16824.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16828.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15775.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15847.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15930.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15989.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16040.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16090.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16138.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16186.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16244.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16286.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16344.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16403.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16438.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16474.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@15688.8]
        end
    `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@15689.8]
        end
    `ifdef STOP_COND
      end
    `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@15758.8]
        end
    `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@15759.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@15775.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@15776.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@15782.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@15783.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@15789.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@15790.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@15797.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@15798.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@15804.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@15805.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@15812.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@15813.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@15821.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@15822.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@15829.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@15830.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@15847.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@15848.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@15854.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@15855.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@15861.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@15862.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@15869.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@15870.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@15876.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@15877.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@15884.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@15885.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@15892.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@15893.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@15901.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@15902.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@15909.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@15910.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@15930.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@15931.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@15937.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@15938.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@15944.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@15945.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@15952.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@15953.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@15960.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@15961.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@15968.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@15969.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@15989.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@15990.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@15996.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@15997.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@16003.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@16004.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@16011.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@16012.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@16019.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@16020.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@16040.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@16041.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@16047.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@16048.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@16054.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@16055.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@16062.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@16063.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@16072.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@16073.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@16090.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@16091.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@16097.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@16098.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@16104.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@16105.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@16112.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@16113.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@16120.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@16121.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@16138.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@16139.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@16145.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@16146.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@16152.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@16153.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@16160.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@16161.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@16168.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@16169.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@16186.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@16187.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@16193.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@16194.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@16200.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@16201.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@16208.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@16209.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@16216.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@16217.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@16227.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@16228.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@16244.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@16245.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@16252.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@16253.10]
        end
    `ifdef STOP_COND
      end
    `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@16260.10]
        end
    `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@16261.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@16268.10]
        end
    `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@16269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@16276.10]
        end
    `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@16277.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@16286.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@16287.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@16293.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@16294.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@16301.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@16302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16309.10]
        end
    `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@16310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16317.10]
        end
    `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@16318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16325.10]
        end
    `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@16326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16334.10]
        end
    `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@16335.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@16344.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@16345.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@16351.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@16352.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@16359.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@16360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16367.10]
        end
    `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@16368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16375.10]
        end
    `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@16376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@16384.10]
        end
    `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@16385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@16393.10]
        end
    `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@16394.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@16403.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@16404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@16411.10]
        end
    `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@16412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16419.10]
        end
    `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@16420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16428.10]
        end
    `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@16429.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@16438.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@16439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@16446.10]
        end
    `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@16447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@16455.10]
        end
    `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@16456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@16464.10]
        end
    `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@16465.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@16474.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@16475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@16482.10]
        end
    `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@16483.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16490.10]
        end
    `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@16491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@16499.10]
        end
    `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@16500.10]
        end
    `ifdef STOP_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@16509.6]
        end
    `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@16510.6]
        end
    `ifdef STOP_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@16517.6]
        end
    `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@16518.6]
        end
    `ifdef STOP_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@16525.6]
        end
    `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@16526.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@16565.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@16566.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@16573.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@16574.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@16581.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@16582.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@16589.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@16590.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@16597.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@16598.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@16647.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@16648.8]
        end
    `ifdef STOP_COND
      end
    `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@16655.8]
        end
    `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@16656.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@16663.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@16664.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@16671.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@16672.8]
        end
    `ifdef STOP_COND
      end
    `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@16679.8]
        end
    `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@16680.8]
        end
    `ifdef STOP_COND
      end
    `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@16687.8]
        end
    `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@16688.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@16765.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@16766.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@16788.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@16789.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@16800.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@16801.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@16820.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@16821.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16833.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16834.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16835.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input  [27:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output [27:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16841.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_4;
  reg [27:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16842.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16845.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16851.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16852.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16857.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16858.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16859.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16845.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16851.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16852.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16857.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16858.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16859.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16850.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16847.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16844.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16849.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@16864.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16865.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16866.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16867.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [27:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [27:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16991.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16915.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16916.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16917.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16919.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16920.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16922.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16923.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16925.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16926.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16927.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16928.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16944.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16945.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16946.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16946.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16947.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16947.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16948.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16948.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16949.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16950.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16951.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16952.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16953.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16954.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16955.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16956.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16956.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16957.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16958.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16959.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16960.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@16961.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16962.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16963.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16977.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16979.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16980.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16981.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16964.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16966.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16966.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16967.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16968.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16973.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16983.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17016.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17017.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17019.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17020.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17021.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17023.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17024.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17025.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17026.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17027.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17029.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17030.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17031.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17032.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17033.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17034.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17035.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17036.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17039.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@17046.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17047.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17051.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@16911.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17052.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17056.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@17057.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@17061.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@17061.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@17062.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@17063.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@17064.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@17064.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@17065.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17066.4]
  wire [27:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@17067.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17069.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@17073.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17075.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17077.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17078.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@17085.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17086.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17088.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17089.4]
  TLMonitor_7 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16874.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@16991.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@16918.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16919.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16920.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16922.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16923.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16925.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16926.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16927.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16928.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16944.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16945.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16946.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16946.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16947.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16947.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16948.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16948.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16949.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16950.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16951.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16952.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16953.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16954.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16955.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16956.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16956.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16957.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16958.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16959.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16960.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@16961.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16962.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16963.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16977.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16979.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16980.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16981.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16964.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16966.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16966.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16967.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16968.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16973.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16983.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17016.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17017.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17019.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17020.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17021.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17023.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17024.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17025.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17026.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17027.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17030.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17031.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17032.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17033.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17034.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17035.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17036.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17039.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17047.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17051.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@16911.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17052.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17056.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@17057.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@17061.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@17061.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@17062.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@17063.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@17064.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@17064.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@17065.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17066.4]
  assign _GEN_14 = {{22'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@17067.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17069.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@17073.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17075.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17077.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17078.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@17085.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17086.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17088.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17089.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16914.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16914.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16914.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16914.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16914.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16914.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.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@16913.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16913.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16876.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16877.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16910.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16993.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16994.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17059.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.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@16939.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@16940.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@17080.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@17081.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@17091.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@17092.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17110.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17112.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17113.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@18245.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17129.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17134.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17136.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17137.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17138.6]
  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@17139.6]
  wire [27:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@17139.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17140.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17142.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17143.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@17145.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17146.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17147.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17148.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17149.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17151.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17152.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17154.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17155.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17156.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17157.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17158.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17159.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17160.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17162.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17163.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17164.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17165.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17166.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17167.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17168.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17169.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17170.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17171.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17172.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17173.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17198.6]
  wire [27:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17201.8]
  wire [28:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17202.8]
  wire [28:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@17203.8]
  wire [28:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@17204.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@17205.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17210.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17223.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17224.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17231.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17232.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17238.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17239.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17244.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17246.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17247.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@17252.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17253.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17255.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17256.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@17261.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17263.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17264.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17270.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17324.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17326.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17327.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17350.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@17353.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@17361.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17364.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17365.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17384.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17386.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17387.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17392.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17394.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17395.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17409.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17460.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17502.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17503.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17504.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17506.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17507.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17513.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17544.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17546.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17547.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17561.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17592.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17594.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17595.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17609.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17659.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17661.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17662.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17668.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17673.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17675.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17678.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17679.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17684.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17686.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17687.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17717.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17775.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17834.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17869.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17905.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17965.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17970.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17971.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17974.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17975.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17976.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17977.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17989.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17990.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17991.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17992.4]
  reg [31:0] _RAND_4;
  reg [27:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17993.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17994.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17995.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17997.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17999.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18000.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18005.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18007.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18008.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18013.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18015.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18016.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18021.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18023.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18029.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18031.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18032.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18039.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18047.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18049.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18050.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18051.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18052.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18053.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18055.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18056.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18057.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18058.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18059.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18070.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18072.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18073.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18076.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18077.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18079.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18081.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18082.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18095.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18098.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18103.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18105.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18106.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18129.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18138.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18148.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18149.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18150.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18151.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18152.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18171.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18172.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18173.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18174.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18175.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18190.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@18193.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@18195.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@18196.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18197.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18199.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18200.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@18192.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18211.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@18213.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@18214.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@18216.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18218.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18219.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18220.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18222.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18223.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@18215.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18229.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@18230.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18231.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18232.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18234.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18235.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18240.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18241.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18242.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18244.4]
  reg [31:0] _RAND_13;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@18247.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18248.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18249.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18250.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@18251.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18254.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18255.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18261.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18265.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17212.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17284.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17367.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17426.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17477.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17527.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17575.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17623.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17681.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17723.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17781.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17840.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17875.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17911.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@18245.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17129.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17134.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17136.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17137.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17138.6]
  assign _GEN_18 = {{22'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@17139.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@17139.6]
  assign _T_36 = _T_35 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17140.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17142.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17143.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@17145.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17146.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17147.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17148.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17149.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17151.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17152.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17154.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17155.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17156.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17157.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17158.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17159.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17160.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17162.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17163.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17164.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17165.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17166.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17167.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17168.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17169.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17170.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17171.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17172.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@17173.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17198.6]
  assign _T_92 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17201.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17202.8]
  assign _T_94 = $signed(_T_93) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@17203.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@17204.8]
  assign _T_96 = $signed(_T_95) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@17205.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17210.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17223.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17224.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17231.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17232.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17238.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17239.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17244.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17246.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17247.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@17252.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17253.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17255.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17256.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@17261.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17263.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17264.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17270.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17324.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17326.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17327.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17350.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@17353.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@17361.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17364.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17365.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17384.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17386.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17387.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17392.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17394.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17395.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17409.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17460.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17502.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17503.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17504.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17506.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17507.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17513.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17544.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17546.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17547.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17561.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17592.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17594.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17595.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17609.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17659.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17661.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17662.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17668.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17673.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17675.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17678.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17679.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17684.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17686.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17687.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17717.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17775.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17834.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17869.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17905.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17965.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17970.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17971.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17975.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17976.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17977.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17994.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17995.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17997.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17999.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18000.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18005.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18007.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18008.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18013.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18015.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18016.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18021.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18023.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18029.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18031.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18032.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18039.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18047.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18049.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18050.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18051.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18052.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18053.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18056.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18057.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18058.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18059.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18076.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18077.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18079.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18081.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18082.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18095.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18098.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18103.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18105.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18106.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18129.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18149.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18150.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18151.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18152.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18172.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18173.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18174.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18175.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18190.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@18193.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@18195.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@18196.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18197.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18199.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18200.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@18192.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18211.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@18213.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@18214.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@18216.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18218.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18219.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18220.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18222.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18223.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@18215.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18229.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@18230.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18231.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18232.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18234.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18235.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18240.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18241.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18242.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@18247.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@18248.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18249.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18250.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@18251.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18254.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18255.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18261.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18265.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17212.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17284.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17367.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17426.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17477.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17527.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17575.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17623.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17681.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17723.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17781.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17840.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17875.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17911.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@17125.8]
        end
    `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@17126.8]
        end
    `ifdef STOP_COND
      end
    `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@17195.8]
        end
    `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@17196.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@17212.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@17213.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@17219.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@17220.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@17226.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@17227.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@17234.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@17235.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@17241.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@17242.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@17249.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@17250.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@17258.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@17259.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@17266.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@17267.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@17284.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@17285.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@17291.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@17292.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@17298.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@17299.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@17306.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@17307.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@17313.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@17314.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@17321.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@17322.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@17329.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@17330.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@17338.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@17339.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@17346.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@17347.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@17367.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@17368.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@17374.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@17375.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@17381.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@17382.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@17389.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@17390.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@17397.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@17398.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@17405.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@17406.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@17426.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@17427.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@17433.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@17434.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@17440.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@17441.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@17448.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@17449.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@17456.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@17457.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@17477.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@17478.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@17484.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@17485.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@17491.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@17492.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@17499.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@17500.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@17509.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@17510.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@17527.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@17528.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@17534.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@17535.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@17541.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@17542.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@17549.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@17550.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@17557.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@17558.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@17575.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@17576.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@17582.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@17583.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@17589.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@17590.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@17597.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@17598.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@17605.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@17606.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@17623.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@17624.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@17630.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@17631.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@17637.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@17638.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@17645.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@17646.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@17653.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@17654.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@17664.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@17665.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@17681.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@17682.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@17689.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@17690.10]
        end
    `ifdef STOP_COND
      end
    `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@17697.10]
        end
    `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@17698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@17705.10]
        end
    `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@17706.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@17713.10]
        end
    `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@17714.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@17723.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@17724.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@17730.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@17731.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@17738.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@17739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17746.10]
        end
    `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@17747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17754.10]
        end
    `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@17755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17762.10]
        end
    `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@17763.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17771.10]
        end
    `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@17772.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@17781.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@17782.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@17788.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@17789.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@17796.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@17797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17804.10]
        end
    `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@17805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17812.10]
        end
    `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@17813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@17821.10]
        end
    `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@17822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@17830.10]
        end
    `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@17831.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@17840.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@17841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@17848.10]
        end
    `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@17849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17856.10]
        end
    `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@17857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17865.10]
        end
    `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@17866.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@17875.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@17876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@17883.10]
        end
    `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@17884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@17892.10]
        end
    `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@17893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@17901.10]
        end
    `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@17902.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@17911.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@17912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@17919.10]
        end
    `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@17920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17927.10]
        end
    `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@17928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@17936.10]
        end
    `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@17937.10]
        end
    `ifdef STOP_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@17946.6]
        end
    `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@17947.6]
        end
    `ifdef STOP_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@17954.6]
        end
    `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@17955.6]
        end
    `ifdef STOP_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@17962.6]
        end
    `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@17963.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@18002.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@18003.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@18010.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@18011.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@18018.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@18019.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@18026.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@18027.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@18034.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@18035.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@18084.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@18085.8]
        end
    `ifdef STOP_COND
      end
    `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@18092.8]
        end
    `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@18093.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@18100.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@18101.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@18108.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@18109.8]
        end
    `ifdef STOP_COND
      end
    `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@18116.8]
        end
    `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@18117.8]
        end
    `ifdef STOP_COND
      end
    `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@18124.8]
        end
    `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@18125.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@18202.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@18203.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@18225.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@18226.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@18237.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@18238.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@18257.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@18258.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18270.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18271.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18272.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18273.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.4]
  TLMonitor_8 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.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@18320.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18320.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18320.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18320.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18320.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18320.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18282.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18283.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18316.4]
endmodule
module SimpleLazyModule_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18330.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18331.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18332.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [27:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [27:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [27:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [27:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18344.4]
  TLFragmenter fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@18338.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@18344.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@18352.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18342.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18343.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18351.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18348.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18349.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18352.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18350.4]
endmodule
module TLMonitor_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18361.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18363.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@18364.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19485.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18380.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18385.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18387.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18388.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18389.6]
  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18390.6]
  wire [25:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18390.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18391.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18393.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18394.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@18396.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18397.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18398.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18399.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18400.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18402.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18403.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18405.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18406.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18407.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18408.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18409.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18410.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18411.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18413.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18414.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18415.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18416.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18417.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18418.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18419.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18420.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18421.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18422.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18423.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18424.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18449.6]
  wire [25:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18452.8]
  wire [26:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18453.8]
  wire [26:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18454.8]
  wire [26:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18455.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@18456.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18461.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18474.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18475.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18482.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18483.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18489.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18490.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18495.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18497.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18498.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18503.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18504.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18506.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18507.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18512.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18514.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18515.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18521.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18575.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18577.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18578.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18601.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@18604.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@18612.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18615.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18616.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18635.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18637.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18638.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18643.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18645.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18646.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18660.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18711.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18753.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18754.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18755.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18757.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18758.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18764.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18795.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18797.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18798.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18812.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18843.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18845.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18846.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18860.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18910.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18912.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18913.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18919.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18924.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18926.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18929.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18930.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18935.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18937.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18938.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18968.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19026.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19085.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19120.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19156.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19216.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19222.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19223.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19226.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19227.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19228.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19229.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19240.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19241.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19242.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19243.4]
  reg [31:0] _RAND_4;
  reg [25:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19244.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19245.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19246.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19248.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19250.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19251.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19256.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19264.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19266.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19272.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19274.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19275.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19280.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19282.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19283.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19290.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19298.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19300.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19301.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@19303.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19304.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19307.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19308.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19309.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19310.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19321.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19323.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19324.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19327.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19328.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19330.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19332.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19333.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19346.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19348.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19349.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19354.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19356.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19357.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19380.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19389.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19399.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19400.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19401.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19402.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19403.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19422.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19423.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19425.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19426.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19441.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19444.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19446.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19447.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19448.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19451.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19443.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19462.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@19464.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19465.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19467.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19469.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19470.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19471.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19473.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19474.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@19466.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19480.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19481.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19482.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19484.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19487.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19488.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19489.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19490.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@19491.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@19492.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19494.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19495.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19501.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19505.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18463.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18535.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18618.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18677.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18728.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18778.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18826.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18874.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18932.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18974.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19032.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19091.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19126.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19162.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19485.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18380.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18385.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18387.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18388.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18389.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18390.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18390.6]
  assign _T_36 = _T_35 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18391.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18393.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18394.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@18396.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18397.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18398.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18399.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18400.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18402.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18403.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18405.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18406.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18407.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18408.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18409.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18410.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18411.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18413.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18414.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18415.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18416.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18417.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18418.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18419.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18420.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18421.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18422.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18423.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18424.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18449.6]
  assign _T_92 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18452.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18453.8]
  assign _T_94 = $signed(_T_93) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18454.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18455.8]
  assign _T_96 = $signed(_T_95) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@18456.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18461.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18474.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18475.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18482.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18483.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18489.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18490.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18495.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18497.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18498.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18503.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18504.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18506.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18507.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18512.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18514.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18515.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18521.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18575.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18577.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18578.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18601.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@18604.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@18612.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18615.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18616.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18635.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18637.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18638.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18643.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18645.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18646.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18660.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18711.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18753.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18754.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18755.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18757.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18758.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18764.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18795.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18797.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18798.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18812.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18843.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18845.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18846.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18860.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18910.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18912.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18913.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18919.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18924.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18926.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18929.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18930.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18935.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18937.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18938.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18968.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19026.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19085.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19120.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19156.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19216.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19222.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19223.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19226.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19227.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19228.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19229.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19245.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19246.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19248.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19250.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19251.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19256.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19264.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19266.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19272.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19274.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19275.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19280.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19282.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19283.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19290.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19298.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19300.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19301.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@19303.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19304.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19307.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19308.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19309.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19310.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19327.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19328.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19330.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19332.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19333.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19346.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19348.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19349.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19354.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19356.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19357.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19380.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19400.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19401.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19402.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19403.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19423.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19425.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19426.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19441.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19444.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19446.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19447.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19448.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19451.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19443.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19462.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@19464.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19465.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19467.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19469.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19470.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19471.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19473.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19474.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@19466.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19480.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19481.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19482.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19487.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19488.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19489.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19490.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@19491.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@19492.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19494.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19495.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19501.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19505.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18463.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18535.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18618.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18677.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18728.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18778.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18826.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18874.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18932.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18974.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19032.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19091.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19126.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19162.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@18376.8]
        end
    `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@18377.8]
        end
    `ifdef STOP_COND
      end
    `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@18446.8]
        end
    `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@18447.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@18463.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@18464.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@18470.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@18471.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@18477.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@18478.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@18485.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@18486.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@18492.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@18493.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@18500.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@18501.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@18509.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@18510.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@18517.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@18518.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@18535.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@18536.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@18542.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@18543.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@18549.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@18550.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@18557.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@18558.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@18564.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@18565.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@18572.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@18573.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@18580.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@18581.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@18589.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@18590.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@18597.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@18598.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@18618.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@18619.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@18625.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@18626.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@18632.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@18633.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@18640.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@18641.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@18648.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@18649.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@18656.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@18657.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@18677.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@18678.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@18684.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@18685.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@18691.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@18692.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@18699.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@18700.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@18707.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@18708.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@18728.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@18729.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@18735.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@18736.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@18742.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@18743.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@18750.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@18751.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@18760.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@18761.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@18778.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@18779.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@18785.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@18786.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@18792.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@18793.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@18800.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@18801.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@18808.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@18809.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@18826.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@18827.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@18833.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@18834.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@18840.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@18841.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@18848.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@18849.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@18856.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@18857.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@18874.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@18875.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@18881.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@18882.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@18888.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@18889.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@18896.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@18897.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@18904.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@18905.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@18915.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@18916.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@18932.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@18933.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@18940.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@18941.10]
        end
    `ifdef STOP_COND
      end
    `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@18948.10]
        end
    `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@18949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@18956.10]
        end
    `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@18957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@18964.10]
        end
    `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@18965.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@18974.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@18975.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@18981.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@18982.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@18989.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@18990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@18997.10]
        end
    `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@18998.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19005.10]
        end
    `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@19006.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19013.10]
        end
    `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@19014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19022.10]
        end
    `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@19023.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@19032.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@19033.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@19039.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@19040.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@19047.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@19048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19055.10]
        end
    `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@19056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19063.10]
        end
    `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@19064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@19072.10]
        end
    `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@19073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@19081.10]
        end
    `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@19082.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@19091.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@19092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@19099.10]
        end
    `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@19100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19107.10]
        end
    `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@19108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19116.10]
        end
    `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@19117.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@19126.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@19127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@19134.10]
        end
    `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@19135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@19143.10]
        end
    `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@19144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@19152.10]
        end
    `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@19153.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@19162.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@19163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@19170.10]
        end
    `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@19171.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19178.10]
        end
    `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@19179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@19187.10]
        end
    `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@19188.10]
        end
    `ifdef STOP_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@19197.6]
        end
    `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@19198.6]
        end
    `ifdef STOP_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@19205.6]
        end
    `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@19206.6]
        end
    `ifdef STOP_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@19213.6]
        end
    `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@19214.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@19253.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@19254.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@19261.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@19262.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@19269.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@19270.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@19277.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@19278.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@19285.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@19286.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@19335.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@19336.8]
        end
    `ifdef STOP_COND
      end
    `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@19343.8]
        end
    `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@19344.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@19351.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@19352.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@19359.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@19360.8]
        end
    `ifdef STOP_COND
      end
    `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@19367.8]
        end
    `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@19368.8]
        end
    `ifdef STOP_COND
      end
    `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@19375.8]
        end
    `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@19376.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@19453.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@19454.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@19476.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@19477.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@19497.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@19498.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19510.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19511.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19512.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input  [25:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output [25:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19518.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_4;
  reg [25:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19519.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19522.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19528.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19529.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19534.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19535.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19536.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19522.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19528.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19529.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19534.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19535.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19536.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19527.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19524.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19521.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19526.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@19541.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19542.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19543.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [25:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19544.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [25:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [25:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19668.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19592.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19593.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19594.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19596.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19597.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19599.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19600.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19602.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19603.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19604.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19605.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19621.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19622.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19623.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19623.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19624.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19624.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19625.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19625.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@19626.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19627.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19628.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19629.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19630.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19631.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19632.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19633.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19633.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19634.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19635.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19636.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19637.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@19638.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19639.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19640.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19654.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19656.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19657.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19658.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19641.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19643.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19643.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19644.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19645.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19650.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19660.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19693.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19694.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19696.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19697.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19698.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19700.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19701.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19702.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19703.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19704.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19706.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19707.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19708.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19709.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19710.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19711.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19712.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19713.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19716.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19723.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19724.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19728.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@19588.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19729.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19733.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19734.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19738.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19738.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@19739.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@19740.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19741.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19741.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@19742.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19743.4]
  wire [25:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@19744.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19746.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19750.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19752.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19754.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19755.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19762.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19763.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19765.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19766.4]
  TLMonitor_9 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19551.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@19668.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@19595.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19596.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19597.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19599.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19600.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19602.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19603.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19604.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19605.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19621.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19622.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19623.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19623.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19624.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19624.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19625.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19625.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@19626.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19627.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19628.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19629.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19630.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19631.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19632.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19633.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19633.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19634.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19635.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19636.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19637.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@19638.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19639.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19640.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19654.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19656.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19657.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19658.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19641.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19643.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19643.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19644.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19645.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19650.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19660.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19693.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19694.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19696.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19697.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19698.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19700.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19701.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19702.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19703.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19704.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19707.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19708.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19709.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19710.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19711.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19712.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19713.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19716.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19724.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19728.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@19588.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19729.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19733.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19734.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19738.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19738.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@19739.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@19740.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19741.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19741.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@19742.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19743.4]
  assign _GEN_14 = {{20'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@19744.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19746.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19750.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19752.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19754.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19755.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19762.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19763.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19765.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19766.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19591.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19591.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19591.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19591.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19591.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19591.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.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@19590.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19590.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19553.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19554.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19587.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19670.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19671.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19736.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.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@19616.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@19617.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@19757.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@19758.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@19768.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@19769.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19787.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19789.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19790.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@20911.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19806.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19811.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19813.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19814.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19815.6]
  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19816.6]
  wire [25:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19816.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19817.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19819.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19820.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@19822.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19823.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19824.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19825.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19826.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19828.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19829.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19831.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19832.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19833.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19834.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19835.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19836.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19837.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19839.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19840.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19841.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19842.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19843.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19844.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19845.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19846.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19847.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19848.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19849.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19850.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19875.6]
  wire [25:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19878.8]
  wire [26:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19879.8]
  wire [26:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19880.8]
  wire [26:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19881.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19882.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19887.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19900.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19901.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19908.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19909.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19915.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19916.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19921.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19923.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19924.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19929.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19930.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19932.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19933.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19938.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19940.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19941.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19947.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20001.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20003.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20004.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20027.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@20030.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@20038.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20041.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20042.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20061.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20063.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20064.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20069.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20071.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20072.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20086.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20137.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@20179.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20180.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20181.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20183.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20184.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20190.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@20221.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20223.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20224.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20238.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@20269.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20271.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20272.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20286.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@20336.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20338.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20339.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@20345.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20350.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20352.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20355.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20356.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20361.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20363.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20364.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20394.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20452.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20511.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20546.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20582.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20642.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20647.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20648.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20649.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20653.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20654.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20655.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20666.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20667.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20668.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20669.4]
  reg [31:0] _RAND_4;
  reg [25:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20670.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20671.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20672.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20674.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20676.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20677.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20682.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20684.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20685.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20692.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20693.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20698.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20700.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20701.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20706.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20708.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20709.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20716.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20724.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20726.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20727.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20728.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20729.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20730.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20732.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20733.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20734.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20735.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20736.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20747.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20749.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20750.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20753.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20754.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20756.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20758.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20759.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20772.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20774.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20775.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20780.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20782.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20783.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20806.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20815.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20825.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20826.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20827.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20828.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20829.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20848.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20849.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20850.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20851.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20852.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20867.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20870.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20872.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20873.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20874.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20876.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20877.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20869.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20888.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@20890.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20891.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20893.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20895.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20896.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20897.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20899.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20900.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@20892.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20906.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20907.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20908.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20910.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20913.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20914.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20915.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20916.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@20917.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20920.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20921.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20927.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20931.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19889.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19961.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20044.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20103.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20154.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20204.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20252.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20300.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20358.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20400.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20458.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20517.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20552.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20588.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@20911.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19806.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19811.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19813.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19814.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19815.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19816.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19816.6]
  assign _T_36 = _T_35 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19817.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19819.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19820.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@19822.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19823.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19824.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19825.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19826.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19828.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19829.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19831.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19832.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19833.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19834.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19835.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19836.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19837.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19839.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19840.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19841.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19842.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19843.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19844.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19845.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19846.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19847.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19848.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19849.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19850.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19875.6]
  assign _T_92 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19878.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19879.8]
  assign _T_94 = $signed(_T_93) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19880.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19881.8]
  assign _T_96 = $signed(_T_95) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19882.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19887.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19900.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19901.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19908.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19909.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19915.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19916.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19921.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19923.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19924.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19929.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19930.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19932.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19933.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19938.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19940.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19941.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19947.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20001.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20003.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20004.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20027.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@20030.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@20038.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20041.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20042.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20061.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20063.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20064.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20069.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20071.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20072.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20086.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20137.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@20179.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20180.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20181.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20183.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20184.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20190.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@20221.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20223.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20224.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20238.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@20269.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20271.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20272.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20286.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@20336.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20338.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20339.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@20345.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20350.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20352.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20355.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20356.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20361.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20363.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20364.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20394.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20452.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20511.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20546.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20582.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20642.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20647.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20648.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20649.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20653.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20654.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20655.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20671.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20672.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20674.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20676.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20677.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20682.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20684.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20685.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20692.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20693.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20698.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20700.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20701.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20706.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20708.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20709.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20716.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20724.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20726.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20727.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20728.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20729.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20730.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20733.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20734.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20735.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20736.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20753.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20754.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20756.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20758.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20759.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20772.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20774.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20775.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20780.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20782.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20783.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20806.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20826.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20827.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20828.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20829.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20849.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20850.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20851.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20852.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20867.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20870.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20872.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20873.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20874.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20876.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20877.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20869.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20888.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@20890.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20891.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20893.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20895.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20896.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20897.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20899.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20900.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@20892.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20906.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20907.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20908.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20913.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20914.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20915.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20916.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@20917.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20920.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20921.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20927.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20931.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19889.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19961.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20044.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20103.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20154.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20204.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20252.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20300.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20358.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20400.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20458.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20517.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20552.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20588.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@19802.8]
        end
    `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@19803.8]
        end
    `ifdef STOP_COND
      end
    `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@19872.8]
        end
    `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@19873.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@19889.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@19890.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@19896.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@19897.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@19903.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@19904.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@19911.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@19912.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@19918.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@19919.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@19926.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@19927.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@19935.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@19936.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@19943.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@19944.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@19961.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@19962.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@19968.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@19969.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@19975.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@19976.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@19983.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@19984.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@19990.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@19991.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@19998.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@19999.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@20006.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@20007.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@20015.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@20016.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@20023.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@20024.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@20044.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@20045.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@20051.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@20052.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@20058.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@20059.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@20066.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@20067.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@20074.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@20075.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@20082.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@20083.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@20103.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@20104.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@20110.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@20111.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@20117.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@20118.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@20125.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@20126.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@20133.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@20134.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@20154.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@20155.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@20161.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@20162.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@20168.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@20169.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@20176.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@20177.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@20186.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@20187.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@20204.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@20205.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@20211.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@20212.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@20218.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@20219.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@20226.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@20227.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@20234.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@20235.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@20252.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@20253.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@20259.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@20260.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@20266.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@20267.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@20274.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@20275.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@20282.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@20283.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@20300.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@20301.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@20307.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@20308.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@20314.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@20315.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@20322.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@20323.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@20330.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@20331.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@20341.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@20342.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@20358.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@20359.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@20366.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@20367.10]
        end
    `ifdef STOP_COND
      end
    `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@20374.10]
        end
    `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@20375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@20382.10]
        end
    `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@20383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@20390.10]
        end
    `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@20391.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@20400.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@20401.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@20407.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@20408.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@20415.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@20416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20423.10]
        end
    `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@20424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20431.10]
        end
    `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@20432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20439.10]
        end
    `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@20440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20448.10]
        end
    `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@20449.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@20458.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@20459.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@20465.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@20466.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@20473.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@20474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20481.10]
        end
    `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@20482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20489.10]
        end
    `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@20490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@20498.10]
        end
    `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@20499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@20507.10]
        end
    `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@20508.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@20517.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@20518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@20525.10]
        end
    `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@20526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20533.10]
        end
    `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@20534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20542.10]
        end
    `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@20543.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@20552.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@20553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@20560.10]
        end
    `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@20561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@20569.10]
        end
    `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@20570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@20578.10]
        end
    `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@20579.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@20588.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@20589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@20596.10]
        end
    `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@20597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20604.10]
        end
    `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@20605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@20613.10]
        end
    `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@20614.10]
        end
    `ifdef STOP_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@20623.6]
        end
    `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@20624.6]
        end
    `ifdef STOP_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@20631.6]
        end
    `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@20632.6]
        end
    `ifdef STOP_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@20639.6]
        end
    `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@20640.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@20679.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@20680.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@20687.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@20688.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@20695.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@20696.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@20703.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@20704.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@20711.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@20712.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@20761.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@20762.8]
        end
    `ifdef STOP_COND
      end
    `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@20769.8]
        end
    `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@20770.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@20777.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@20778.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@20785.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@20786.8]
        end
    `ifdef STOP_COND
      end
    `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@20793.8]
        end
    `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@20794.8]
        end
    `ifdef STOP_COND
      end
    `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@20801.8]
        end
    `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@20802.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@20879.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@20880.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@20902.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@20903.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@20923.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@20924.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20936.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20937.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20938.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [25:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20939.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.4]
  TLMonitor_10 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.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@20986.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20986.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20986.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20986.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20986.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20986.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20948.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20949.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20982.4]
endmodule
module SimpleLazyModule_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20996.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20997.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20998.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [25:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [25:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [25:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [25:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [25:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [25:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21010.4]
  TLFragmenter_1 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21004.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@21010.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@21018.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21008.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21009.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21017.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21014.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21015.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21018.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21016.4]
endmodule
module TLMonitor_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21027.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21029.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21030.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@22151.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21046.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21051.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21053.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21054.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21055.6]
  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21056.6]
  wire [11:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21056.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21057.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21059.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21060.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@21062.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21063.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21064.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21065.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21066.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21068.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21069.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21071.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21072.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21073.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21074.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21075.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21076.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21077.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21079.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21080.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21081.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21082.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21083.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21084.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21085.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21086.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21087.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21088.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21089.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21090.6]
  wire [12:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21094.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21115.6]
  wire [12:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@21120.8]
  wire [12:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@21121.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21122.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21127.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21140.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21141.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21148.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21149.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21155.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21156.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21161.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21163.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21164.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21169.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21170.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21172.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21173.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21178.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21180.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21181.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21187.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21241.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21243.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21244.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21267.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@21270.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@21278.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21281.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21282.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21301.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21303.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21304.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21309.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21311.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21312.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21326.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21377.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21419.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21420.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21421.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21423.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21424.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21430.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21461.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21463.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21464.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21478.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21509.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21511.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21512.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21526.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21576.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21578.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21579.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21585.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21590.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21592.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21595.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21596.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21601.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21603.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21604.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21634.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21692.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21751.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21786.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21822.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21882.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21888.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21889.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21892.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21893.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21894.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21895.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21906.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21907.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21908.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21909.4]
  reg [31:0] _RAND_4;
  reg [11:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21910.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21911.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21912.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21914.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21916.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21917.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21922.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21930.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21932.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21938.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21940.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21941.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21946.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21948.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21949.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21956.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21964.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21966.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21967.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21969.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21970.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21973.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21974.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21975.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21976.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21987.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21989.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21990.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21993.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21994.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21996.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21998.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21999.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22012.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22014.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22015.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22020.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22022.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22023.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22046.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22055.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22065.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22066.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22067.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22068.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22069.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22088.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22089.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22091.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22092.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22107.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22110.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22112.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22113.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22114.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22117.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@22109.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22128.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@22130.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@22131.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22133.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22135.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@22136.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@22137.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22139.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22140.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@22132.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22146.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22147.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@22148.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22150.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22153.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22154.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@22155.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22156.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@22157.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@22158.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22160.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22161.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22167.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22171.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21129.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21201.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21284.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21343.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21394.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21444.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21492.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21540.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21598.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21640.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21698.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21757.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21792.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21828.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@22151.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21046.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21051.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21053.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21054.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21055.6]
  assign _GEN_18 = {{6'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21056.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21056.6]
  assign _T_36 = _T_35 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21057.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21059.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21060.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@21062.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21063.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21064.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21065.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21066.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21068.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21069.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21071.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21072.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21073.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21074.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21075.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21076.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21077.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21079.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21080.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21081.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21082.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21083.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21084.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21085.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21086.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21087.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21088.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21089.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21090.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21094.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21115.6]
  assign _T_94 = $signed(_T_73) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@21120.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@21121.8]
  assign _T_96 = $signed(_T_95) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21122.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21127.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21140.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21141.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21148.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21149.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21155.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21156.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21161.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21163.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21164.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21169.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21170.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21172.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21173.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21178.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21180.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21181.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21187.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21241.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21243.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21244.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21267.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@21270.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@21278.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21281.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21282.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21301.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21303.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21304.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21309.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21311.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21312.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21326.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21377.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21419.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21420.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21421.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21423.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21424.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21430.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21461.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21463.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21464.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21478.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21509.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21511.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21512.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21526.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21576.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21578.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21579.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21585.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21590.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21592.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21595.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21596.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21601.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21603.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21604.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21634.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21692.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21751.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21786.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21822.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21882.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21888.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21889.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21892.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21893.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21894.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21895.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21911.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21912.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21914.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21916.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21917.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21922.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21930.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21932.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21938.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21940.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21941.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21946.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21948.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21949.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21956.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21964.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21966.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21967.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21969.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21970.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21973.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21974.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21975.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21976.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21993.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21994.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21996.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21998.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21999.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22012.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22014.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22015.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22020.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22022.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22023.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22046.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22066.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22067.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22068.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22069.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22089.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22091.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22092.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22107.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22110.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22112.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22113.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22114.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22117.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@22109.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22128.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@22130.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@22131.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22133.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22135.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@22136.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@22137.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22139.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22140.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@22132.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22146.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22147.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@22148.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22153.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22154.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@22155.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22156.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@22157.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@22158.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22160.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22161.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22167.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22171.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21129.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21201.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21284.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21343.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21394.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21444.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21492.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21540.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21598.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21640.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21698.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21757.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21792.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21828.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@21042.8]
        end
    `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@21043.8]
        end
    `ifdef STOP_COND
      end
    `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@21112.8]
        end
    `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@21113.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@21129.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@21130.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@21136.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@21137.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@21143.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@21144.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@21151.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@21152.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@21158.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@21159.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@21166.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@21167.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@21175.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@21176.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@21183.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@21184.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@21201.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@21202.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@21208.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@21209.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@21215.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@21216.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@21223.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@21224.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@21230.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@21231.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@21238.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@21239.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@21246.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@21247.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@21255.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@21256.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@21263.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@21264.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@21284.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@21285.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@21291.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@21292.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@21298.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@21299.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@21306.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@21307.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@21314.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@21315.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@21322.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@21323.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@21343.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@21344.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@21350.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@21351.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@21357.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@21358.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@21365.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@21366.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@21373.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@21374.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@21394.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@21395.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@21401.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@21402.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@21408.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@21409.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@21416.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@21417.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@21426.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@21427.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@21444.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@21445.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@21451.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@21452.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@21458.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@21459.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@21466.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@21467.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@21474.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@21475.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@21492.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@21493.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@21499.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@21500.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@21506.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@21507.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@21514.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@21515.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@21522.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@21523.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@21540.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@21541.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@21547.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@21548.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@21554.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@21555.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@21562.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@21563.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@21570.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@21571.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@21581.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@21582.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@21598.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@21599.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@21606.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@21607.10]
        end
    `ifdef STOP_COND
      end
    `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@21614.10]
        end
    `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@21615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@21622.10]
        end
    `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@21623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@21630.10]
        end
    `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@21631.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@21640.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@21641.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@21647.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@21648.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@21655.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@21656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21663.10]
        end
    `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@21664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21671.10]
        end
    `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@21672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21679.10]
        end
    `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@21680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21688.10]
        end
    `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@21689.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@21698.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@21699.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@21705.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@21706.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@21713.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@21714.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21721.10]
        end
    `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@21722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21729.10]
        end
    `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@21730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@21738.10]
        end
    `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@21739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@21747.10]
        end
    `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@21748.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@21757.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@21758.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@21765.10]
        end
    `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@21766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21773.10]
        end
    `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@21774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21782.10]
        end
    `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@21783.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@21792.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@21793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@21800.10]
        end
    `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@21801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@21809.10]
        end
    `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@21810.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@21818.10]
        end
    `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@21819.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@21828.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@21829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@21836.10]
        end
    `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@21837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21844.10]
        end
    `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@21845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@21853.10]
        end
    `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@21854.10]
        end
    `ifdef STOP_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@21863.6]
        end
    `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@21864.6]
        end
    `ifdef STOP_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@21871.6]
        end
    `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@21872.6]
        end
    `ifdef STOP_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@21879.6]
        end
    `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@21880.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@21919.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@21920.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@21927.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@21928.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@21935.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@21936.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@21943.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@21944.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@21951.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@21952.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@22001.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@22002.8]
        end
    `ifdef STOP_COND
      end
    `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@22009.8]
        end
    `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@22010.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@22017.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@22018.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@22025.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@22026.8]
        end
    `ifdef STOP_COND
      end
    `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@22033.8]
        end
    `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@22034.8]
        end
    `ifdef STOP_COND
      end
    `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@22041.8]
        end
    `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@22042.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@22119.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@22120.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@22142.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@22143.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@22163.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@22164.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22176.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22177.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22178.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input  [11:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output [11:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22179.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22184.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_4;
  reg [11:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22185.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22188.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22194.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22195.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22200.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22201.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22202.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22188.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22194.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22195.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22200.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22201.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22202.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@22193.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22190.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22187.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22192.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@22207.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22208.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22209.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [11:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [11:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22210.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [11:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [11:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [11:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22334.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22258.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22259.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22260.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22262.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22263.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22265.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22266.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22268.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22269.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22270.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@22271.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22287.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22288.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@22289.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@22289.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22290.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22290.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22291.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22291.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@22292.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22293.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22294.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22295.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22296.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22297.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22298.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22299.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22299.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22300.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22301.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22302.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22303.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@22304.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22305.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22306.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22320.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22322.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22323.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22324.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22307.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22309.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22309.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22310.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22311.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@22316.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22326.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22359.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22360.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22362.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22363.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22364.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22366.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22367.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22368.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22369.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22370.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22372.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22373.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22374.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22375.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22376.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22377.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22378.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22379.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22382.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22389.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22390.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22394.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@22254.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22395.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22399.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22400.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22404.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22404.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@22405.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@22406.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22407.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22407.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@22408.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22409.4]
  wire [11:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@22410.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22412.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22416.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22418.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22420.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22421.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22428.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22429.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22431.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22432.4]
  TLMonitor_11 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22217.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@22334.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@22261.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22262.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22263.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22265.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22266.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22268.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22269.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22270.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@22271.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22287.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22288.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@22289.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@22289.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22290.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22290.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22291.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@22291.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@22292.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22293.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22294.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22295.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22296.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22297.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22298.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22299.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22299.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22300.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22301.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22302.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22303.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@22304.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22305.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22306.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@22320.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22322.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22323.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22324.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22307.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22309.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22309.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22310.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@22311.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@22316.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22326.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22359.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22360.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22362.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22363.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22364.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22366.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22367.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22368.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22369.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22370.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22373.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22374.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22375.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22376.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22377.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22378.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22379.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22382.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22390.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22394.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@22254.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22395.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22399.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22400.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22404.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22404.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@22405.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@22406.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22407.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22407.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@22408.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22409.4]
  assign _GEN_14 = {{6'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@22410.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22412.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22416.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22418.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22420.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22421.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22428.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22429.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22431.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22432.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22257.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22257.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22257.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22257.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22257.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@22257.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.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@22256.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22256.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22219.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22220.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22253.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22336.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22337.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22402.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.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@22282.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@22283.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@22423.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@22424.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@22434.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@22435.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22453.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22455.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22456.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@23577.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22472.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22477.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22479.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22480.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22481.6]
  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22482.6]
  wire [11:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22482.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22483.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22485.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22486.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@22488.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22489.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22490.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22491.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22492.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22494.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22495.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22497.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22498.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22499.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22500.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22501.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22502.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22503.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22505.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22506.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22507.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22508.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22509.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22510.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22511.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22512.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22513.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22514.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22515.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22516.6]
  wire [12:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22520.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22541.6]
  wire [12:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22546.8]
  wire [12:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22547.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22548.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22553.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22566.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22567.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22574.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22575.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22581.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22582.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22587.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22589.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22590.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22595.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22596.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22598.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22599.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22604.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22606.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22607.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22613.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22667.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22669.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22670.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22693.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@22696.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@22704.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22707.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22708.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22727.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22729.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22730.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22735.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22737.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22738.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22752.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22803.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22845.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22846.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22847.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22849.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22850.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22856.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22887.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22889.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22890.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22904.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22935.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22937.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22938.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22952.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23002.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23004.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23005.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23011.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23016.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23018.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23021.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23022.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23027.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23029.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23030.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23060.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23118.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23177.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23212.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23248.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23308.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23313.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@23314.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23315.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23319.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23320.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23321.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23332.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23333.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23334.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23335.4]
  reg [31:0] _RAND_4;
  reg [11:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23336.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23337.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23338.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23340.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23342.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23343.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23348.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23350.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23351.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23358.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23359.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23364.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23366.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23367.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23372.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23374.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23375.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23382.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23390.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23392.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23393.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23394.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23395.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23396.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23398.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23399.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23400.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23401.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23402.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23413.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23415.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23416.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23419.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23420.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23422.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23424.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23425.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23438.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23440.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23441.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23446.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23448.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23449.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23472.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23481.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23491.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23492.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23493.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23494.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23495.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23514.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23515.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23516.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23517.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23518.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23533.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23536.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23538.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23539.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23540.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23542.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23543.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23535.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23554.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@23556.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23557.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23559.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23561.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23562.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23563.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23565.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23566.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@23558.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23572.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23573.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23574.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23576.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23579.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23580.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23581.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23582.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@23583.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23584.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23586.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23587.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23593.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23597.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22555.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22627.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22710.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22769.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22820.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22870.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22918.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22966.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23024.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23066.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23124.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23183.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23218.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23254.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@23577.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22472.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22477.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22479.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22480.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22481.6]
  assign _GEN_18 = {{6'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22482.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22482.6]
  assign _T_36 = _T_35 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22483.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22485.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22486.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@22488.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22489.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22490.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22491.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22492.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22494.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22495.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22497.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22498.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22499.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22500.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22501.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22502.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22503.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22505.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22506.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22507.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22508.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22509.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22510.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22511.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22512.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22513.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22514.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22515.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22516.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22520.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22541.6]
  assign _T_94 = $signed(_T_73) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22546.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22547.8]
  assign _T_96 = $signed(_T_95) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22548.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22553.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22566.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22567.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22574.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22575.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22581.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22582.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22587.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22589.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22590.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22595.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22596.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22598.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22599.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22604.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22606.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22607.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22613.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22667.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22669.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22670.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22693.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@22696.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@22704.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22707.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22708.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22727.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22729.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22730.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22735.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22737.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22738.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22752.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22803.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22845.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22846.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22847.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22849.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22850.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22856.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22887.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22889.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22890.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22904.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22935.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22937.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22938.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22952.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23002.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23004.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23005.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23011.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23016.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23018.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23021.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23022.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23027.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23029.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23030.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23060.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23118.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23177.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23212.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23248.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23308.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23313.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@23314.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23315.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23319.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23320.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23321.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23337.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23338.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23340.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23342.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23343.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23348.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23350.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23351.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23358.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23359.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23364.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23366.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23367.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23372.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23374.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23375.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23382.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23390.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23392.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23393.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23394.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23395.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23396.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23399.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23400.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23401.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23402.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23419.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23420.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23422.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23424.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23425.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23438.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23440.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23441.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23446.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23448.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23449.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23472.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23492.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23493.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23494.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23495.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23515.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23516.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23517.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23518.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23533.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23536.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23538.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23539.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23540.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23542.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23543.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23535.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23554.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@23556.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23557.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23559.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23561.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23562.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23563.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23565.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23566.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@23558.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23572.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23573.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23574.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23579.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23580.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23581.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23582.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@23583.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23584.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23586.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23587.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23593.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23597.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22555.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22627.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22710.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22769.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22820.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22870.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22918.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22966.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23024.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23066.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23124.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23183.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23218.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23254.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@22468.8]
        end
    `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@22469.8]
        end
    `ifdef STOP_COND
      end
    `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@22538.8]
        end
    `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@22539.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@22555.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@22556.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@22562.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@22563.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@22569.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@22570.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@22577.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@22578.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@22584.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@22585.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@22592.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@22593.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@22601.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@22602.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@22609.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@22610.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@22627.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@22628.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@22634.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@22635.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@22641.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@22642.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@22649.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@22650.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@22656.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@22657.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@22664.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@22665.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@22672.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@22673.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@22681.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@22682.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@22689.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@22690.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@22710.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@22711.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@22717.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@22718.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@22724.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@22725.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@22732.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@22733.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@22740.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@22741.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@22748.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@22749.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@22769.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@22770.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@22776.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@22777.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@22783.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@22784.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@22791.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@22792.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@22799.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@22800.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@22820.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@22821.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@22827.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@22828.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@22834.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@22835.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@22842.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@22843.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@22852.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@22853.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@22870.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@22871.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@22877.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@22878.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@22884.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@22885.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@22892.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@22893.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@22900.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@22901.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@22918.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@22919.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@22925.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@22926.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@22932.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@22933.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@22940.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@22941.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@22948.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@22949.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@22966.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@22967.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@22973.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@22974.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@22980.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@22981.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@22988.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@22989.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@22996.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@22997.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@23007.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@23008.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@23024.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@23025.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@23032.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@23033.10]
        end
    `ifdef STOP_COND
      end
    `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@23040.10]
        end
    `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@23041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@23048.10]
        end
    `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@23049.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@23056.10]
        end
    `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@23057.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@23066.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@23067.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@23073.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@23074.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@23081.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@23082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23089.10]
        end
    `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@23090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23097.10]
        end
    `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@23098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23105.10]
        end
    `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@23106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23114.10]
        end
    `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@23115.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@23124.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@23125.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@23131.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@23132.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@23139.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@23140.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23147.10]
        end
    `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@23148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23155.10]
        end
    `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@23156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@23164.10]
        end
    `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@23165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@23173.10]
        end
    `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@23174.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@23183.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@23184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@23191.10]
        end
    `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@23192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23199.10]
        end
    `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@23200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23208.10]
        end
    `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@23209.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@23218.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@23219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@23226.10]
        end
    `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@23227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@23235.10]
        end
    `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@23236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@23244.10]
        end
    `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@23245.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@23254.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@23255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@23262.10]
        end
    `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@23263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23270.10]
        end
    `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@23271.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@23279.10]
        end
    `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@23280.10]
        end
    `ifdef STOP_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@23289.6]
        end
    `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@23290.6]
        end
    `ifdef STOP_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@23297.6]
        end
    `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@23298.6]
        end
    `ifdef STOP_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@23305.6]
        end
    `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@23306.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@23345.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@23346.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@23353.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@23354.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@23361.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@23362.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@23369.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@23370.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@23377.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@23378.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@23427.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@23428.8]
        end
    `ifdef STOP_COND
      end
    `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@23435.8]
        end
    `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@23436.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@23443.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@23444.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@23451.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@23452.8]
        end
    `ifdef STOP_COND
      end
    `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@23459.8]
        end
    `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@23460.8]
        end
    `ifdef STOP_COND
      end
    `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@23467.8]
        end
    `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@23468.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@23545.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@23546.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@23568.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@23569.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@23589.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@23590.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23603.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23604.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [11:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [11:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23605.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [11:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.4]
  TLMonitor_12 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23612.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@23652.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23652.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23652.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23652.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23652.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23652.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23651.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23614.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23615.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23648.4]
endmodule
module SimpleLazyModule_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23662.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23663.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23664.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [11:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [11:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23665.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [11:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [11:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [11:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [11:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23676.4]
  TLFragmenter_2 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23670.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@23676.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@23684.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23674.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23675.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23683.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23680.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23681.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23684.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.4]
endmodule
module TLMonitor_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23693.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23694.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23695.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23696.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@24882.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23712.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23717.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23719.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23720.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23721.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23722.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23722.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23723.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23725.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23726.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@23728.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23729.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23730.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23731.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23732.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23734.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23735.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23737.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23738.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23739.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23740.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23741.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23742.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23743.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23744.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23745.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23746.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23747.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23748.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23749.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23750.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23751.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23752.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23753.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23754.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23755.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23756.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23781.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23784.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23785.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23786.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23787.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23788.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23789.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23790.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23791.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23792.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23793.8]
  wire  _T_102; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23794.8]
  wire  _T_107; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23799.8]
  wire  _T_112; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23812.8]
  wire  _T_113; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23813.8]
  wire  _T_116; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23820.8]
  wire  _T_117; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23821.8]
  wire  _T_119; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23827.8]
  wire  _T_120; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23828.8]
  wire  _T_121; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23833.8]
  wire  _T_123; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23835.8]
  wire  _T_124; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23836.8]
  wire [3:0] _T_125; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23841.8]
  wire  _T_126; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23842.8]
  wire  _T_128; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23844.8]
  wire  _T_129; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23845.8]
  wire  _T_130; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23850.8]
  wire  _T_132; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23852.8]
  wire  _T_133; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23853.8]
  wire  _T_134; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23859.6]
  wire  _T_169; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23919.8]
  wire  _T_171; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23921.8]
  wire  _T_172; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23922.8]
  wire  _T_182; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23945.6]
  wire  _T_184; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23948.8]
  wire  _T_198; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23962.8]
  wire  _T_201; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23965.8]
  wire  _T_202; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23966.8]
  wire  _T_209; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23985.8]
  wire  _T_211; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23987.8]
  wire  _T_212; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23988.8]
  wire  _T_213; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23993.8]
  wire  _T_215; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23995.8]
  wire  _T_216; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23996.8]
  wire  _T_221; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24010.6]
  wire  _T_256; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24067.6]
  wire [3:0] _T_287; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24115.8]
  wire [3:0] _T_288; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24116.8]
  wire  _T_289; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24117.8]
  wire  _T_291; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24119.8]
  wire  _T_292; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24120.8]
  wire  _T_293; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24126.6]
  wire  _T_294; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24128.8]
  wire  _T_301; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@24135.8]
  wire  _T_312; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.8]
  wire  _T_313; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24147.8]
  wire  _T_320; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24166.8]
  wire  _T_322; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24168.8]
  wire  _T_323; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24169.8]
  wire  _T_328; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24183.6]
  wire  _T_355; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24223.8]
  wire  _T_357; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24225.8]
  wire  _T_358; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24226.8]
  wire  _T_363; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24240.6]
  wire  _T_395; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@24296.6]
  wire  _T_397; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24298.6]
  wire  _T_398; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24299.6]
  wire  _T_400; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@24305.6]
  wire  _T_409; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24310.6]
  wire  _T_411; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24312.6]
  wire  _T_413; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24315.8]
  wire  _T_414; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24316.8]
  wire  _T_415; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24321.8]
  wire  _T_417; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24323.8]
  wire  _T_418; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24324.8]
  wire  _T_419; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24329.8]
  wire  _T_421; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24331.8]
  wire  _T_422; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24332.8]
  wire  _T_423; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24337.8]
  wire  _T_425; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24339.8]
  wire  _T_426; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24340.8]
  wire  _T_427; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24345.8]
  wire  _T_429; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24347.8]
  wire  _T_430; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24348.8]
  wire  _T_431; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24354.6]
  wire  _T_442; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24378.8]
  wire  _T_444; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24380.8]
  wire  _T_445; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24381.8]
  wire  _T_446; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24386.8]
  wire  _T_448; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24388.8]
  wire  _T_449; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24389.8]
  wire  _T_459; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24412.6]
  wire  _T_479; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24453.8]
  wire  _T_481; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24455.8]
  wire  _T_482; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24456.8]
  wire  _T_488; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24471.6]
  wire  _T_505; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24506.6]
  wire  _T_523; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24542.6]
  wire  _T_552; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24602.4]
  wire [3:0] _T_557; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24607.4]
  wire  _T_558; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24608.4]
  wire  _T_559; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  reg [3:0] _T_562; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24611.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_563; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24612.4]
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24613.4]
  wire [3:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24614.4]
  wire  _T_566; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24615.4]
  reg [2:0] _T_575; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24626.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_577; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24627.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_579; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24628.4]
  reg [31:0] _RAND_3;
  reg  _T_581; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24629.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_583; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24630.4]
  reg [31:0] _RAND_5;
  wire  _T_584; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24631.4]
  wire  _T_585; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24632.4]
  wire  _T_586; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.6]
  wire  _T_588; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24636.6]
  wire  _T_589; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24637.6]
  wire  _T_590; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24642.6]
  wire  _T_592; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24644.6]
  wire  _T_593; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24645.6]
  wire  _T_594; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24650.6]
  wire  _T_596; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24652.6]
  wire  _T_597; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24653.6]
  wire  _T_598; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24658.6]
  wire  _T_600; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
  wire  _T_601; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24661.6]
  wire  _T_602; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24666.6]
  wire  _T_604; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24668.6]
  wire  _T_605; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24669.6]
  wire  _T_607; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24676.4]
  wire  _T_608; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24684.4]
  wire [12:0] _T_610; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24686.4]
  wire [5:0] _T_611; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24687.4]
  wire [5:0] _T_612; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24688.4]
  wire [3:0] _T_613; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24689.4]
  wire  _T_614; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24690.4]
  reg [3:0] _T_617; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24692.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_618; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24693.4]
  wire [4:0] _T_619; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24694.4]
  wire [3:0] _T_620; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24695.4]
  wire  _T_621; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24696.4]
  reg [2:0] _T_630; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24707.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_632; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24708.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_634; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24709.4]
  reg [31:0] _RAND_9;
  reg  _T_636; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24710.4]
  reg [31:0] _RAND_10;
  reg  _T_638; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24711.4]
  reg [31:0] _RAND_11;
  reg  _T_640; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24712.4]
  reg [31:0] _RAND_12;
  wire  _T_641; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24713.4]
  wire  _T_642; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24714.4]
  wire  _T_643; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24716.6]
  wire  _T_645; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24718.6]
  wire  _T_646; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24719.6]
  wire  _T_647; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24724.6]
  wire  _T_649; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24726.6]
  wire  _T_650; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24727.6]
  wire  _T_651; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24732.6]
  wire  _T_653; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24734.6]
  wire  _T_654; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24735.6]
  wire  _T_655; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24740.6]
  wire  _T_657; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24742.6]
  wire  _T_658; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24743.6]
  wire  _T_659; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24748.6]
  wire  _T_661; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24750.6]
  wire  _T_662; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24751.6]
  wire  _T_663; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24756.6]
  wire  _T_665; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24758.6]
  wire  _T_666; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24759.6]
  wire  _T_668; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24766.4]
  reg [1:0] _T_670; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24775.4]
  reg [31:0] _RAND_13;
  reg [3:0] _T_681; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24785.4]
  reg [31:0] _RAND_14;
  wire [4:0] _T_682; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24786.4]
  wire [4:0] _T_683; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24787.4]
  wire [3:0] _T_684; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24788.4]
  wire  _T_685; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24789.4]
  reg [3:0] _T_702; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24808.4]
  reg [31:0] _RAND_15;
  wire [4:0] _T_703; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24809.4]
  wire [4:0] _T_704; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24810.4]
  wire [3:0] _T_705; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24811.4]
  wire  _T_706; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24812.4]
  wire  _T_717; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24827.4]
  wire [1:0] _T_719; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24830.6]
  wire [1:0] _T_720; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24832.6]
  wire  _T_721; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24833.6]
  wire  _T_722; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24834.6]
  wire  _T_724; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24836.6]
  wire  _T_725; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24837.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24829.4]
  wire  _T_730; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24848.4]
  wire  _T_732; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@24850.4]
  wire  _T_733; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24851.4]
  wire [1:0] _T_734; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24853.6]
  wire [1:0] _T_735; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24855.6]
  wire [1:0] _T_736; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24856.6]
  wire  _T_737; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24857.6]
  wire  _T_739; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24859.6]
  wire  _T_740; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24860.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@24852.4]
  wire  _T_741; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24866.4]
  wire  _T_742; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@24867.4]
  wire  _T_743; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24868.4]
  wire  _T_744; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24869.4]
  wire  _T_746; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24871.4]
  wire  _T_747; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24872.4]
  wire [1:0] _T_748; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24877.4]
  wire [1:0] _T_749; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24878.4]
  wire [1:0] _T_750; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24879.4]
  reg [31:0] _T_752; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24881.4]
  reg [31:0] _RAND_16;
  wire  _T_753; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24884.4]
  wire  _T_754; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24885.4]
  wire  _T_755; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24886.4]
  wire  _T_756; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24887.4]
  wire  _T_757; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.4]
  wire  _T_758; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24889.4]
  wire  _T_760; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24891.4]
  wire  _T_761; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24892.4]
  wire [31:0] _T_763; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24898.4]
  wire  _T_766; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24902.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23801.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23879.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23968.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24033.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24090.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24149.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24206.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24260.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24318.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24360.10]
  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24418.10]
  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24477.10]
  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24512.10]
  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24548.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@24882.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23712.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23717.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23719.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23720.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23721.6]
  assign _GEN_18 = {{26'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23722.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23722.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23723.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23725.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23726.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@23728.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23729.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23730.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23731.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23732.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23734.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23735.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23737.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23738.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23739.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23740.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23741.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23742.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23743.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23744.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23745.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23746.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23747.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23748.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23749.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23750.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23751.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23752.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23753.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23754.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23755.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23756.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23781.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23784.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23785.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23786.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23787.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23788.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23789.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23790.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23791.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23792.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23793.8]
  assign _T_102 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23794.8]
  assign _T_107 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23799.8]
  assign _T_112 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23812.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23813.8]
  assign _T_116 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23820.8]
  assign _T_117 = _T_116 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23821.8]
  assign _T_119 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23827.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23828.8]
  assign _T_121 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23833.8]
  assign _T_123 = _T_121 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23835.8]
  assign _T_124 = _T_123 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23836.8]
  assign _T_125 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23841.8]
  assign _T_126 = _T_125 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23842.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23844.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23845.8]
  assign _T_130 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23850.8]
  assign _T_132 = _T_130 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23852.8]
  assign _T_133 = _T_132 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23853.8]
  assign _T_134 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23859.6]
  assign _T_169 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23919.8]
  assign _T_171 = _T_169 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23921.8]
  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23922.8]
  assign _T_182 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23945.6]
  assign _T_184 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23948.8]
  assign _T_198 = _T_184 & _T_102; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23962.8]
  assign _T_201 = _T_198 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23965.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23966.8]
  assign _T_209 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23985.8]
  assign _T_211 = _T_209 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23987.8]
  assign _T_212 = _T_211 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23988.8]
  assign _T_213 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23993.8]
  assign _T_215 = _T_213 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23995.8]
  assign _T_216 = _T_215 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23996.8]
  assign _T_221 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24010.6]
  assign _T_256 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24067.6]
  assign _T_287 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24115.8]
  assign _T_288 = io_in_a_bits_mask & _T_287; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24116.8]
  assign _T_289 = _T_288 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24117.8]
  assign _T_291 = _T_289 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24119.8]
  assign _T_292 = _T_291 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24120.8]
  assign _T_293 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24126.6]
  assign _T_294 = 3'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24128.8]
  assign _T_301 = _T_294 & _T_101; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@24135.8]
  assign _T_312 = _T_301 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.8]
  assign _T_313 = _T_312 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24147.8]
  assign _T_320 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24166.8]
  assign _T_322 = _T_320 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24168.8]
  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24169.8]
  assign _T_328 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24183.6]
  assign _T_355 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24223.8]
  assign _T_357 = _T_355 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24225.8]
  assign _T_358 = _T_357 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24226.8]
  assign _T_363 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24240.6]
  assign _T_395 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@24296.6]
  assign _T_397 = _T_395 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24298.6]
  assign _T_398 = _T_397 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24299.6]
  assign _T_400 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@24305.6]
  assign _T_409 = io_in_d_bits_source | _T_400; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24310.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24312.6]
  assign _T_413 = _T_409 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24315.8]
  assign _T_414 = _T_413 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24316.8]
  assign _T_415 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24321.8]
  assign _T_417 = _T_415 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24323.8]
  assign _T_418 = _T_417 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24324.8]
  assign _T_419 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24329.8]
  assign _T_421 = _T_419 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24331.8]
  assign _T_422 = _T_421 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24332.8]
  assign _T_423 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24337.8]
  assign _T_425 = _T_423 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24339.8]
  assign _T_426 = _T_425 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24340.8]
  assign _T_427 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24345.8]
  assign _T_429 = _T_427 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24347.8]
  assign _T_430 = _T_429 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24348.8]
  assign _T_431 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24354.6]
  assign _T_442 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24378.8]
  assign _T_444 = _T_442 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24380.8]
  assign _T_445 = _T_444 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24381.8]
  assign _T_446 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24386.8]
  assign _T_448 = _T_446 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24388.8]
  assign _T_449 = _T_448 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24389.8]
  assign _T_459 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24412.6]
  assign _T_479 = _T_427 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24453.8]
  assign _T_481 = _T_479 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24455.8]
  assign _T_482 = _T_481 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24456.8]
  assign _T_488 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24471.6]
  assign _T_505 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24506.6]
  assign _T_523 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24542.6]
  assign _T_552 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24602.4]
  assign _T_557 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24607.4]
  assign _T_558 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24608.4]
  assign _T_559 = _T_558 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  assign _T_563 = _T_562 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24612.4]
  assign _T_564 = $unsigned(_T_563); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24613.4]
  assign _T_565 = _T_564[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24614.4]
  assign _T_566 = _T_562 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24615.4]
  assign _T_584 = _T_566 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24631.4]
  assign _T_585 = io_in_a_valid & _T_584; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24632.4]
  assign _T_586 = io_in_a_bits_opcode == _T_575; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.6]
  assign _T_588 = _T_586 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24636.6]
  assign _T_589 = _T_588 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24637.6]
  assign _T_590 = io_in_a_bits_param == _T_577; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24642.6]
  assign _T_592 = _T_590 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24644.6]
  assign _T_593 = _T_592 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24645.6]
  assign _T_594 = io_in_a_bits_size == _T_579; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24650.6]
  assign _T_596 = _T_594 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24652.6]
  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24653.6]
  assign _T_598 = io_in_a_bits_source == _T_581; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24658.6]
  assign _T_600 = _T_598 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24661.6]
  assign _T_602 = io_in_a_bits_address == _T_583; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24666.6]
  assign _T_604 = _T_602 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24668.6]
  assign _T_605 = _T_604 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24669.6]
  assign _T_607 = _T_552 & _T_566; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24676.4]
  assign _T_608 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24684.4]
  assign _T_610 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24686.4]
  assign _T_611 = _T_610[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24687.4]
  assign _T_612 = ~ _T_611; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24688.4]
  assign _T_613 = _T_612[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24689.4]
  assign _T_614 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24690.4]
  assign _T_618 = _T_617 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24693.4]
  assign _T_619 = $unsigned(_T_618); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24694.4]
  assign _T_620 = _T_619[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24695.4]
  assign _T_621 = _T_617 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24696.4]
  assign _T_641 = _T_621 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24713.4]
  assign _T_642 = io_in_d_valid & _T_641; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24714.4]
  assign _T_643 = io_in_d_bits_opcode == _T_630; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24716.6]
  assign _T_645 = _T_643 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24718.6]
  assign _T_646 = _T_645 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24719.6]
  assign _T_647 = io_in_d_bits_param == _T_632; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24724.6]
  assign _T_649 = _T_647 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24726.6]
  assign _T_650 = _T_649 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24727.6]
  assign _T_651 = io_in_d_bits_size == _T_634; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24732.6]
  assign _T_653 = _T_651 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24734.6]
  assign _T_654 = _T_653 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24735.6]
  assign _T_655 = io_in_d_bits_source == _T_636; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24740.6]
  assign _T_657 = _T_655 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24742.6]
  assign _T_658 = _T_657 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24743.6]
  assign _T_659 = io_in_d_bits_sink == _T_638; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24748.6]
  assign _T_661 = _T_659 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24750.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24751.6]
  assign _T_663 = io_in_d_bits_denied == _T_640; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24756.6]
  assign _T_665 = _T_663 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24758.6]
  assign _T_666 = _T_665 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24759.6]
  assign _T_668 = _T_608 & _T_621; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24766.4]
  assign _T_682 = _T_681 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24786.4]
  assign _T_683 = $unsigned(_T_682); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24787.4]
  assign _T_684 = _T_683[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24788.4]
  assign _T_685 = _T_681 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24789.4]
  assign _T_703 = _T_702 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24809.4]
  assign _T_704 = $unsigned(_T_703); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24810.4]
  assign _T_705 = _T_704[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24811.4]
  assign _T_706 = _T_702 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24812.4]
  assign _T_717 = _T_552 & _T_685; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24827.4]
  assign _T_719 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24830.6]
  assign _T_720 = _T_670 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24832.6]
  assign _T_721 = _T_720[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24833.6]
  assign _T_722 = _T_721 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24834.6]
  assign _T_724 = _T_722 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24836.6]
  assign _T_725 = _T_724 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24837.6]
  assign _GEN_15 = _T_717 ? _T_719 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24829.4]
  assign _T_730 = _T_608 & _T_706; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24848.4]
  assign _T_732 = _T_411 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@24850.4]
  assign _T_733 = _T_730 & _T_732; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24851.4]
  assign _T_734 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24853.6]
  assign _T_735 = _GEN_15 | _T_670; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24855.6]
  assign _T_736 = _T_735 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24856.6]
  assign _T_737 = _T_736[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24857.6]
  assign _T_739 = _T_737 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24859.6]
  assign _T_740 = _T_739 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24860.6]
  assign _GEN_16 = _T_733 ? _T_734 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@24852.4]
  assign _T_741 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24866.4]
  assign _T_742 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@24867.4]
  assign _T_743 = _T_742 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24868.4]
  assign _T_744 = _T_741 | _T_743; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24869.4]
  assign _T_746 = _T_744 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24871.4]
  assign _T_747 = _T_746 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24872.4]
  assign _T_748 = _T_670 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24877.4]
  assign _T_749 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24878.4]
  assign _T_750 = _T_748 & _T_749; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24879.4]
  assign _T_753 = _T_670 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24884.4]
  assign _T_754 = _T_753 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24885.4]
  assign _T_755 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24886.4]
  assign _T_756 = _T_754 | _T_755; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24887.4]
  assign _T_757 = _T_752 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.4]
  assign _T_758 = _T_756 | _T_757; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24889.4]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24891.4]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24892.4]
  assign _T_763 = _T_752 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24898.4]
  assign _T_766 = _T_552 | _T_608; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24902.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23801.10]
  assign _GEN_35 = io_in_a_valid & _T_134; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23879.10]
  assign _GEN_53 = io_in_a_valid & _T_182; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23968.10]
  assign _GEN_65 = io_in_a_valid & _T_221; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24033.10]
  assign _GEN_75 = io_in_a_valid & _T_256; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24090.10]
  assign _GEN_85 = io_in_a_valid & _T_293; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24149.10]
  assign _GEN_95 = io_in_a_valid & _T_328; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24206.10]
  assign _GEN_105 = io_in_a_valid & _T_363; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24260.10]
  assign _GEN_115 = io_in_d_valid & _T_411; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24318.10]
  assign _GEN_125 = io_in_d_valid & _T_431; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24360.10]
  assign _GEN_139 = io_in_d_valid & _T_459; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24418.10]
  assign _GEN_153 = io_in_d_valid & _T_488; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24477.10]
  assign _GEN_161 = io_in_d_valid & _T_505; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24512.10]
  assign _GEN_169 = io_in_d_valid & _T_523; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24548.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@23708.8]
        end
    `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@23709.8]
        end
    `ifdef STOP_COND
      end
    `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@23778.8]
        end
    `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@23779.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@23801.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@23802.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@23808.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@23809.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@23815.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@23816.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@23823.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@23824.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@23830.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@23831.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@23838.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@23839.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@23847.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@23848.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@23855.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@23856.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@23879.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@23880.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@23886.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@23887.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@23893.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@23894.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@23901.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@23902.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@23908.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@23909.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@23916.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@23917.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@23924.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@23925.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@23933.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@23934.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@23941.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@23942.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@23968.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@23969.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@23975.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@23976.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@23982.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@23983.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@23990.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@23991.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@23998.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@23999.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@24006.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@24007.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@24033.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@24034.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@24040.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@24041.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@24047.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@24048.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@24055.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@24056.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@24063.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@24064.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@24090.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@24091.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@24097.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@24098.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@24104.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@24105.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@24112.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@24113.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@24122.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@24123.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@24149.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@24150.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@24156.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@24157.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@24163.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@24164.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@24171.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@24172.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@24179.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@24180.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@24206.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@24207.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@24213.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@24214.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@24220.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@24221.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@24228.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@24229.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@24236.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@24237.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@24260.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@24261.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@24267.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@24268.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@24274.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@24275.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@24282.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@24283.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@24290.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@24291.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@24301.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@24302.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@24318.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@24319.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@24326.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@24327.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@24334.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@24335.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@24342.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@24343.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@24350.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@24351.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@24360.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@24361.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@24367.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@24368.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@24375.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@24376.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@24383.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@24384.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@24391.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@24392.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@24399.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@24400.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@24408.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@24409.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@24418.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@24419.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@24425.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@24426.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@24433.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@24434.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@24441.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@24442.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@24449.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@24450.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@24458.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@24459.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@24467.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@24468.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@24477.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@24478.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@24485.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@24486.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@24493.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@24494.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@24502.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@24503.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@24512.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@24513.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@24520.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@24521.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@24529.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@24530.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@24538.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@24539.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@24548.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@24549.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@24556.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@24557.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@24564.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@24565.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@24573.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@24574.10]
        end
    `ifdef STOP_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@24583.6]
        end
    `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@24584.6]
        end
    `ifdef STOP_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@24591.6]
        end
    `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@24592.6]
        end
    `ifdef STOP_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@24599.6]
        end
    `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@24600.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@24639.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@24640.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@24647.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@24648.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@24655.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@24656.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@24663.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@24664.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@24671.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@24672.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@24721.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@24722.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@24729.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@24730.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@24737.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@24738.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@24745.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@24746.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@24753.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@24754.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@24761.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@24762.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@24839.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@24840.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@24862.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@24863.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@24874.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@24875.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@24894.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@24895.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24907.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24908.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24909.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.4]
  TLMonitor_13 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24917.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@24957.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24957.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24956.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24919.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24920.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24953.4]
endmodule
module SimpleLazyModule_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24967.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24968.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24969.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [31:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [2:0]  auto_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [2:0]  auto_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [2:0]  auto_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [31:0] auto_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [3:0]  auto_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output [31:0] auto_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  output        auto_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [2:0]  auto_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [1:0]  auto_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [2:0]  auto_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input  [31:0] auto_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
  input         auto_tl_slave_xing_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24970.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.4]
  TLBuffer_5 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.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@24988.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign auto_tl_slave_xing_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign auto_tl_slave_xing_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24987.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24979.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24980.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24988.4]
  assign buffer_auto_out_a_ready = auto_tl_slave_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_valid = auto_tl_slave_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_opcode = auto_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_param = auto_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_size = auto_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_source = auto_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_sink = auto_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_denied = auto_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_data = auto_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
  assign buffer_auto_out_d_bits_corrupt = auto_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24986.4]
endmodule
module TLMonitor_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24997.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24998.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24999.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@26115.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25016.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25021.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25023.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25024.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25025.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25026.6]
  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25026.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@25027.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25029.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25030.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@25032.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25033.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25034.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25035.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25036.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25038.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25039.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25041.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25043.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25044.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25045.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25046.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25047.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25048.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25049.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25050.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25051.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25052.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25053.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25054.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25055.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25056.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25057.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25058.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25059.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25060.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25085.6]
  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25088.8]
  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25089.8]
  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@25091.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25092.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25097.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25110.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25111.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25118.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25119.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25125.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25126.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25131.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25133.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25134.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25139.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25140.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25142.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25143.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25148.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25150.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25151.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25157.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25211.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25213.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25214.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25237.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@25240.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@25248.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25251.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25252.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25271.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25273.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25274.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25279.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25281.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25282.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25296.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25344.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25383.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25384.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25385.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25387.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25388.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25394.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@25425.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25427.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25428.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25442.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25473.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25475.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25476.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25490.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25549.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25554.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25559.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25560.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25846.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25856.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25857.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25858.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25859.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25870.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25871.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25872.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25873.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25874.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25875.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25876.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25878.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25880.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25881.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25886.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25894.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25896.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25902.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25904.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25905.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25910.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25912.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25913.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25920.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25928.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25930.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25931.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@25933.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25937.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25938.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25939.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25940.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25953.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25954.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25957.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25958.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25976.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25978.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25979.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25984.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25986.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25987.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26010.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26019.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26029.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26030.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26031.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26032.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26033.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26052.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26053.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26055.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26056.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26071.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26074.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26076.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26077.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26078.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26081.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@26073.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26092.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26097.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26099.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@26100.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@26101.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26103.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26104.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@26096.4]
  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26110.4]
  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26111.4]
  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@26112.4]
  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26114.4]
  reg [31:0] _RAND_12;
  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26117.4]
  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26118.4]
  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@26119.4]
  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26120.4]
  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@26121.4]
  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@26122.4]
  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26124.4]
  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26125.4]
  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26131.4]
  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26135.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25099.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25171.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25254.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25310.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25358.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25408.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25456.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25504.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@26115.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25016.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25021.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25023.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25024.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25025.6]
  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25026.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25026.6]
  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@25027.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25029.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25030.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@25032.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25033.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25034.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25035.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25036.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25038.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25039.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25041.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25043.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25044.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25045.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25046.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25047.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25048.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25049.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25050.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25051.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25052.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25053.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25054.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25055.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25056.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25057.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25058.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25059.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25060.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25085.6]
  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25088.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25089.8]
  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@25091.8]
  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25092.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25097.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25110.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25111.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25118.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25119.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25125.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25126.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25131.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25133.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25134.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25139.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25140.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25142.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25143.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25148.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25150.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25151.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25157.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25211.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25213.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25214.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25237.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@25240.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@25248.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25251.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25252.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25271.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25273.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25274.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25279.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25281.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25282.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25296.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25344.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25383.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25384.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25385.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25387.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25388.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25394.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@25425.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25427.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25428.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25442.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25473.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25475.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25476.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25490.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25549.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25554.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25559.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25560.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25846.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25856.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25857.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25858.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25859.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25875.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25876.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25878.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25880.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25881.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25886.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25894.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25896.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25902.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25904.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25905.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25910.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25912.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25913.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25920.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25928.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25930.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25931.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@25933.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25937.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25938.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25939.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25940.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25957.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25958.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25976.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25978.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25979.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25984.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25986.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25987.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26010.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26030.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26031.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26032.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26033.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26053.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26055.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26056.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26071.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26074.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26076.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26077.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26078.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26081.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@26073.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26092.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26097.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26099.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@26100.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@26101.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26103.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26104.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@26096.4]
  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26110.4]
  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26111.4]
  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@26112.4]
  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26117.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26118.4]
  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@26119.4]
  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26120.4]
  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@26121.4]
  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@26122.4]
  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26124.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26125.4]
  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26131.4]
  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26135.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25099.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25171.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25254.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25310.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25358.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25408.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25456.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25504.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@25012.8]
        end
    `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@25013.8]
        end
    `ifdef STOP_COND
      end
    `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@25082.8]
        end
    `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@25083.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@25099.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@25100.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@25106.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@25107.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@25113.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@25114.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@25121.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@25122.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@25128.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@25129.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@25136.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@25137.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@25145.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@25146.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@25153.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@25154.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@25171.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@25172.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@25178.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@25179.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@25185.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@25186.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@25193.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@25194.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@25200.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@25201.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@25208.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@25209.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@25216.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@25217.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@25225.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@25226.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@25233.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@25234.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@25254.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@25255.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@25261.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@25262.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@25268.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@25269.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@25276.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@25277.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@25284.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@25285.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@25292.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@25293.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@25310.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@25311.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@25317.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@25318.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@25324.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@25325.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@25332.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@25333.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@25340.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@25341.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@25358.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@25359.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@25365.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@25366.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@25372.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@25373.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@25380.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@25381.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@25390.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@25391.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@25408.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@25409.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@25415.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@25416.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@25422.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@25423.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@25430.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@25431.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@25438.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@25439.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@25456.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@25457.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@25463.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@25464.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@25470.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@25471.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@25478.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@25479.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@25486.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@25487.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@25504.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@25505.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@25511.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@25512.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@25518.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@25519.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@25526.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@25527.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@25534.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@25535.10]
        end
    `ifdef STOP_COND
      end
    `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@25545.8]
        end
    `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@25546.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25562.10]
        end
    `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@25563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25570.10]
        end
    `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@25571.10]
        end
    `ifdef STOP_COND
      end
    `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@25578.10]
        end
    `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@25579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25586.10]
        end
    `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@25587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25594.10]
        end
    `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@25595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25604.10]
        end
    `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@25605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25611.10]
        end
    `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@25612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25619.10]
        end
    `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@25620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25627.10]
        end
    `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@25628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25635.10]
        end
    `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@25636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25643.10]
        end
    `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@25644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25652.10]
        end
    `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@25653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25662.10]
        end
    `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@25663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25669.10]
        end
    `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@25670.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25677.10]
        end
    `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@25678.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25685.10]
        end
    `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@25686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25693.10]
        end
    `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@25694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@25702.10]
        end
    `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@25703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@25711.10]
        end
    `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@25712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25721.10]
        end
    `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@25722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25729.10]
        end
    `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@25730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25737.10]
        end
    `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@25738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25746.10]
        end
    `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@25747.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@25756.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@25757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25764.10]
        end
    `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@25765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@25773.10]
        end
    `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@25774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@25782.10]
        end
    `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@25783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25792.10]
        end
    `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@25793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@25800.10]
        end
    `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@25801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25808.10]
        end
    `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@25809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@25817.10]
        end
    `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@25818.10]
        end
    `ifdef STOP_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@25827.6]
        end
    `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@25828.6]
        end
    `ifdef STOP_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@25835.6]
        end
    `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@25836.6]
        end
    `ifdef STOP_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@25843.6]
        end
    `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@25844.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@25883.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@25884.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@25891.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@25892.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@25899.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@25900.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@25907.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@25908.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@25915.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@25916.8]
        end
    `ifdef STOP_COND
      end
    `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@25965.8]
        end
    `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@25966.8]
        end
    `ifdef STOP_COND
      end
    `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@25973.8]
        end
    `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@25974.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@25981.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@25982.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@25989.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@25990.8]
        end
    `ifdef STOP_COND
      end
    `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@25997.8]
        end
    `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@25998.8]
        end
    `ifdef STOP_COND
      end
    `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@26005.8]
        end
    `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@26006.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@26083.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@26084.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@26106.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@26107.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@26127.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@26128.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26140.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26141.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26142.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input  [16:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output [16:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26148.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_4;
  reg [16:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26149.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26152.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26158.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26159.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26164.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26165.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26166.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26152.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26158.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26159.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26164.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26165.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26166.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@26157.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26154.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26151.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26156.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@26171.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26172.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26173.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26174.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [16:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [16:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26298.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26222.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26223.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26224.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26226.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26232.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26233.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26234.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@26253.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@26253.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26254.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26254.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26255.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26255.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@26256.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26257.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26258.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26259.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26260.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26261.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26262.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26263.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26263.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26264.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26265.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26266.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26267.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@26268.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26269.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26270.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26271.4]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26273.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26274.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26275.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@26280.8]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26323.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26324.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26326.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26327.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26328.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26330.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26331.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26332.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26336.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26337.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26338.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26339.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26340.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26341.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26342.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26343.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26346.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26353.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26354.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26358.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@26218.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26367.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26359.4]
  wire [5:0] _GEN_11; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26368.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26368.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@26369.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@26370.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26371.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26371.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@26372.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26373.4]
  wire [16:0] _GEN_13; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@26374.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26376.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26380.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26392.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26393.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26395.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26396.4]
  TLMonitor_14 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26181.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@26298.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@26225.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26226.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26232.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26233.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26234.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@26253.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@26253.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26254.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26254.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26255.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@26255.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@26256.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26257.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26258.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26259.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26260.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26261.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26262.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26263.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26263.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26264.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@26265.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26266.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26267.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@26268.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26269.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26270.4]
  assign _T_291 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26271.4]
  assign _T_292 = _T_244 - 4'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26273.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26274.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@26275.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@26280.8]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26323.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26324.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26326.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26327.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26328.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26330.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26331.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26332.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26337.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26338.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26339.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26340.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26341.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26342.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26343.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26346.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26354.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26358.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@26218.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26367.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26359.4]
  assign _GEN_11 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26368.4]
  assign _T_369 = _GEN_11 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26368.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@26369.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@26370.4]
  assign _GEN_12 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26371.4]
  assign _T_372 = _T_371 | _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26371.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@26372.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26373.4]
  assign _GEN_13 = {{11'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@26374.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26376.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26380.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26392.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26393.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26395.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26396.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26221.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26221.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26221.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26221.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26221.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.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@26220.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26220.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26183.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26184.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26217.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26300.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26301.4]
  assign Repeater_io_repeat = _T_354 != 4'h0; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26366.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26367.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@26246.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@26247.6]
        end
    `ifdef STOP_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@26387.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@26388.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@26398.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@26399.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26417.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26418.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26419.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@27535.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26436.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26441.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26443.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26444.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26445.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26446.6]
  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26446.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26447.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26449.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26450.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@26452.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26453.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26454.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26455.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26456.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26458.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26459.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26461.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26463.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26464.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26465.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26466.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26467.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26468.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26469.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26470.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26471.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26472.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26473.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26474.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26475.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26476.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26477.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26478.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26479.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26480.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26505.6]
  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26508.8]
  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26509.8]
  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26511.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26512.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26517.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26530.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26531.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26538.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26539.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26545.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26546.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26551.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26553.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26554.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26559.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26560.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26562.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26563.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26568.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26570.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26571.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26577.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26631.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26633.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26634.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26657.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@26660.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@26668.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26671.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26672.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26691.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26693.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26694.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26699.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26701.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26702.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26716.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26764.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26803.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26804.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26805.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26807.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26808.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26814.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26845.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26847.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26848.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26862.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26893.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26895.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26896.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26910.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26969.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26974.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26979.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26980.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27266.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27275.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27276.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27277.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27278.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27279.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27291.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27292.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27293.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27294.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27295.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27296.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27298.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27300.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27301.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27306.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27308.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27309.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27314.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27316.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27317.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27322.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27324.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27325.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27330.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27332.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27333.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27340.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27348.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27350.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27351.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27352.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@27353.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27356.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27357.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27358.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27359.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27360.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27373.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27374.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27377.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27378.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27396.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27398.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27399.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27404.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27406.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27407.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27430.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27439.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27449.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27450.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27451.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27452.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27453.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27472.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27473.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27474.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27475.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27476.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27491.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27494.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27496.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27497.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27498.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27500.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27501.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@27493.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27512.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27517.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27519.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27520.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27521.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27523.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27524.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@27516.4]
  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27530.4]
  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27531.4]
  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27532.4]
  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27534.4]
  reg [31:0] _RAND_12;
  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27537.4]
  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27538.4]
  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27539.4]
  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27540.4]
  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@27541.4]
  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@27542.4]
  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27544.4]
  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27545.4]
  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27551.4]
  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27555.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26519.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26591.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26674.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26730.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26778.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26828.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26876.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26924.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@27535.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26436.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26441.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26443.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26444.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26445.6]
  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26446.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26446.6]
  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26447.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26449.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26450.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@26452.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26453.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26454.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26455.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26456.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26458.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26459.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26461.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26463.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26464.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26465.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26466.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26467.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26468.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26469.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26470.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26471.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26472.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26473.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26474.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26475.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26476.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26477.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26478.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26479.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26480.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26505.6]
  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26508.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26509.8]
  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26511.8]
  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26512.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26517.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26530.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26531.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26538.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26539.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26545.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26546.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26551.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26553.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26554.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26559.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26560.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26562.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26563.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26568.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26570.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26571.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26577.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26631.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26633.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26634.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26657.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@26660.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@26668.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26671.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26672.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26691.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26693.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26694.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26699.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26701.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26702.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26716.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26764.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26803.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26804.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26805.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26807.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26808.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26814.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26845.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26847.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26848.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26862.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26893.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26895.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26896.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26910.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26969.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26974.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26979.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26980.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27266.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27276.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27277.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27278.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27279.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27295.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27296.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27298.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27300.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27301.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27306.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27308.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27309.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27314.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27316.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27317.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27322.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27324.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27325.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27330.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27332.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27333.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27340.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27348.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27350.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27351.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27352.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@27353.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27357.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27358.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27359.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27360.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27377.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27378.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27396.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27398.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27399.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27404.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27406.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27407.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27430.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27450.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27451.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27452.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27453.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27473.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27474.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27475.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27476.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27491.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27494.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27496.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27497.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27498.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27500.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27501.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@27493.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27512.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27517.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27519.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27520.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27521.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27523.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27524.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@27516.4]
  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27530.4]
  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27531.4]
  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27532.4]
  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27537.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27538.4]
  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27539.4]
  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27540.4]
  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@27541.4]
  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@27542.4]
  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27544.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27545.4]
  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27551.4]
  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27555.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26519.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26591.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26674.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26730.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26778.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26828.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26876.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26924.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@26432.8]
        end
    `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@26433.8]
        end
    `ifdef STOP_COND
      end
    `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@26502.8]
        end
    `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@26503.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@26519.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@26520.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@26526.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@26527.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@26533.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@26534.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@26541.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@26542.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@26548.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@26549.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@26556.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@26557.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@26565.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@26566.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@26573.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@26574.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@26591.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@26592.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@26598.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@26599.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@26605.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@26606.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@26613.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@26614.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@26620.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@26621.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@26628.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@26629.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@26636.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@26637.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@26645.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@26646.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@26653.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@26654.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@26674.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@26675.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@26681.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@26682.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@26688.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@26689.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@26696.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@26697.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@26704.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@26705.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@26712.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@26713.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@26730.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@26731.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@26737.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@26738.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@26744.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@26745.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@26752.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@26753.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@26760.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@26761.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@26778.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@26779.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@26785.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@26786.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@26792.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@26793.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@26800.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@26801.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@26810.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@26811.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@26828.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@26829.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@26835.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@26836.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@26842.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@26843.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@26850.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@26851.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@26858.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@26859.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@26876.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@26877.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@26883.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@26884.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@26890.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@26891.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@26898.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@26899.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@26906.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@26907.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@26924.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@26925.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@26931.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@26932.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@26938.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@26939.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@26946.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@26947.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@26954.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@26955.10]
        end
    `ifdef STOP_COND
      end
    `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@26965.8]
        end
    `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@26966.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@26982.10]
        end
    `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@26983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@26990.10]
        end
    `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@26991.10]
        end
    `ifdef STOP_COND
      end
    `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@26998.10]
        end
    `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@26999.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27006.10]
        end
    `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@27007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27014.10]
        end
    `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@27015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27024.10]
        end
    `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@27025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27031.10]
        end
    `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@27032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27039.10]
        end
    `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@27040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27047.10]
        end
    `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@27048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27055.10]
        end
    `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@27056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27063.10]
        end
    `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@27064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27072.10]
        end
    `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@27073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27082.10]
        end
    `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@27083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27089.10]
        end
    `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@27090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27097.10]
        end
    `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@27098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27105.10]
        end
    `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@27106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27113.10]
        end
    `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@27114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@27122.10]
        end
    `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@27123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@27131.10]
        end
    `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@27132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27141.10]
        end
    `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@27142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27149.10]
        end
    `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@27150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27157.10]
        end
    `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@27158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27166.10]
        end
    `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@27167.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@27176.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@27177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27184.10]
        end
    `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@27185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@27193.10]
        end
    `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@27194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@27202.10]
        end
    `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@27203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27212.10]
        end
    `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@27213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@27220.10]
        end
    `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@27221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27228.10]
        end
    `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@27229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@27237.10]
        end
    `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@27238.10]
        end
    `ifdef STOP_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@27247.6]
        end
    `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@27248.6]
        end
    `ifdef STOP_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@27255.6]
        end
    `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@27256.6]
        end
    `ifdef STOP_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@27263.6]
        end
    `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@27264.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@27303.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@27304.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@27311.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@27312.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@27319.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@27320.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@27327.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@27328.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@27335.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@27336.8]
        end
    `ifdef STOP_COND
      end
    `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@27385.8]
        end
    `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@27386.8]
        end
    `ifdef STOP_COND
      end
    `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@27393.8]
        end
    `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@27394.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@27401.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@27402.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@27409.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@27410.8]
        end
    `ifdef STOP_COND
      end
    `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@27417.8]
        end
    `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@27418.8]
        end
    `ifdef STOP_COND
      end
    `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@27425.8]
        end
    `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@27426.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@27503.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@27504.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@27526.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@27527.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@27547.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@27548.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLWidthWidget_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27560.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27561.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27562.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27563.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.4]
  TLMonitor_15 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27570.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@27610.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27610.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27610.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27610.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27610.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27609.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27572.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27573.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27606.4]
endmodule
module TLMonitor_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27627.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27628.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27629.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@28745.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27646.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27651.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27653.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27654.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27655.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27656.6]
  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27656.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@27657.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27659.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27660.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@27662.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27663.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27664.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27665.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27666.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27668.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27669.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27671.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27673.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27674.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27675.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27676.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27677.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27678.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27679.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27680.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27681.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27682.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27683.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27684.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27685.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27686.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27687.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27688.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27689.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27690.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27715.6]
  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27718.8]
  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27719.8]
  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27721.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@27722.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27727.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27740.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27741.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27748.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27749.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27755.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27756.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27761.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27763.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27764.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27769.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27770.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27772.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27773.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27778.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27780.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27781.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27787.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27841.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27843.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27844.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27867.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@27870.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@27878.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27881.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27882.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27901.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27903.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27904.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27909.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27911.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27912.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27926.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27974.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28013.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28014.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@28015.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28017.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28018.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28024.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@28055.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28057.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28058.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28072.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28103.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28105.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28106.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28120.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@28179.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28184.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28189.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28190.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28476.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28485.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28486.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28487.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28488.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28489.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28500.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28501.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28502.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28503.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28504.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28506.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28508.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28510.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28511.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28516.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28518.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28519.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28524.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28526.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28527.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28532.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28534.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28540.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28542.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28543.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28550.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28558.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28560.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28561.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28562.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@28563.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28566.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28567.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28568.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28569.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28570.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28583.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28584.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28587.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28588.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28608.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28609.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28614.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28616.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28617.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28640.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28649.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28659.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28660.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28661.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28662.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28663.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28682.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28683.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28684.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28685.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28686.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28701.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28704.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28706.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28707.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28708.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28710.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28711.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@28703.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28722.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28727.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28729.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28730.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28731.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28733.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28734.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@28726.4]
  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28740.4]
  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28741.4]
  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28742.4]
  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28744.4]
  reg [31:0] _RAND_12;
  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28747.4]
  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28748.4]
  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28749.4]
  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28750.4]
  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@28751.4]
  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@28752.4]
  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28754.4]
  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28755.4]
  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.4]
  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28765.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27729.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27801.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27884.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27940.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27988.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28038.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28086.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28134.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@28745.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27646.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27651.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27653.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27654.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27655.6]
  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27656.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27656.6]
  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@27657.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27659.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27660.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@27662.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27663.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27664.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27665.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27666.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27668.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27669.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27671.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27673.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27674.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27675.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27676.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27677.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27678.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27679.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27680.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27681.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27682.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27683.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27684.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27685.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27686.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27687.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27688.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27689.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27690.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27715.6]
  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27718.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27719.8]
  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27721.8]
  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@27722.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27727.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27740.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27741.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27748.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27749.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27755.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27756.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27761.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27763.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27764.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27769.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27770.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27772.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27773.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27778.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27780.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27781.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27787.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27841.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27843.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27844.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27867.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@27870.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@27878.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27881.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27882.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27901.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27903.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27904.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27909.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27911.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27912.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27926.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27974.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28013.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28014.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@28015.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28017.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28018.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28024.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@28055.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28057.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28058.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28072.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28103.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28105.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28106.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28120.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@28179.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28184.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28189.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28190.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28476.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28486.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28487.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28488.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28489.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28506.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28508.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28510.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28511.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28516.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28518.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28519.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28524.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28526.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28527.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28532.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28534.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28540.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28542.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28543.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28550.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28558.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28560.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28561.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28562.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@28563.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28567.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28568.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28569.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28570.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28587.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28588.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28608.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28609.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28614.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28616.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28617.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28640.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28660.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28661.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28662.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28663.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28683.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28684.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28685.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28686.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28701.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28704.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28706.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28707.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28708.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28710.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28711.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@28703.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28722.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28727.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28729.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28730.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28731.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28733.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28734.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@28726.4]
  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28740.4]
  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28741.4]
  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28742.4]
  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28747.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28748.4]
  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28749.4]
  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28750.4]
  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@28751.4]
  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@28752.4]
  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28754.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28755.4]
  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.4]
  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28765.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27729.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27801.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27884.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27940.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27988.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28038.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28086.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28134.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@27642.8]
        end
    `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@27643.8]
        end
    `ifdef STOP_COND
      end
    `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@27712.8]
        end
    `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@27713.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@27729.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@27730.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@27736.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@27737.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@27743.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@27744.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@27751.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@27752.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@27758.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@27759.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@27766.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@27767.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@27775.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@27776.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@27783.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@27784.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@27801.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@27802.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@27808.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@27809.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@27815.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@27816.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@27823.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@27824.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@27830.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@27831.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@27838.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@27839.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@27846.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@27847.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@27855.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@27856.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@27863.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@27864.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@27884.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@27885.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@27891.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@27892.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@27898.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@27899.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@27906.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@27907.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@27914.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@27915.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@27922.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@27923.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@27940.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@27941.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@27947.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@27948.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@27954.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@27955.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@27962.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@27963.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@27970.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@27971.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@27988.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@27989.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@27995.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@27996.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@28002.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@28003.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@28010.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@28011.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@28020.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@28021.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@28038.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@28039.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@28045.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@28046.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@28052.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@28053.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@28060.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@28061.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@28068.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@28069.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@28086.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@28087.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@28093.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@28094.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@28100.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@28101.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@28108.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@28109.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@28116.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@28117.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@28134.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@28135.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@28141.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@28142.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@28148.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@28149.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@28156.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@28157.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@28164.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@28165.10]
        end
    `ifdef STOP_COND
      end
    `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@28175.8]
        end
    `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@28176.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28192.10]
        end
    `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@28193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28200.10]
        end
    `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@28201.10]
        end
    `ifdef STOP_COND
      end
    `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@28208.10]
        end
    `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@28209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28216.10]
        end
    `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@28217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28224.10]
        end
    `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@28225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28234.10]
        end
    `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@28235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28241.10]
        end
    `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@28242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28249.10]
        end
    `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@28250.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28257.10]
        end
    `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@28258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28265.10]
        end
    `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@28266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28273.10]
        end
    `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@28274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28282.10]
        end
    `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@28283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28292.10]
        end
    `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@28293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28299.10]
        end
    `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@28300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28307.10]
        end
    `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@28308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28315.10]
        end
    `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@28316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28323.10]
        end
    `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@28324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@28332.10]
        end
    `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@28333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@28341.10]
        end
    `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@28342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28351.10]
        end
    `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@28352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28359.10]
        end
    `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@28360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28367.10]
        end
    `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@28368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28376.10]
        end
    `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@28377.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@28386.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@28387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28394.10]
        end
    `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@28395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@28403.10]
        end
    `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@28404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@28412.10]
        end
    `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@28413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28422.10]
        end
    `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@28423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@28430.10]
        end
    `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@28431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28438.10]
        end
    `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@28439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@28447.10]
        end
    `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@28448.10]
        end
    `ifdef STOP_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@28457.6]
        end
    `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@28458.6]
        end
    `ifdef STOP_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@28465.6]
        end
    `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@28466.6]
        end
    `ifdef STOP_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@28473.6]
        end
    `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@28474.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@28513.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@28514.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@28521.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@28522.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@28529.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@28530.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@28537.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@28538.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@28545.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@28546.8]
        end
    `ifdef STOP_COND
      end
    `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@28595.8]
        end
    `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@28596.8]
        end
    `ifdef STOP_COND
      end
    `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@28603.8]
        end
    `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@28604.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@28611.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@28612.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@28619.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@28620.8]
        end
    `ifdef STOP_COND
      end
    `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@28627.8]
        end
    `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@28628.8]
        end
    `ifdef STOP_COND
      end
    `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@28635.8]
        end
    `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@28636.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@28713.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@28714.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@28736.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@28737.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@28757.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@28758.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28770.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28771.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28772.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28773.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.4]
  TLMonitor_16 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.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@28820.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28819.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28782.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28783.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28816.4]
endmodule
module SimpleLazyModule_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28830.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28831.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28832.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [16:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [16:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28833.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [16:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [16:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [16:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [16:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28844.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [16:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [16:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.4]
  TLFragmenter_3 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28838.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@28844.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@28850.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@28859.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28842.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28843.4]
  assign fragmenter_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28858.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28848.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28849.4]
  assign widget_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign widget_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign widget_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign widget_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign widget_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign widget_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28856.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28854.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28855.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28859.4]
  assign buffer_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign buffer_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign buffer_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign buffer_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
  assign buffer_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28857.4]
endmodule
module TLMonitor_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28868.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28869.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28870.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input  [5:0]  io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30009.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28898.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28899.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28900.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@28902.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28904.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28905.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@28907.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28908.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28909.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28910.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28911.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28913.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28914.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28916.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28917.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28918.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28919.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28920.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28922.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28923.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28924.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28925.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28926.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28927.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28928.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28929.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28930.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28931.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28932.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28933.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28934.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28935.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28958.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28961.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28962.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28963.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28964.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@28965.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28970.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28991.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28992.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28998.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28999.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29004.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29006.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29007.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29012.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29013.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29015.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29016.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29021.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29023.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29024.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29030.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29084.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29086.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29110.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@29113.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@29121.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29124.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29125.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29144.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29146.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29147.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29152.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29154.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29155.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29169.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29220.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29262.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29263.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@29264.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29266.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29267.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29273.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29304.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29306.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29307.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29321.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29352.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29354.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29355.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29369.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@29419.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29421.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29422.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29439.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29448.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29450.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29451.8]
  wire  _T_371; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29456.8]
  wire  _T_373; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29458.8]
  wire  _T_374; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29459.8]
  wire  _T_375; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29464.8]
  wire  _T_377; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29466.8]
  wire  _T_378; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29467.8]
  wire  _T_379; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29472.8]
  wire  _T_381; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29474.8]
  wire  _T_382; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29475.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29481.6]
  wire  _T_394; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29505.8]
  wire  _T_396; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29507.8]
  wire  _T_397; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29508.8]
  wire  _T_398; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29513.8]
  wire  _T_400; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29515.8]
  wire  _T_401; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29516.8]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29539.6]
  wire  _T_431; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29580.8]
  wire  _T_433; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29582.8]
  wire  _T_434; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29583.8]
  wire  _T_440; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29598.6]
  wire  _T_457; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29633.6]
  wire  _T_475; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29669.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29729.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29738.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29739.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29740.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29741.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29742.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29753.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29754.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29755.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29756.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29757.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29758.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29759.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29761.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29763.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29764.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29769.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29771.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29772.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29777.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29779.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29780.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29785.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29787.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29788.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29793.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29795.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29796.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29803.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29811.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29819.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29820.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29821.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29822.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29823.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29834.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_584; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29835.4]
  reg [31:0] _RAND_8;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29836.4]
  reg [31:0] _RAND_9;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29837.4]
  reg [31:0] _RAND_10;
  reg  _T_590; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29838.4]
  reg [31:0] _RAND_11;
  reg  _T_592; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29839.4]
  reg [31:0] _RAND_12;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29840.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29841.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29843.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29845.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29846.6]
  wire  _T_599; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29851.6]
  wire  _T_601; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29853.6]
  wire  _T_602; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29854.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29859.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29861.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29862.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29867.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29869.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29870.6]
  wire  _T_611; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29875.6]
  wire  _T_613; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29877.6]
  wire  _T_614; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29878.6]
  wire  _T_615; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29883.6]
  wire  _T_617; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29885.6]
  wire  _T_618; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29886.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29893.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29902.4]
  reg [63:0] _RAND_13;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29912.4]
  reg [31:0] _RAND_14;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29913.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29914.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29915.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29916.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29935.4]
  reg [31:0] _RAND_15;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29936.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29937.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29938.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29939.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29954.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29957.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29959.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29960.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29961.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29963.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29964.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29956.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29975.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@29977.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29978.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29980.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@29982.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29983.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29984.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29986.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29987.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@29979.4]
  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29993.4]
  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@29994.4]
  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29995.4]
  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29996.4]
  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29998.4]
  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29999.4]
  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30004.4]
  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@30005.4]
  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@30006.4]
  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30008.4]
  reg [31:0] _RAND_16;
  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30011.4]
  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@30012.4]
  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@30013.4]
  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@30015.4]
  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@30016.4]
  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30019.4]
  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@30025.4]
  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30029.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28972.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29044.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29127.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29237.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29287.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29335.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29383.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29453.10]
  wire  _GEN_107; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29494.10]
  wire  _GEN_119; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29552.10]
  wire  _GEN_131; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29612.10]
  wire  _GEN_137; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29647.10]
  wire  _GEN_143; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29683.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30009.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28898.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28899.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28900.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@28902.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28904.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28905.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@28907.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28908.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28909.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28910.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28911.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28913.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28914.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28916.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28917.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28918.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28919.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28920.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28922.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28923.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28924.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28925.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28926.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28927.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28928.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28929.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28930.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28931.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28932.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28933.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28934.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28935.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28958.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28961.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28962.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28963.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28964.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@28965.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28970.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28991.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28992.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28998.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28999.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29004.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29006.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29007.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29012.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29013.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29015.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29016.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29021.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29023.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29024.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29030.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29084.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29086.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29110.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@29113.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@29121.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29124.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29125.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29144.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29146.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29147.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29152.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29154.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29155.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29169.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29220.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29262.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29263.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@29264.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29266.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29267.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29273.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29304.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29306.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29307.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29321.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29352.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29354.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29355.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29369.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@29419.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29421.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29422.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29439.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29448.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29450.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29451.8]
  assign _T_371 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29456.8]
  assign _T_373 = _T_371 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29458.8]
  assign _T_374 = _T_373 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29459.8]
  assign _T_375 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29464.8]
  assign _T_377 = _T_375 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29466.8]
  assign _T_378 = _T_377 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29467.8]
  assign _T_379 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29472.8]
  assign _T_381 = _T_379 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29474.8]
  assign _T_382 = _T_381 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29475.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29481.6]
  assign _T_394 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29505.8]
  assign _T_396 = _T_394 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29507.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29508.8]
  assign _T_398 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29513.8]
  assign _T_400 = _T_398 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29515.8]
  assign _T_401 = _T_400 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29516.8]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29539.6]
  assign _T_431 = _T_379 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29580.8]
  assign _T_433 = _T_431 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29582.8]
  assign _T_434 = _T_433 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29583.8]
  assign _T_440 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29598.6]
  assign _T_457 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29633.6]
  assign _T_475 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29669.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29729.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29739.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29740.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29741.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29742.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29758.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29759.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29761.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29763.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29764.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29769.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29771.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29772.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29777.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29779.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29780.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29785.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29787.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29788.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29793.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29795.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29796.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29803.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29811.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29820.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29821.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29822.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29823.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29840.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29841.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29843.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29845.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29846.6]
  assign _T_599 = io_in_d_bits_param == _T_584; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29851.6]
  assign _T_601 = _T_599 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29853.6]
  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29854.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29859.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29861.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29862.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29867.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29869.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29870.6]
  assign _T_611 = io_in_d_bits_sink == _T_590; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29875.6]
  assign _T_613 = _T_611 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29877.6]
  assign _T_614 = _T_613 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29878.6]
  assign _T_615 = io_in_d_bits_denied == _T_592; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29883.6]
  assign _T_617 = _T_615 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29885.6]
  assign _T_618 = _T_617 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29886.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29893.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29913.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29914.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29915.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29916.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29936.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29937.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29938.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29939.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29954.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29957.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29959.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29960.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29961.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29963.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29964.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29956.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29975.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@29977.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29978.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29980.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@29982.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29983.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29984.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29986.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29987.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@29979.4]
  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29993.4]
  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@29994.4]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29995.4]
  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29996.4]
  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29998.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29999.4]
  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30004.4]
  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@30005.4]
  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@30006.4]
  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30011.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@30012.4]
  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@30013.4]
  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@30015.4]
  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@30016.4]
  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30019.4]
  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@30025.4]
  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@30029.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28972.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29044.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29127.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29237.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29287.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29335.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29383.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29453.10]
  assign _GEN_107 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29494.10]
  assign _GEN_119 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29552.10]
  assign _GEN_131 = io_in_d_valid & _T_440; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29612.10]
  assign _GEN_137 = io_in_d_valid & _T_457; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29647.10]
  assign _GEN_143 = io_in_d_valid & _T_475; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29683.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@28883.8]
        end
    `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@28884.8]
        end
    `ifdef STOP_COND
      end
    `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@28955.8]
        end
    `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@28956.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@28972.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@28973.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@28979.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@28980.10]
        end
    `ifdef STOP_COND
      end
    `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@28986.10]
        end
    `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@28987.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@28994.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@28995.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@29001.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@29002.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@29009.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@29010.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@29018.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@29019.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@29026.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@29027.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@29044.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@29045.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@29051.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@29052.10]
        end
    `ifdef STOP_COND
      end
    `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@29058.10]
        end
    `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@29059.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@29066.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@29067.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@29073.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@29074.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@29081.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@29082.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@29089.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@29090.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@29098.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@29099.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@29106.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@29107.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@29127.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@29128.10]
        end
    `ifdef STOP_COND
      end
    `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@29134.10]
        end
    `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@29135.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@29141.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@29142.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@29149.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@29150.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@29157.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@29158.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@29165.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@29166.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@29186.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@29187.10]
        end
    `ifdef STOP_COND
      end
    `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@29193.10]
        end
    `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@29194.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@29200.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@29201.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@29208.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@29209.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@29216.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@29217.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@29237.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@29238.10]
        end
    `ifdef STOP_COND
      end
    `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@29244.10]
        end
    `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@29245.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@29251.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@29252.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@29259.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@29260.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@29269.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@29270.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@29287.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@29288.10]
        end
    `ifdef STOP_COND
      end
    `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@29294.10]
        end
    `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@29295.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@29301.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@29302.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@29309.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@29310.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@29317.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@29318.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@29335.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@29336.10]
        end
    `ifdef STOP_COND
      end
    `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@29342.10]
        end
    `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@29343.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@29349.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@29350.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@29357.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@29358.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@29365.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@29366.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@29383.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@29384.10]
        end
    `ifdef STOP_COND
      end
    `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@29390.10]
        end
    `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@29391.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@29397.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@29398.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@29405.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@29406.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@29413.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@29414.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@29424.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@29425.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@29445.10]
        end
    `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@29446.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@29453.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@29454.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@29461.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@29462.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@29469.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@29470.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@29477.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@29478.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@29487.10]
        end
    `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@29488.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@29494.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@29495.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@29502.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@29503.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@29510.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@29511.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@29518.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@29519.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@29526.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@29527.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@29535.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@29536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@29545.10]
        end
    `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@29546.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@29552.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@29553.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@29560.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@29561.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@29568.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@29569.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@29576.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@29577.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@29585.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@29586.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@29594.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@29595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@29604.10]
        end
    `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@29605.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@29612.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@29613.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@29620.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@29621.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@29629.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@29630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@29639.10]
        end
    `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@29640.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@29647.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@29648.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@29656.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@29657.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@29665.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@29666.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@29675.10]
        end
    `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@29676.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@29683.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@29684.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@29691.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@29692.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@29700.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@29701.10]
        end
    `ifdef STOP_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@29710.6]
        end
    `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@29711.6]
        end
    `ifdef STOP_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@29718.6]
        end
    `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@29719.6]
        end
    `ifdef STOP_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@29726.6]
        end
    `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@29727.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@29766.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@29767.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@29774.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@29775.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@29782.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@29783.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@29790.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@29791.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@29798.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@29799.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@29848.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@29849.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@29856.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@29857.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@29864.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@29865.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@29872.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@29873.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@29880.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@29881.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@29888.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@29889.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@29966.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@29967.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@29989.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@29990.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@30001.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@30002.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@30021.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@30022.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncResetRegVec_w1_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30044.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30046.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30047.4]
  output  io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30047.4]
  input   io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30047.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30052.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30052.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30052.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30052.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30052.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@30052.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@30063.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30059.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30058.4]
  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30062.4]
  assign reg_0_d = io_d; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30061.4]
endmodule
module AsyncResetSynchronizerShiftReg_w1_d3_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30158.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30159.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30160.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30161.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30161.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30166.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30166.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30166.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30166.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30166.4]
  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30170.4]
  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30170.4]
  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30170.4]
  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30170.4]
  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30170.4]
  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30174.4]
  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30174.4]
  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30174.4]
  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30174.4]
  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30174.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30166.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@30170.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@30174.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@30184.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30168.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30169.4]
  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30180.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30181.4]
  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30172.4]
  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30173.4]
  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30182.4]
  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30183.4]
  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30176.4]
  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30177.4]
  assign sync_2_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30178.4]
  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30179.4]
endmodule
module AsyncResetSynchronizerShiftReg_w1_d4_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30372.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30373.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30374.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30375.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30375.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30380.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30380.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30380.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30380.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30380.4]
  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30384.4]
  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30384.4]
  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30384.4]
  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30384.4]
  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30384.4]
  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30388.4]
  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30388.4]
  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30388.4]
  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30388.4]
  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30388.4]
  wire  sync_3_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30392.4]
  wire  sync_3_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30392.4]
  wire  sync_3_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30392.4]
  wire  sync_3_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30392.4]
  wire  sync_3_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30392.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30380.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@30384.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@30388.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@30392.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@30404.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30382.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30383.4]
  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30398.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30399.4]
  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30386.4]
  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30387.4]
  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30400.4]
  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30401.4]
  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30390.4]
  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30391.4]
  assign sync_2_io_d = sync_3_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30402.4]
  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30403.4]
  assign sync_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30394.4]
  assign sync_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30395.4]
  assign sync_3_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30396.4]
  assign sync_3_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30397.4]
endmodule
module AsyncValidSync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30406.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30407.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30408.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30409.4]
);
  wire  source_valid_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30411.4]
  wire  source_valid_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30411.4]
  wire  source_valid_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30411.4]
  wire  source_valid_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30411.4]
  AsyncResetSynchronizerShiftReg_w1_d4_i0 source_valid ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30411.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@30419.4]
  assign source_valid_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30413.4]
  assign source_valid_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30414.4]
  assign source_valid_io_d = 1'h1; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30415.4]
endmodule
module AsyncResetSynchronizerShiftReg_w1_d1_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30452.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30453.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30454.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30455.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30455.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30460.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30460.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30460.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30460.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30460.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30460.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@30466.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30462.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30463.4]
  assign sync_0_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30464.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30465.4]
endmodule
module AsyncValidSync_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30468.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30469.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30470.4]
  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30471.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30471.4]
);
  wire  sink_extend_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30473.4]
  wire  sink_extend_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30473.4]
  wire  sink_extend_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30473.4]
  wire  sink_extend_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30473.4]
  AsyncResetSynchronizerShiftReg_w1_d1_i0 sink_extend ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30473.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@30481.4]
  assign sink_extend_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30475.4]
  assign sink_extend_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30476.4]
  assign sink_extend_io_d = io_in; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30477.4]
endmodule
module AsyncValidSync_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30604.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30605.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30606.4]
  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30607.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30607.4]
);
  wire  sink_valid_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30609.4]
  wire  sink_valid_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30609.4]
  wire  sink_valid_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30609.4]
  wire  sink_valid_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30609.4]
  AsyncResetSynchronizerShiftReg_w1_d3_i0 sink_valid ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30609.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@30617.4]
  assign sink_valid_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30611.4]
  assign sink_valid_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30612.4]
  assign sink_valid_io_d = io_in; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30613.4]
endmodule
module AsyncQueueSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30619.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30620.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30621.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [5:0]  io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [28:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [2:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [28:0] io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output        io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30622.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30630.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30630.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30630.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30630.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30630.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30642.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30642.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30642.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30642.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30664.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30664.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30664.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30664.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30664.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30673.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30673.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30673.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30673.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30673.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30688.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30688.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30688.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30691.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30691.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30691.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30691.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30694.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30694.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30694.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30694.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_0;
  reg [2:0] mem_0_param; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_1;
  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_2;
  reg [5:0] mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_3;
  reg [28:0] mem_0_address; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_4;
  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_5;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_6;
  reg  mem_0_corrupt; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30626.4]
  reg [31:0] _RAND_7;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30627.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30624.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30625.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30709.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30628.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30637.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30638.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30647.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30649.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@30650.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@30651.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@30670.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30698.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30630.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@30642.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@30664.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@30673.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@30688.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30691.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@30694.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@30627.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30624.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30625.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30709.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30628.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30637.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30638.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30647.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30649.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@30650.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@30651.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@30670.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30698.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30672.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30687.4]
  assign io_async_mem_0_param = mem_0_param; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30686.4]
  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30685.4]
  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30684.4]
  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30683.4]
  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30682.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30681.4]
  assign io_async_mem_0_corrupt = mem_0_corrupt; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30680.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@30679.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30706.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30712.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30632.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30633.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30634.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30635.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30644.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30645.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30646.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30666.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30667.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30668.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30669.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30675.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30676.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30677.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30678.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30689.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30690.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30700.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30692.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30693.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30704.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30707.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30695.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30696.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@30708.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@30866.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30867.4]
  input  [47:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30869.4]
  output [47:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30869.4]
);
  reg [47:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30874.4]
  reg [63:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30876.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@31342.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31343.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31344.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output [5:0]  io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input  [1:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input  [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input         io_async_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input         io_async_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input         io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31345.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31364.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31364.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31364.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31364.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31375.4]
  wire [47:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31375.4]
  wire [47:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31375.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31416.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31416.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31416.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31416.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31416.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31425.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31425.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31425.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31425.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31425.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31432.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31432.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31432.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31438.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31438.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31438.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31438.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31467.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31467.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31467.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31467.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31467.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31349.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31347.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31348.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@31453.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31350.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@31359.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31360.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31369.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31371.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@31372.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31373.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire [1:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire [5:0] deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire  deq_bits_nxt_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire  deq_bits_nxt_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31379.4]
  wire [1:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31380.4]
  wire [34:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.4]
  wire [7:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31382.4]
  wire [4:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31383.4]
  wire [12:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31384.4]
  wire [47:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31389.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31391.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@31422.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@31442.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.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@31364.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@31375.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@31416.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@31425.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@31432.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.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@31438.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@31467.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@31349.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31347.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31348.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@31453.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31350.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@31359.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31360.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31369.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31371.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@31372.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31373.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_param = valid ? io_async_mem_0_param : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_sink = valid ? io_async_mem_0_sink : io_deq_bits_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_denied = valid ? io_async_mem_0_denied : io_deq_bits_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign deq_bits_nxt_corrupt = valid ? io_async_mem_0_corrupt : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31374.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31379.4]
  assign _T_70 = {deq_bits_nxt_sink,deq_bits_nxt_denied}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31380.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31382.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31383.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31384.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31389.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31391.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@31422.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@31442.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31424.4]
  assign io_deq_bits_opcode = _T_79[47:45]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31415.4]
  assign io_deq_bits_param = _T_79[44:43]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31414.4]
  assign io_deq_bits_size = _T_79[42:41]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31413.4]
  assign io_deq_bits_source = _T_79[40:35]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31412.4]
  assign io_deq_bits_sink = _T_79[34]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31411.4]
  assign io_deq_bits_denied = _T_79[33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31410.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31409.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31408.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@31431.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31450.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31456.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31354.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31355.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31356.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31357.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31366.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31367.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31368.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31377.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31386.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31418.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31419.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31420.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31421.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31427.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31428.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31429.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31430.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31433.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31434.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31444.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31436.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31437.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31448.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31451.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31439.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31440.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31452.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31469.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31470.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31471.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31472.4]
endmodule
module TLAsyncCrossingSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31474.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31475.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31476.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [2:0]  auto_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [1:0]  auto_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [5:0]  auto_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [28:0] auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [1:0]  auto_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [5:0]  auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
  output        auto_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31477.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_param; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [5:0] AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [28:0] AsyncQueueSource_io_enq_bits_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [3:0] AsyncQueueSource_io_enq_bits_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_enq_bits_corrupt; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_param; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [5:0] AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [28:0] AsyncQueueSource_io_async_mem_0_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [3:0] AsyncQueueSource_io_async_mem_0_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_mem_0_corrupt; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31525.4]
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [5:0] AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_deq_bits_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_deq_bits_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [5:0] AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_mem_0_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_mem_0_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31532.4]
  TLMonitor_17 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.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@31525.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@31532.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@31524.4]
  assign auto_in_d_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.4]
  assign auto_out_a_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_param = AsyncQueueSource_io_async_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_address = AsyncQueueSource_io_async_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_mask = AsyncQueueSource_io_async_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_mem_0_corrupt = AsyncQueueSource_io_async_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_a_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_d_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_d_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign auto_out_d_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31486.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31487.4]
  assign TLMonitor_io_in_a_ready = AsyncQueueSource_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_valid = AsyncQueueSink_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign TLMonitor_io_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31520.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31526.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31527.4]
  assign AsyncQueueSource_io_enq_valid = auto_in_a_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31529.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_param = auto_in_a_bits_param; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_size = auto_in_a_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_source = auto_in_a_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_address = auto_in_a_bits_address; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_mask = auto_in_a_bits_mask; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_in_a_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31528.4]
  assign AsyncQueueSource_io_async_ridx = auto_out_a_ridx; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31531.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31531.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31531.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31533.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31534.4]
  assign AsyncQueueSink_io_deq_ready = auto_in_d_ready; // @[AsyncCrossing.scala 26:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31542.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_param = auto_out_d_mem_0_param; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_sink = auto_out_d_mem_0_sink; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_denied = auto_out_d_mem_0_denied; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_mem_0_corrupt = auto_out_d_mem_0_corrupt; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31541.4]
  assign AsyncQueueSink_io_async_widx = auto_out_d_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31539.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31537.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31536.4]
endmodule
module TLMonitor_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31573.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31575.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31576.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32708.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31592.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31597.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@31599.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@31600.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31601.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31602.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31602.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31603.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31605.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31606.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@31608.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31609.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31610.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31611.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31612.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31614.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31615.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31617.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31618.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31619.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31620.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31621.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31622.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31623.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31625.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31626.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31627.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31628.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31629.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31630.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31631.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31632.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31633.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31634.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31635.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31636.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31661.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31664.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31665.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31666.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31667.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@31668.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31673.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31686.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31687.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31694.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31695.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31701.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31702.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31707.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31709.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31710.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31715.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31716.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31718.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31719.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31724.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31726.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31727.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31733.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31787.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31789.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31790.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31813.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@31816.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@31824.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31827.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31828.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31847.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31849.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31850.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31855.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31857.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31858.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31872.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31923.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31965.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31966.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31967.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31969.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31970.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31976.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32007.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32009.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32010.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32024.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32055.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32057.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32058.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32072.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32122.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32124.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32125.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@32131.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32136.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32138.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32141.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32142.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32147.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32149.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32150.8]
  wire  _T_365; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32155.8]
  wire  _T_367; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32157.8]
  wire  _T_368; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32158.8]
  wire  _T_369; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32163.8]
  wire  _T_371; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32165.8]
  wire  _T_372; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32166.8]
  wire  _T_373; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32171.8]
  wire  _T_375; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32173.8]
  wire  _T_376; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32174.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32180.6]
  wire  _T_388; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32204.8]
  wire  _T_390; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32206.8]
  wire  _T_391; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32207.8]
  wire  _T_392; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32212.8]
  wire  _T_394; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32214.8]
  wire  _T_395; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32215.8]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32238.6]
  wire  _T_425; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32279.8]
  wire  _T_427; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32281.8]
  wire  _T_428; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32282.8]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32297.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32332.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32368.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32428.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32433.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32434.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32435.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32437.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32438.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32439.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32440.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32441.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32452.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32453.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32454.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32455.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32456.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32457.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32458.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32460.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32462.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32463.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32468.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32470.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32471.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32476.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32478.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32479.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32484.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32486.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32487.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32492.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32494.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32495.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32502.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32510.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32512.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32513.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32514.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32515.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32516.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32518.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32519.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32520.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32521.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32522.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32533.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_578; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32534.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32535.4]
  reg [31:0] _RAND_9;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32536.4]
  reg [31:0] _RAND_10;
  reg  _T_584; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32537.4]
  reg [31:0] _RAND_11;
  reg  _T_586; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32538.4]
  reg [31:0] _RAND_12;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32539.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32540.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32542.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32544.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32545.6]
  wire  _T_593; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32550.6]
  wire  _T_595; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32552.6]
  wire  _T_596; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32553.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32558.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32560.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32561.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32566.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32568.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32569.6]
  wire  _T_605; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32574.6]
  wire  _T_607; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32576.6]
  wire  _T_608; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32577.6]
  wire  _T_609; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32582.6]
  wire  _T_611; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32584.6]
  wire  _T_612; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32585.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32592.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32601.4]
  reg [31:0] _RAND_13;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32611.4]
  reg [31:0] _RAND_14;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32612.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32613.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32614.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32615.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32634.4]
  reg [31:0] _RAND_15;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32635.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32636.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32637.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32638.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32653.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32656.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32658.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32659.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32660.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32662.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32663.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32655.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32674.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@32676.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32677.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32679.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32681.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32682.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32683.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32685.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32686.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@32678.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32692.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32693.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32694.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32695.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32697.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32698.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32703.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32704.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32705.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32707.4]
  reg [31:0] _RAND_16;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32710.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32711.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32712.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32713.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@32714.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@32715.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32717.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32718.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32724.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32728.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31675.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31747.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31830.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31889.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31940.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31990.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32038.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32086.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32144.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32186.10]
  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32244.10]
  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32303.10]
  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32338.10]
  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32374.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32708.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31592.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31597.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@31599.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@31600.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31601.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31602.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31602.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31603.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31605.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31606.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@31608.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31609.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31610.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31611.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31612.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31614.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31615.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31617.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31618.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31619.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31620.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31621.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31622.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31623.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31625.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31626.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31627.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31628.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31629.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31630.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31631.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31632.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31633.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31634.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31635.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31636.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31661.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31664.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31665.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31666.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31667.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@31668.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31673.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31686.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31687.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31694.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31695.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31701.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31702.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31707.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31709.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31710.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31715.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31716.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31718.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31719.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31724.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31726.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31727.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31733.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31787.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31789.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31790.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31813.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@31816.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@31824.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31827.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31828.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31847.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31849.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31850.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31855.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31857.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31858.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31872.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31923.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31965.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31966.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31967.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31969.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31970.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31976.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32007.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32009.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32010.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32024.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32055.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32057.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32058.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32072.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32122.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32124.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32125.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@32131.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32136.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32138.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32141.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32142.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32147.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32149.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32150.8]
  assign _T_365 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32155.8]
  assign _T_367 = _T_365 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32157.8]
  assign _T_368 = _T_367 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32158.8]
  assign _T_369 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32163.8]
  assign _T_371 = _T_369 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32165.8]
  assign _T_372 = _T_371 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32166.8]
  assign _T_373 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32171.8]
  assign _T_375 = _T_373 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32173.8]
  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32174.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32180.6]
  assign _T_388 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32204.8]
  assign _T_390 = _T_388 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32206.8]
  assign _T_391 = _T_390 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32207.8]
  assign _T_392 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32212.8]
  assign _T_394 = _T_392 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32214.8]
  assign _T_395 = _T_394 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32215.8]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32238.6]
  assign _T_425 = _T_373 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32279.8]
  assign _T_427 = _T_425 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32281.8]
  assign _T_428 = _T_427 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32282.8]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32297.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32332.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32368.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32428.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32433.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32434.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32435.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32438.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32439.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32440.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32441.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32457.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32458.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32460.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32462.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32463.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32468.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32470.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32471.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32476.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32478.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32479.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32484.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32486.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32487.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32492.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32494.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32495.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32502.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32510.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32512.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32513.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32514.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32515.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32516.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32519.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32520.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32521.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32522.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32539.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32540.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32542.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32544.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32545.6]
  assign _T_593 = io_in_d_bits_param == _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32550.6]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32552.6]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32553.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32558.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32560.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32561.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32566.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32568.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32569.6]
  assign _T_605 = io_in_d_bits_sink == _T_584; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32574.6]
  assign _T_607 = _T_605 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32576.6]
  assign _T_608 = _T_607 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32577.6]
  assign _T_609 = io_in_d_bits_denied == _T_586; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32582.6]
  assign _T_611 = _T_609 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32584.6]
  assign _T_612 = _T_611 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32585.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32592.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32612.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32613.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32614.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32615.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32635.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32636.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32637.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32638.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32653.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32656.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32658.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32659.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32660.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32662.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32663.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32655.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32674.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@32676.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32677.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32679.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32681.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32682.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32683.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32685.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32686.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@32678.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32692.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32693.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32694.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32695.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32697.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32698.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32703.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32704.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32705.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32710.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32711.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32712.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32713.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@32714.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@32715.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32717.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32718.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32724.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32728.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31675.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31747.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31830.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31889.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31940.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31990.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32038.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32086.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32144.10]
  assign _GEN_125 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32186.10]
  assign _GEN_139 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32244.10]
  assign _GEN_153 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32303.10]
  assign _GEN_161 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32338.10]
  assign _GEN_169 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32374.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@31588.8]
        end
    `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@31589.8]
        end
    `ifdef STOP_COND
      end
    `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@31658.8]
        end
    `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@31659.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@31675.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@31676.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@31682.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@31683.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@31689.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@31690.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@31697.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@31698.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@31704.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@31705.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@31712.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@31713.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@31721.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@31722.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@31729.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@31730.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@31747.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@31748.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@31754.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@31755.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@31761.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@31762.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@31769.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@31770.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@31776.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@31777.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@31784.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@31785.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@31792.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@31793.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@31801.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@31802.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@31809.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@31810.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@31830.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@31831.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@31837.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@31838.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@31844.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@31845.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@31852.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@31853.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@31860.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@31861.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@31868.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@31869.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@31889.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@31890.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@31896.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@31897.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@31903.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@31904.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@31911.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@31912.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@31919.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@31920.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@31940.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@31941.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@31947.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@31948.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@31954.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@31955.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@31962.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@31963.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@31972.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@31973.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@31990.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@31991.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@31997.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@31998.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@32004.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@32005.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@32012.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@32013.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@32020.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@32021.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@32038.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@32039.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@32045.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@32046.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@32052.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@32053.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@32060.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@32061.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@32068.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@32069.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@32086.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@32087.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@32093.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@32094.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@32100.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@32101.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@32108.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@32109.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@32116.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@32117.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@32127.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@32128.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@32144.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@32145.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@32152.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@32153.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@32160.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@32161.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@32168.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@32169.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@32176.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@32177.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@32186.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@32187.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@32193.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@32194.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@32201.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@32202.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@32209.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@32210.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@32217.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@32218.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@32225.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@32226.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@32234.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@32235.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@32244.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@32245.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@32251.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@32252.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@32259.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@32260.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@32267.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@32268.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@32275.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@32276.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@32284.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@32285.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@32293.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@32294.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@32303.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@32304.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@32311.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@32312.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@32319.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@32320.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@32328.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@32329.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@32338.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@32339.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@32346.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@32347.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@32355.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@32356.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@32364.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@32365.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@32374.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@32375.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@32382.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@32383.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@32390.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@32391.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@32399.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@32400.10]
        end
    `ifdef STOP_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@32409.6]
        end
    `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@32410.6]
        end
    `ifdef STOP_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@32417.6]
        end
    `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@32418.6]
        end
    `ifdef STOP_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@32425.6]
        end
    `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@32426.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@32465.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@32466.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@32473.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@32474.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@32481.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@32482.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@32489.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@32490.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@32497.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@32498.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@32547.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@32548.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@32555.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@32556.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@32563.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@32564.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@32571.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@32572.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@32579.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@32580.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@32587.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@32588.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@32665.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@32666.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@32688.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@32689.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@32700.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@32701.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@32720.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@32721.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32733.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32734.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32735.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input  [28:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output [28:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32741.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_4;
  reg [28:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32742.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32745.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32751.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32752.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32757.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32758.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32759.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32745.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32751.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32752.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32757.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32758.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32759.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32750.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32747.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32744.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32749.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@32764.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32765.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32766.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32767.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32891.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32815.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32816.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32817.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32819.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32820.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32822.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32823.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32825.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32826.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32827.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32828.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32844.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32845.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32846.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32846.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32847.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32847.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32848.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32848.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32849.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32850.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32851.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32852.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32853.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32854.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32855.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32856.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32856.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32857.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32858.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32859.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32860.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@32861.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32862.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32863.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32877.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32879.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32880.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32881.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32864.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32866.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32866.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32867.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32868.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32873.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32883.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32916.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32917.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32919.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32920.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32921.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32923.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32924.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32925.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32926.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32927.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32929.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32930.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32931.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32932.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32933.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32934.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32935.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32936.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32939.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32946.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32947.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32951.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@32811.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32952.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32956.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32957.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32961.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32961.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@32962.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@32963.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32964.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32964.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@32965.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32966.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@32967.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32969.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32973.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32975.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32977.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32978.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32985.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32986.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32988.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32989.4]
  TLMonitor_18 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32774.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@32891.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@32818.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32819.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32820.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32822.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32823.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32825.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32826.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32827.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32828.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32844.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32845.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32846.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32846.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32847.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32847.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32848.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32848.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32849.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32850.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32851.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32852.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32853.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32854.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32855.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32856.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32856.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32857.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32858.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32859.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32860.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@32861.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32862.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32863.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32877.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32879.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32880.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32881.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32864.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32866.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32866.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32867.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32868.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32873.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32883.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32916.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32917.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32919.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32920.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32921.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32923.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32924.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32925.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32926.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32927.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32930.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32931.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32932.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32933.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32934.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32935.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32936.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32939.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32947.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32951.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@32811.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32952.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32956.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32957.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32961.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32961.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@32962.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@32963.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32964.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32964.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@32965.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32966.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@32967.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32969.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32973.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32975.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32977.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32978.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32985.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32986.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32988.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32989.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32814.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.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@32813.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32813.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32776.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32777.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32810.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32893.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32894.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32959.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.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@32839.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@32840.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@32980.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@32981.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@32991.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@32992.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33010.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33012.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33013.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@34145.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33029.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33034.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33036.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33037.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33038.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@33039.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@33039.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33040.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33042.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33043.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@33045.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@33046.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33047.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33048.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33049.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33051.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33052.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33054.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33055.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33056.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33057.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33058.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33059.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33060.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33062.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33063.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33064.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33065.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33066.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33067.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33068.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33069.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33070.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@33071.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@33072.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@33073.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33098.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33101.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33102.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@33103.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@33104.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@33105.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33110.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33123.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33124.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33131.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33132.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33138.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33139.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33144.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33146.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33147.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33152.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33153.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33155.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33156.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33161.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33163.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33164.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33170.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33224.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33226.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33227.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33250.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@33253.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@33261.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33264.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33265.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33284.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33286.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33287.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33292.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33294.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33295.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33309.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33360.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33402.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33403.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33404.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33406.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33407.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33413.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33444.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33446.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33447.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33461.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33492.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33494.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33495.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33509.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33559.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33561.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33562.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33568.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33573.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33575.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33578.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33579.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33584.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33586.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33587.8]
  wire  _T_365; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33592.8]
  wire  _T_367; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33594.8]
  wire  _T_368; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33595.8]
  wire  _T_369; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33600.8]
  wire  _T_371; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33602.8]
  wire  _T_372; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33603.8]
  wire  _T_373; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33608.8]
  wire  _T_375; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33610.8]
  wire  _T_376; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33611.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33617.6]
  wire  _T_388; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33641.8]
  wire  _T_390; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33643.8]
  wire  _T_391; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33644.8]
  wire  _T_392; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33649.8]
  wire  _T_394; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33651.8]
  wire  _T_395; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33652.8]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33675.6]
  wire  _T_425; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33716.8]
  wire  _T_427; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33718.8]
  wire  _T_428; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33719.8]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33734.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33769.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33805.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33865.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33870.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33871.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33874.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33875.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33876.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33877.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33889.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33894.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33895.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33897.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33899.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33900.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33905.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33907.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33908.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33913.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33916.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33923.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33924.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33929.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33931.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33932.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33947.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33949.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33950.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33952.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33953.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33955.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33956.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33958.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33959.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33970.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_578; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33971.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33972.4]
  reg [31:0] _RAND_9;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33973.4]
  reg [31:0] _RAND_10;
  reg  _T_584; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33974.4]
  reg [31:0] _RAND_11;
  reg  _T_586; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  reg [31:0] _RAND_12;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33976.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33977.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33979.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33981.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33982.6]
  wire  _T_593; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.6]
  wire  _T_595; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.6]
  wire  _T_596; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34006.6]
  wire  _T_605; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34011.6]
  wire  _T_607; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34013.6]
  wire  _T_608; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34014.6]
  wire  _T_609; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34019.6]
  wire  _T_611; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34021.6]
  wire  _T_612; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34022.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34029.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34038.4]
  reg [31:0] _RAND_13;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34048.4]
  reg [31:0] _RAND_14;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34049.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34050.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34051.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34052.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34071.4]
  reg [31:0] _RAND_15;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34072.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34073.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34074.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34075.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34090.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34093.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@34095.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@34096.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34097.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34099.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34100.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@34092.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34111.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@34113.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@34114.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34116.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34118.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34119.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34120.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34122.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34123.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@34115.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34129.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@34130.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@34131.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34132.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34134.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34135.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34140.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34141.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34142.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34144.4]
  reg [31:0] _RAND_16;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@34147.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34148.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34149.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34150.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@34151.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@34152.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34154.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34155.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34161.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34165.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33112.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33184.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33267.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33326.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33377.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33427.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33475.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33523.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33581.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33623.10]
  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33681.10]
  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33740.10]
  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33775.10]
  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33811.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@34145.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33029.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33034.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33036.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33037.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33038.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@33039.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@33039.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33040.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33042.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33043.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@33045.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@33046.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33047.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33048.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33049.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33051.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33052.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33054.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33055.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33056.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33057.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33058.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33059.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33060.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33062.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33063.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33064.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33065.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33066.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33067.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33068.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33069.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33070.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@33071.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@33072.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@33073.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33098.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33101.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33102.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@33103.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@33104.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@33105.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33110.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33123.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33124.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33131.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33132.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33138.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33139.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33144.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33146.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33147.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33152.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33153.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33155.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33156.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33161.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33163.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33164.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33170.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33224.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33226.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33227.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33250.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@33253.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@33261.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33264.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33265.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33284.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33286.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33287.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33292.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33294.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33295.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33309.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33360.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33402.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33403.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33404.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33406.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33407.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33413.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33444.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33446.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33447.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33461.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33492.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33494.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33495.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33509.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33559.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33561.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33562.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33568.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33573.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33575.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33578.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33579.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33584.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33586.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33587.8]
  assign _T_365 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33592.8]
  assign _T_367 = _T_365 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33594.8]
  assign _T_368 = _T_367 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33595.8]
  assign _T_369 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33600.8]
  assign _T_371 = _T_369 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33602.8]
  assign _T_372 = _T_371 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33603.8]
  assign _T_373 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33608.8]
  assign _T_375 = _T_373 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33610.8]
  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33611.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33617.6]
  assign _T_388 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33641.8]
  assign _T_390 = _T_388 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33643.8]
  assign _T_391 = _T_390 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33644.8]
  assign _T_392 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33649.8]
  assign _T_394 = _T_392 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33651.8]
  assign _T_395 = _T_394 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33652.8]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33675.6]
  assign _T_425 = _T_373 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33716.8]
  assign _T_427 = _T_425 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33718.8]
  assign _T_428 = _T_427 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33719.8]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33734.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33769.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33805.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33865.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33870.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33871.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33875.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33876.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33877.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33894.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33895.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33897.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33899.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33900.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33905.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33907.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33908.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33913.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33916.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33923.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33924.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33929.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33931.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33932.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33947.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33949.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33950.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33952.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33953.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33956.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33958.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33959.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33976.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33977.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33979.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33981.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33982.6]
  assign _T_593 = io_in_d_bits_param == _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.6]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.6]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34006.6]
  assign _T_605 = io_in_d_bits_sink == _T_584; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34011.6]
  assign _T_607 = _T_605 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34013.6]
  assign _T_608 = _T_607 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34014.6]
  assign _T_609 = io_in_d_bits_denied == _T_586; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34019.6]
  assign _T_611 = _T_609 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34021.6]
  assign _T_612 = _T_611 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34022.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34029.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34049.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34050.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34051.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34052.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34072.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34073.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34074.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34075.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34090.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34093.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@34095.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@34096.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34097.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34099.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34100.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@34092.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34111.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@34113.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@34114.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34116.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34118.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34119.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34120.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34122.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34123.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@34115.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34129.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@34130.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@34131.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34132.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34134.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34135.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34140.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34141.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34142.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@34147.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@34148.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34149.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34150.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@34151.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@34152.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34154.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34155.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34161.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34165.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33112.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33184.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33267.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33326.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33377.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33427.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33475.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33523.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33581.10]
  assign _GEN_125 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33623.10]
  assign _GEN_139 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33681.10]
  assign _GEN_153 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33740.10]
  assign _GEN_161 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33775.10]
  assign _GEN_169 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33811.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@33025.8]
        end
    `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@33026.8]
        end
    `ifdef STOP_COND
      end
    `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@33095.8]
        end
    `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@33096.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@33112.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@33113.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@33119.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@33120.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@33126.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@33127.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@33134.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@33135.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@33141.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@33142.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@33149.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@33150.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@33158.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@33159.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@33166.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@33167.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@33184.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@33185.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@33191.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@33192.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@33198.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@33199.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@33206.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@33207.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@33213.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@33214.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@33221.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@33222.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@33229.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@33230.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@33238.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@33239.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@33246.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@33247.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@33267.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@33268.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@33274.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@33275.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@33281.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@33282.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@33289.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@33290.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@33297.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@33298.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@33305.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@33306.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@33326.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@33327.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@33333.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@33334.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@33340.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@33341.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@33348.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@33349.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@33356.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@33357.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@33377.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@33378.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@33384.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@33385.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@33391.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@33392.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@33399.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@33400.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@33409.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@33410.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@33427.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@33428.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@33434.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@33435.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@33441.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@33442.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@33449.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@33450.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@33457.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@33458.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@33475.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@33476.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@33482.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@33483.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@33489.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@33490.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@33497.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@33498.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@33505.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@33506.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@33523.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@33524.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@33530.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@33531.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@33537.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@33538.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@33545.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@33546.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@33553.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@33554.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@33564.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@33565.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@33581.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@33582.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@33589.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@33590.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@33597.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@33598.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@33605.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@33606.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@33613.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@33614.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@33623.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@33624.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@33630.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@33631.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@33638.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@33639.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@33646.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@33647.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@33654.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@33655.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@33662.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@33663.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@33671.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@33672.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@33681.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@33682.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@33688.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@33689.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@33696.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@33697.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@33704.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@33705.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@33712.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@33713.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@33721.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@33722.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@33730.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@33731.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@33740.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@33741.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@33748.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@33749.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@33756.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@33757.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@33765.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@33766.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@33775.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@33776.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@33783.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@33784.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@33792.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@33793.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@33801.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@33802.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@33811.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@33812.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@33819.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@33820.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@33827.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@33828.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@33836.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@33837.10]
        end
    `ifdef STOP_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@33846.6]
        end
    `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@33847.6]
        end
    `ifdef STOP_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@33854.6]
        end
    `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@33855.6]
        end
    `ifdef STOP_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@33862.6]
        end
    `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@33863.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@33902.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@33903.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@33910.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@33911.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@33918.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@33919.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@33926.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@33927.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@33934.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@33935.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@33984.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@33985.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@33992.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@33993.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@34000.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@34001.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@34008.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@34009.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@34016.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@34017.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@34024.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@34025.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@34102.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@34103.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@34125.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@34126.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@34137.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@34138.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@34157.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@34158.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34170.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34171.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34172.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.4]
  TLMonitor_19 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34180.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@34220.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34219.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34182.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34183.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.4]
endmodule
module SimpleLazyModule_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34230.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34231.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34232.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [28:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [2:0]  auto_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [2:0]  auto_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [1:0]  auto_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [5:0]  auto_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [28:0] auto_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [3:0]  auto_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output [31:0] auto_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [2:0]  auto_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [1:0]  auto_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [1:0]  auto_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [5:0]  auto_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input  [31:0] auto_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  input         auto_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
  output        auto_asource_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34233.4]
);
  wire  asource_clock; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_reset; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [2:0] asource_auto_in_a_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [1:0] asource_auto_in_a_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [5:0] asource_auto_in_a_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [28:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_a_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [5:0] asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [2:0] asource_auto_out_a_mem_0_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [1:0] asource_auto_out_a_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [5:0] asource_auto_out_a_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [28:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_mem_0_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [1:0] asource_auto_out_d_mem_0_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [5:0] asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_mem_0_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_mem_0_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_mem_0_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.4]
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [1:0] fragmenter_auto_in_d_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_d_bits_sink; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_d_bits_denied; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_in_d_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [1:0] fragmenter_auto_out_d_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_d_bits_sink; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_d_bits_denied; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  fragmenter_auto_out_d_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@34244.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34250.4]
  TLAsyncCrossingSource asource ( // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.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@34244.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@34250.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@34259.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_param = asource_auto_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_size = asource_auto_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_source = asource_auto_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_mem_0_corrupt = asource_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.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@34258.4]
  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.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@34258.4]
  assign asource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34242.4]
  assign asource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34243.4]
  assign asource_auto_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.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@34258.4]
  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_param = auto_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_sink = auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_denied = auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_mem_0_corrupt = auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.4]
  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34258.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@34258.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34248.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34249.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign fragmenter_auto_out_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign fragmenter_auto_out_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34256.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34254.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34255.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34259.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_param = fragmenter_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_sink = fragmenter_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_denied = fragmenter_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
  assign buffer_auto_out_d_bits_corrupt = fragmenter_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34257.4]
endmodule
module PeripheryBus( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34261.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34262.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34263.4]
  output [2:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [1:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [5:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [28:0] auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [5:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [1:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [5:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [16:0] auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [5:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_debug_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_debug_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [1:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [5:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [11:0] auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_debug_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_debug_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [5:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_clint_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_clint_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [1:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [5:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [25:0] auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_clint_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_clint_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [5:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_plic_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_plic_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [1:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [5:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [27:0] auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_slave_named_plic_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_slave_named_plic_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [5:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [30:0] auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [1:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_from_sbus_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_from_sbus_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_from_sbus_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [2:0]  auto_from_sbus_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [3:0]  auto_from_sbus_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_from_sbus_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_from_sbus_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [3:0]  auto_from_sbus_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input  [31:0] auto_from_sbus_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_from_sbus_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  input         auto_from_sbus_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_from_sbus_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [2:0]  auto_from_sbus_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [1:0]  auto_from_sbus_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [3:0]  auto_from_sbus_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_from_sbus_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_from_sbus_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_from_sbus_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output [31:0] auto_from_sbus_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
  output        auto_from_sbus_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34264.4]
);
  wire  in_xbar_clock; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_reset; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [31:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [31:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.4]
  wire  out_xbar_clock; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_reset; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [1:0] out_xbar_auto_out_6_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_6_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [16:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [1:0] out_xbar_auto_out_4_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_4_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [11:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [25:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [27:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [30:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_0_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [1:0] out_xbar_auto_out_0_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire [31:0] out_xbar_auto_out_0_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@34275.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34281.4]
  wire  atomics_clock; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_reset; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [31:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [31:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34287.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34299.4]
  wire  coupler_to_bus_named_pbus_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [30:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [1:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [30:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [1:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34305.4]
  wire  coupler_to_slave_named_plic_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [27:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [3:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [31:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [31:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [1:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [5:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [27:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [3:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [31:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [1:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [5:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire [31:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34311.4]
  wire  coupler_to_slave_named_clint_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [25:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [3:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [31:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [31:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [1:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [5:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [25:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [3:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [31:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [1:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [5:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire [31:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34317.4]
  wire  coupler_to_slave_named_debug_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [11:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [3:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [31:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [31:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [1:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [5:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [11:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [3:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [31:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [1:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [5:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire [31:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34323.4]
  wire  coupler_to_tile_named_tile_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [3:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [1:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.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@34329.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@34329.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@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.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@34329.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@34329.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@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.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@34329.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@34329.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@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.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@34329.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34329.4]
  wire  coupler_to_slave_named_MaskROM_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [16:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [3:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [31:0] coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [1:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [5:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [16:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [3:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [1:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [5:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire [31:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34335.4]
  wire  coupler_to_slave_named_aon_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [28:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [3:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [31:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [1:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [31:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [5:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [28:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [3:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [31:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_ridx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_widx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [5:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire [31:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_widx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34341.4]
  TLXbar_1 in_xbar ( // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@34269.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@34275.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@34281.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@34287.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@34299.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@34305.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@34311.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@34317.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@34323.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@34329.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@34335.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@34341.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34370.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@34370.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@34370.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@34370.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@34370.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@34370.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@34370.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@34370.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@34370.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34368.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@34368.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@34368.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@34368.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@34368.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@34368.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@34368.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@34368.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@34368.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@34368.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@34367.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@34367.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@34367.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@34367.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@34367.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@34367.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@34367.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@34367.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@34367.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@34367.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@34366.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@34366.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@34366.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@34366.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@34366.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@34366.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@34366.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@34366.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@34366.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@34366.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.4]
  assign auto_from_sbus_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign auto_from_sbus_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34364.4]
  assign in_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34273.4]
  assign in_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34274.4]
  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign out_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34279.4]
  assign out_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34280.4]
  assign out_xbar_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign out_xbar_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34358.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@34358.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@34358.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@34358.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@34358.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34356.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@34356.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@34356.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@34356.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@34356.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@34356.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@34355.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@34355.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@34355.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@34355.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@34355.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@34355.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@34354.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@34354.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@34354.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@34354.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@34354.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@34354.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34285.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34286.4]
  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign buffer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34360.4]
  assign atomics_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34291.4]
  assign atomics_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34292.4]
  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.4]
  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34361.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34303.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34304.4]
  assign buffer_1_auto_in_a_valid = auto_from_sbus_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_from_sbus_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_param = auto_from_sbus_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_size = auto_from_sbus_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_source = auto_from_sbus_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_address = auto_from_sbus_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_mask = auto_from_sbus_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_data = auto_from_sbus_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_from_sbus_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_in_d_ready = auto_from_sbus_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@34363.4]
  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34362.4]
  assign coupler_to_bus_named_pbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34309.4]
  assign coupler_to_bus_named_pbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34310.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34353.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.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@34365.4]
  assign coupler_to_slave_named_plic_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34315.4]
  assign coupler_to_slave_named_plic_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34316.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@34354.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@34354.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@34354.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@34354.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@34354.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@34354.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@34354.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@34354.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@34354.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@34354.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@34366.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@34366.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@34366.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@34366.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@34366.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@34366.4]
  assign coupler_to_slave_named_clint_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34321.4]
  assign coupler_to_slave_named_clint_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34322.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@34355.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@34355.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@34355.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@34355.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@34355.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@34355.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@34355.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@34355.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@34355.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@34355.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@34367.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@34367.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@34367.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@34367.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@34367.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@34367.4]
  assign coupler_to_slave_named_debug_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34327.4]
  assign coupler_to_slave_named_debug_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34328.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@34356.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@34356.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@34356.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@34356.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@34356.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@34356.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@34356.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@34356.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@34356.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@34356.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@34368.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@34368.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@34368.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@34368.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@34368.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@34368.4]
  assign coupler_to_tile_named_tile_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34333.4]
  assign coupler_to_tile_named_tile_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34334.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34357.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.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@34369.4]
  assign coupler_to_slave_named_MaskROM_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34339.4]
  assign coupler_to_slave_named_MaskROM_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34340.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@34358.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@34358.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@34358.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@34358.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@34358.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@34358.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@34358.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@34358.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@34358.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@34370.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@34370.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@34370.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@34370.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@34370.4]
  assign coupler_to_slave_named_aon_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34345.4]
  assign coupler_to_slave_named_aon_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34346.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34359.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.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@34371.4]
endmodule
module TLMonitor_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34380.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34381.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34382.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34383.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@36221.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@34399.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34404.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@34406.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@34407.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34408.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34409.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34409.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@34410.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34412.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34413.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@34415.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34416.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34417.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34418.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34419.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34421.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34422.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34424.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34425.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34426.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34427.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34428.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34429.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34430.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34431.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34432.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34433.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34434.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34435.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34436.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34437.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34438.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34439.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34440.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34441.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34442.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34443.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34447.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34468.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34471.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34472.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34473.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34474.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34475.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34476.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34477.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34478.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34479.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34480.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34481.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34482.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34483.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34484.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34485.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34486.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34487.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34488.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34489.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34490.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34491.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34492.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34493.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34494.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34495.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34496.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34497.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34498.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34499.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34500.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34501.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34502.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34503.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34504.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34505.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34506.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34507.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34508.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34509.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34511.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34512.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34513.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34514.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34515.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34516.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34517.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34518.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34519.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34520.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34521.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34522.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34523.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34524.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34525.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34528.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34529.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34530.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34531.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34532.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34533.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34534.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34535.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34536.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34537.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34538.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34539.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34540.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34541.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34542.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34543.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34544.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34545.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34546.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34547.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34548.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34549.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34564.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34577.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34578.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34585.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34586.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34592.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34593.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34598.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34600.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34601.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34606.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34607.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34609.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34610.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34615.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34617.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34618.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34624.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34762.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34764.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34765.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34788.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34791.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34799.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34801.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34874.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34875.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34876.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34877.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34878.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34879.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34880.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34881.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34882.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34883.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34884.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34885.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34886.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34887.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34889.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34891.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34892.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34911.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34913.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34914.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34919.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34921.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34922.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34936.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35015.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35016.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35017.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35018.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35019.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35020.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35021.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35022.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@35023.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35038.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35041.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35042.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35078.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35152.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35153.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35154.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35155.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35156.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35157.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35158.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@35159.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35180.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35183.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35184.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35211.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35212.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35213.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35215.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35216.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35222.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35225.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35297.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35298.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35299.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35300.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35301.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35302.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35303.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35304.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@35305.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35322.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35323.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@35342.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35344.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35345.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35359.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35479.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35481.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35482.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35496.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35596.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35597.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@35635.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35637.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35638.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@35644.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35649.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35651.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35654.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35655.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35660.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35662.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35663.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35668.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35670.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35671.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35676.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35678.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35679.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35684.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35686.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35687.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35693.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35717.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35719.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35720.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35725.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35727.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35728.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35751.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35792.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35794.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35795.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35810.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35845.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35941.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35946.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35947.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35948.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35950.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35951.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35952.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35953.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35954.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35965.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35966.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35967.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35968.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35969.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35970.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35971.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35973.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35975.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35976.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35981.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35983.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35984.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35989.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35991.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35992.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35997.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35999.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36000.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36005.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36007.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36008.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36015.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36023.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36025.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36026.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36027.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@36028.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@36029.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36031.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36032.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36033.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36034.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36035.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36046.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36047.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36048.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36049.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36050.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36051.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36052.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36053.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36055.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36057.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36058.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36063.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36065.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36066.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36071.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36073.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36074.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36079.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36081.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36082.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36087.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36089.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36090.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36095.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36097.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36098.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36105.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36114.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36124.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36125.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36126.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36127.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36128.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36147.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36148.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36149.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36150.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36151.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36166.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@36169.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@36171.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@36172.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36173.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36175.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36176.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@36168.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36187.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@36189.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@36190.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@36192.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36194.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@36195.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@36196.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36198.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36199.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@36191.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36205.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@36206.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@36207.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36208.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36210.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36211.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36216.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36217.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@36218.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36220.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@36223.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36224.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@36225.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36226.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@36227.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@36228.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36230.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36231.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36237.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36241.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34566.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34722.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34894.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35044.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35186.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35325.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35462.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35599.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35657.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35699.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35757.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35816.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35851.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35887.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@36221.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@34399.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34404.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@34406.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@34407.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34408.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34409.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34409.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@34410.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34412.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34413.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@34415.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34416.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34417.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34418.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34419.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34421.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34422.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34424.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34425.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34426.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34427.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34428.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34429.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34430.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34431.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34432.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34433.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34434.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34435.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34436.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34437.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34438.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34439.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34440.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34441.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34442.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34443.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34447.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34468.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34471.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34472.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34473.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34474.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34475.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34476.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34477.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34478.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34479.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34480.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34481.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34482.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34483.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34484.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34485.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34486.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34487.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34488.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34489.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34490.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34491.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34492.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34493.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34494.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34495.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34496.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34497.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34498.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34499.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34500.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34501.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34502.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34503.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34504.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34505.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34506.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34507.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34508.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34509.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34511.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34512.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34513.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34514.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34515.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34516.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34517.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34518.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34519.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34520.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34521.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34522.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34523.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34524.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34525.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34528.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34529.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34530.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34531.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34532.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34533.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34534.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34535.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34536.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34537.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34538.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34539.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34540.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34541.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34542.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34543.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34544.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34545.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34546.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34547.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34548.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34549.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34564.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34577.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34578.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34585.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34586.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34592.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34593.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34598.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34600.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34601.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34606.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34607.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34609.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34610.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34615.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34617.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34618.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34624.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34762.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34764.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34765.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34788.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34791.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34799.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34801.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34874.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34875.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34876.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34877.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34878.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34879.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34880.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34881.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34882.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34883.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34884.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34885.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34886.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34887.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34889.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34891.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34892.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34911.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34913.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34914.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34919.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34921.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34922.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34936.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35015.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35016.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35017.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35018.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35019.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35020.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35021.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35022.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@35023.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35038.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35041.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35042.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35078.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35152.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35153.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35154.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35155.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35156.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35157.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35158.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@35159.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35180.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35183.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35184.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35211.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35212.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35213.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35215.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35216.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35222.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35225.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35297.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35298.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35299.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35300.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35301.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35302.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35303.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@35304.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@35305.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35322.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35323.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@35342.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35344.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35345.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35359.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35479.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35481.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35482.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35496.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35596.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35597.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@35635.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35637.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35638.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@35644.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35649.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35651.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35654.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35655.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35660.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35662.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35663.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35668.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35670.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35671.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35676.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35678.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35679.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35684.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35686.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35687.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35693.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35717.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35719.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35720.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35725.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35727.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35728.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35751.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35792.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35794.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35795.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35810.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35845.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35941.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35946.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35947.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35948.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35951.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35952.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35953.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35954.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35970.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35971.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35973.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35975.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35976.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35981.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35983.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35984.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35989.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35991.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35992.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35997.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35999.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36000.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36005.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36007.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36008.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36015.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36023.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36025.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36026.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36027.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@36028.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@36029.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36032.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36033.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36034.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36035.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@36052.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36053.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36055.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36057.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36058.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36063.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36065.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36066.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36071.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36073.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36074.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36079.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36081.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36082.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36087.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36089.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36090.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36095.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36097.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36098.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36105.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36125.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36126.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36127.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36128.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36148.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36149.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36150.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36151.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36166.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@36169.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@36171.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@36172.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36173.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36175.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36176.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@36168.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36187.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@36189.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@36190.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@36192.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36194.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@36195.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@36196.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36198.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36199.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@36191.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36205.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@36206.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@36207.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36208.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36210.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36211.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36216.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36217.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@36218.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@36223.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36224.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@36225.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36226.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@36227.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@36228.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36230.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36231.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36237.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36241.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34566.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34722.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34894.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35044.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35186.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35325.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35462.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35599.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35657.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35699.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35757.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35816.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35851.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35887.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@34395.8]
        end
    `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@34396.8]
        end
    `ifdef STOP_COND
      end
    `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@34465.8]
        end
    `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@34466.8]
        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 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@34566.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34567.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 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@34573.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@34580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@34588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@34595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@34603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@34612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@34620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34621.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 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@34722.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34723.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 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@34729.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@34736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@34744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@34751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@34759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@34767.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@34776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@34784.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34785.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@34894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@34901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34902.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 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@34908.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@34916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@34924.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@34932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@35044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@35051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35052.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 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@35058.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@35066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@35074.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35075.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@35186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@35193.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@35200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@35208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@35218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@35325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@35332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35333.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 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@35339.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@35347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@35355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@35462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@35469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35470.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 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@35476.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@35484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@35492.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@35599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@35606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35607.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 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@35613.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@35621.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@35629.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35630.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_1050) 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@35640.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35641.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@35657.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35658.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@35665.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35666.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@35673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@35681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@35689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@35699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@35706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@35714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@35722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@35730.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35731.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@35738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@35747.10]
        end
    `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@35748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@35757.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35758.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@35764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@35772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@35780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@35788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@35797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@35806.10]
        end
    `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@35807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@35816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@35824.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@35832.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@35841.10]
        end
    `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@35842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@35851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@35859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@35868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@35877.10]
        end
    `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@35878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@35887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@35895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@35903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@35912.10]
        end
    `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@35913.10]
        end
    `ifdef STOP_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@35922.6]
        end
    `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@35923.6]
        end
    `ifdef STOP_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@35930.6]
        end
    `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@35931.6]
        end
    `ifdef STOP_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@35938.6]
        end
    `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@35939.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@35978.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35979.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@35986.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35987.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@35994.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35995.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@36002.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36003.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@36010.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36011.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@36060.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36061.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@36068.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36069.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@36076.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36077.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@36084.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36085.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@36092.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36093.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@36100.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36101.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@36178.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36179.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@36201.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36202.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@36213.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@36214.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@36233.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36234.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFIFOFixer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36246.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36247.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36248.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.4]
  TLMonitor_20 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.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@36296.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36258.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36259.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.4]
endmodule
module TLMonitor_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36570.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36571.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36572.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36573.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@38411.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@36589.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36594.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36596.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36597.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36598.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36599.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36599.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@36600.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36602.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36603.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@36605.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36606.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36607.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36608.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36609.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36611.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36612.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36614.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36615.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36616.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36617.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36618.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36619.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36620.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36621.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36622.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36623.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36624.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36625.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36626.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36627.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36628.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36629.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36630.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36631.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36632.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36633.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36637.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36658.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36661.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36662.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36663.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36664.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36665.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36666.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36667.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36668.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36669.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36670.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36671.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36672.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36673.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36674.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36675.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36676.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36677.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36678.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36679.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36680.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36681.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36682.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36683.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36684.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36685.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36686.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36687.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36688.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36689.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36690.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36691.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36692.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36693.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36694.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36695.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36696.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36697.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36698.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36699.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36700.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36701.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36702.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36703.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36704.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36705.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36706.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36707.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36708.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36709.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36710.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36711.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36712.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36713.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36714.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36715.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36718.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36719.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36720.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36721.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36722.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36723.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36724.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36725.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36726.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36727.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36728.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36729.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36730.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36731.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36732.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36733.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36734.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36735.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36736.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36737.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36738.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36739.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36754.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36767.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36768.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36775.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36776.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36782.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36783.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36788.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36790.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36791.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36796.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36797.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36799.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36800.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36805.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36807.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36808.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36814.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36952.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36954.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36955.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36978.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36981.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36989.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36991.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37064.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37065.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37066.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37067.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37068.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37069.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37070.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37071.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37072.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37073.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37074.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37075.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37076.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37077.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37079.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37081.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37082.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37101.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37103.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37104.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37109.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37111.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37112.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37126.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37205.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37206.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37207.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37208.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37209.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37210.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37211.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37212.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37213.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37228.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37231.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37232.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37268.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37342.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37343.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37344.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37345.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37346.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37347.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37348.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37349.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37370.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37373.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37374.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37401.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37402.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@37403.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37405.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37406.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37412.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37415.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37487.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37488.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37489.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37490.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37491.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37492.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37493.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37494.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37495.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37512.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37513.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37532.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37534.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37535.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37549.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37669.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37671.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37672.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37686.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37786.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37787.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@37825.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37827.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37828.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@37834.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37839.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37841.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37844.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37845.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37850.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37852.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37853.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37858.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37860.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37861.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37866.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37868.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37869.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37874.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37876.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37877.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37883.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37907.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37909.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37910.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37915.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37917.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37918.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37941.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37982.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37984.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37985.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38000.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38035.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38071.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38131.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@38136.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@38137.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38138.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38140.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38141.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38142.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38143.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38144.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38155.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38156.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38157.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38158.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38159.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38160.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38161.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38163.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38165.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38166.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38171.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38173.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38174.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38179.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38181.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38182.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38187.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38189.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38190.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38195.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38197.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38198.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38205.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38213.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38215.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38216.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38217.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@38218.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@38219.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38221.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38222.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38223.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38224.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38225.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38236.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38237.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38238.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38239.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38240.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38241.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38242.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38243.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38245.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38247.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38248.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38253.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38255.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38256.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38261.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38263.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38264.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38269.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38271.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38272.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38277.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38279.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38280.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38285.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38287.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38288.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38295.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38304.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38314.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38315.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38316.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38317.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38318.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38337.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38338.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38339.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38340.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38341.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38356.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@38359.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@38361.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@38362.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38363.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38365.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38366.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@38358.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38377.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@38379.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@38380.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@38382.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38384.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@38385.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@38386.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38388.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38389.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@38381.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38395.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@38396.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@38397.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38398.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38400.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38401.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38406.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38407.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@38408.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38410.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@38413.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38414.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@38415.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38416.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@38417.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@38418.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38420.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38421.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38427.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38431.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36756.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36912.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37084.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37234.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37376.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37515.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37652.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37789.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37847.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37889.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37947.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38006.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38041.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38077.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@38411.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@36589.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36594.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36596.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36597.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36598.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36599.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36599.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@36600.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36602.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36603.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@36605.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36606.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36607.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36608.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36609.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36611.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36612.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36614.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36615.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36616.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36617.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36618.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36619.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36620.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36621.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36622.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36623.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36624.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36625.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36626.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36627.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36628.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36629.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36630.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36631.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36632.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36633.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36637.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36658.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36661.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36662.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36663.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36664.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36665.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36666.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36667.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36668.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36669.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36670.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36671.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36672.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36673.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36674.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36675.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36676.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36677.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36678.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36679.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36680.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36681.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36682.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36683.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36684.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36685.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36686.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36687.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36688.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36689.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36690.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36691.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36692.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36693.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36694.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36695.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36696.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36697.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36698.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36699.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36700.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36701.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36702.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36703.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36704.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36705.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36706.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36707.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36708.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36709.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36710.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36711.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36712.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36713.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36714.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36715.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36718.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36719.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36720.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36721.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36722.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36723.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36724.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36725.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36726.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36727.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36728.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36729.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36730.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36731.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36732.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36733.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36734.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36735.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36736.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36737.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36738.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36739.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36754.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36767.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36768.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36775.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36776.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36782.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36783.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36788.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36790.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36791.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36796.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36797.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36799.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36800.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36805.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36807.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36808.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36814.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36952.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36954.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36955.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36978.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36981.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36989.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36991.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37064.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37065.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37066.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37067.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37068.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37069.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37070.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37071.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37072.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37073.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37074.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37075.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37076.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37077.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37079.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37081.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37082.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37101.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37103.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37104.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37109.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37111.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37112.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37126.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37205.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37206.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37207.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37208.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37209.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37210.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37211.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37212.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37213.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37228.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37231.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37232.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37268.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37342.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37343.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37344.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37345.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37346.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37347.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37348.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37349.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37370.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37373.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37374.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37401.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37402.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@37403.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37405.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37406.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37412.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37415.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37487.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37488.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37489.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37490.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37491.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37492.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37493.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37494.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37495.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37512.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37513.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37532.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37534.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37535.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37549.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37669.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37671.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37672.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37686.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37786.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37787.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@37825.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37827.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37828.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@37834.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37839.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37841.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37844.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37845.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37850.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37852.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37853.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37858.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37860.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37861.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37866.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37868.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37869.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37874.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37876.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37877.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37883.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37907.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37909.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37910.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37915.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37917.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37918.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37941.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37982.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37984.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37985.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38000.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38035.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38071.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38131.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@38136.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@38137.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38138.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38141.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38142.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38143.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38144.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38160.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38161.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38163.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38165.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38166.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38171.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38173.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38174.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38179.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38181.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38182.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38187.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38189.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38190.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38195.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38197.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38198.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38205.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38213.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38215.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38216.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38217.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@38218.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@38219.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38222.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38223.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38224.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38225.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@38242.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38243.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38245.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38247.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38248.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38253.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38255.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38256.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38261.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38263.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38264.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38269.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38271.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38272.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38277.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38279.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38280.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38285.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38287.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38288.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38295.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38315.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38316.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38317.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38318.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38338.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38339.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38340.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38341.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38356.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@38359.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@38361.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@38362.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38363.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38365.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38366.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@38358.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38377.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@38379.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@38380.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@38382.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38384.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@38385.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@38386.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38388.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38389.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@38381.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38395.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@38396.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@38397.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38398.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38400.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38401.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38406.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38407.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@38408.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@38413.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38414.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@38415.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38416.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@38417.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@38418.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38420.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38421.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38427.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38431.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36756.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36912.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37084.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37234.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37376.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37515.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37652.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37789.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37847.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37889.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37947.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38006.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38041.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38077.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@36585.8]
        end
    `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@36586.8]
        end
    `ifdef STOP_COND
      end
    `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@36655.8]
        end
    `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@36656.8]
        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 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@36756.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36757.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 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@36763.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@36770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@36778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@36785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@36793.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@36802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@36810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36811.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 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@36912.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36913.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 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@36919.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@36926.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36927.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@36934.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36935.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@36941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@36949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@36957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66: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_35 & _T_207) 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@36966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@36974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@37084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@37091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37092.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 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@37098.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@37106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@37114.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@37122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@37234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@37241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37242.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 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@37248.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@37256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@37264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@37376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@37383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@37390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@37398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@37408.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37409.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@37515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@37522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37523.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 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@37529.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@37537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100: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_85 & _T_455) 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@37545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101: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_95 & _T_802) 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@37652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@37659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37660.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 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@37666.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@37674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@37682.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@37789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@37796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37797.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 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@37803.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@37811.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@37819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37820.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_1050) 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@37830.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37831.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@37847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@37855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@37863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@37871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@37879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@37889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@37896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@37904.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@37912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@37920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@37928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@37937.10]
        end
    `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@37938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@37947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@37954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@37962.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@37970.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@37978.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37979.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@37987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@37996.10]
        end
    `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@37997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@38006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@38014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@38022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@38031.10]
        end
    `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@38032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@38041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@38049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@38058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@38067.10]
        end
    `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@38068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@38077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@38085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@38093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@38102.10]
        end
    `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@38103.10]
        end
    `ifdef STOP_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@38112.6]
        end
    `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@38113.6]
        end
    `ifdef STOP_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@38120.6]
        end
    `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@38121.6]
        end
    `ifdef STOP_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@38128.6]
        end
    `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@38129.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@38168.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38169.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@38176.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38177.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@38184.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38185.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@38192.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38193.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@38200.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38201.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@38250.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38251.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@38258.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38259.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@38266.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38267.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@38274.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38275.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@38282.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38283.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@38290.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38291.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@38368.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38369.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@38391.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38392.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@38403.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@38404.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@38423.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38424.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLWidthWidget_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38436.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38437.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38438.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38439.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.4]
  TLMonitor_21 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38446.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@38486.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38486.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38485.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38448.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38449.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38482.4]
endmodule
module TLMonitor_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38503.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38504.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38505.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38506.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@40344.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@38522.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38527.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38529.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38531.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38532.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38532.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@38533.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38535.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38536.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@38538.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38539.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38540.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38541.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38542.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38544.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38545.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38547.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38548.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38549.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38550.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38551.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38552.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38553.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38554.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38555.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38556.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38557.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38558.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38559.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38560.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38561.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38562.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38563.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38564.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38565.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38566.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38570.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38591.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38594.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38595.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38596.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38597.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38598.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38599.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38600.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38601.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38602.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38603.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38604.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38605.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38606.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38607.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38608.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38609.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38610.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38611.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38612.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38613.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38614.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38615.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38616.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38617.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38618.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38619.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38620.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38621.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38622.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38623.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38624.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38625.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38626.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38627.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38628.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38629.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38630.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38631.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38632.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38633.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38634.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38635.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38636.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38637.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38638.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38639.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38640.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38641.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38642.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38643.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38644.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38645.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38646.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38647.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38648.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38651.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38652.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38653.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38654.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38655.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38656.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38657.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38658.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38659.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38660.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38661.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38662.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38663.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38664.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38665.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38666.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38667.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38668.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38669.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38670.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38671.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38672.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38687.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38700.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38701.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38708.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38709.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38715.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38716.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38721.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38723.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38724.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38729.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38730.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38732.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38733.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38738.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38740.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38741.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38747.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38885.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38887.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38888.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38911.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38914.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38922.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38924.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38997.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38998.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38999.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39000.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39001.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39002.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39003.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39004.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39005.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39006.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39007.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39008.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39009.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39010.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39012.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39014.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39015.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39034.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39036.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39037.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39042.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39044.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39045.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39059.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39138.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39139.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39140.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39141.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39142.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39143.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39144.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39145.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39146.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39161.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39164.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39165.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39201.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39275.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39276.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39277.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39278.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39279.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39280.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39281.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39282.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39303.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39306.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39307.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39334.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39335.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@39336.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39338.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39339.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39345.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39348.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39420.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39421.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39423.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39424.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39425.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39426.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39427.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39428.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39445.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39446.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@39465.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39467.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39468.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39482.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39602.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39604.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39605.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39619.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39719.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39720.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39758.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39760.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39761.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39767.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39772.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39774.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39777.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39778.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39783.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39785.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39786.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39791.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39793.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39794.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39799.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39801.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39802.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39807.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39809.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39810.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39816.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39840.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39842.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39843.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39848.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39850.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39851.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39874.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39917.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39918.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39933.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39968.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40004.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40064.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@40069.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@40070.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40071.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40073.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40074.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40075.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40076.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40077.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40088.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40089.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40090.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40091.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40092.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40093.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40094.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40096.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40098.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40099.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40104.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40106.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40107.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40112.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40114.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40115.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40120.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40122.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40123.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40128.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40130.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40131.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40138.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40146.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@40148.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@40149.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@40150.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@40151.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@40152.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40154.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40155.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40156.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40157.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40158.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40169.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40170.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40171.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40172.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40173.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40174.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40175.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40176.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40178.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40180.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40181.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40186.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40188.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40189.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40194.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40196.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40197.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40202.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40204.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40205.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40210.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40212.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40213.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40218.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40220.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40221.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40228.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40237.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40247.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40248.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40249.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40250.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40251.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40270.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40271.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40272.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40273.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40274.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40289.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@40292.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@40294.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@40295.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40296.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40298.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40299.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@40291.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40310.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@40312.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@40313.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@40315.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@40317.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@40318.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@40319.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40321.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40322.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@40314.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40328.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@40329.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@40330.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40331.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40333.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40334.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40339.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40340.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@40341.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40343.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@40346.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40347.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@40348.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40349.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@40350.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@40351.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40353.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40354.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40360.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40364.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38689.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38845.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39017.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39167.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39309.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39448.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39585.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39722.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39780.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39822.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39880.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39939.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39974.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40010.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@40344.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@38522.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38527.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38529.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38531.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38532.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38532.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@38533.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38535.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38536.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@38538.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38539.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38540.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38541.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38542.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38544.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38545.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38547.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38548.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38549.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38550.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38551.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38552.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38553.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38554.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38555.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38556.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38557.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38558.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38559.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38560.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38561.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38562.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38563.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38564.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38565.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38566.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38570.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38591.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38594.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38595.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38596.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38597.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38598.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38599.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38600.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38601.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38602.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38603.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38604.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38605.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38606.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38607.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38608.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38609.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38610.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38611.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38612.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38613.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38614.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38615.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38616.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38617.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38618.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38619.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38620.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38621.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38622.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38623.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38624.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38625.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38626.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38627.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38628.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38629.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38630.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38631.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38632.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38633.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38634.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38635.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38636.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38637.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38638.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38639.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38640.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38641.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38642.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38643.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38644.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38645.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38646.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38647.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38648.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38651.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38652.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38653.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38654.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38655.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38656.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38657.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38658.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38659.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38660.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38661.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38662.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38663.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38664.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38665.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38666.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38667.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38668.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38669.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38670.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38671.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38672.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38687.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38700.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38701.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38708.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38709.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38715.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38716.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38721.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38723.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38724.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38729.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38730.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38732.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38733.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38738.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38740.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38741.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38747.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38885.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38887.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38888.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38911.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38914.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38922.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38924.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38997.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38998.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38999.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39000.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39001.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39002.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39003.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39004.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39005.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39006.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39007.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39008.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39009.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39010.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39012.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39014.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39015.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39034.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39036.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39037.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39042.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39044.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39045.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39059.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39138.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39139.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39140.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39141.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39142.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39143.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39144.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39145.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39146.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39161.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39164.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39165.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39201.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39275.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39276.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39277.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39278.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39279.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39280.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39281.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39282.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39303.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39306.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39307.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39334.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39335.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@39336.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39338.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39339.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39345.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39348.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39420.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39421.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39423.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39424.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39425.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39426.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@39427.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@39428.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39445.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39446.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@39465.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39467.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39468.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39482.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39602.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39604.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39605.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39619.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39719.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39720.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39758.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39760.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39761.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39767.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39772.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39774.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39777.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39778.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39783.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39785.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39786.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39791.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39793.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39794.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39799.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39801.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39802.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39807.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39809.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39810.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39816.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39840.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39842.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39843.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39848.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39850.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39851.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39874.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39917.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39918.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39933.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39968.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40004.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40064.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@40069.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@40070.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40071.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40074.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40075.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40076.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40077.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40093.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40094.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40096.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40098.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40099.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40104.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40106.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40107.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40112.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40114.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40115.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40120.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40122.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40123.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40128.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40130.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40131.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40138.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40146.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@40148.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@40149.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@40150.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@40151.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@40152.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40155.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40156.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40157.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40158.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@40175.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40176.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40178.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40180.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40181.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40186.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40188.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40189.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40194.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40196.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40197.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40202.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40204.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40205.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40210.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40212.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40213.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40218.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40220.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40221.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40228.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40248.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40249.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40250.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40251.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40271.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40272.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40273.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40274.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40289.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@40292.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@40294.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@40295.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40296.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40298.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40299.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@40291.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40310.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@40312.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@40313.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@40315.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@40317.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@40318.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@40319.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40321.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40322.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@40314.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40328.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@40329.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@40330.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40331.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40333.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40334.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40339.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40340.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@40341.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@40346.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40347.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@40348.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40349.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@40350.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@40351.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40353.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40354.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40360.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40364.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38689.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38845.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39017.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39167.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39309.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39448.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39585.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39722.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39780.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39822.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39880.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39939.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39974.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40010.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@38518.8]
        end
    `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@38519.8]
        end
    `ifdef STOP_COND
      end
    `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@38588.8]
        end
    `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@38589.8]
        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 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@38689.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38690.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 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@38696.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 50: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_19 & _T_191) 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@38703.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@38711.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@38718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@38726.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@38735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@38743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38744.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 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@38845.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38846.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 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@38852.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@38859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@38867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@38874.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38875.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@38882.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38883.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@38890.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38891.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@38899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@38907.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@39017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@39024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39025.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 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@39031.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@39039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@39047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@39055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@39167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@39174.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39175.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 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@39181.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@39189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@39197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@39309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@39316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@39323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@39331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@39341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@39448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@39455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39456.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 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@39462.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@39470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@39478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@39585.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@39592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39593.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 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@39599.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@39607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@39615.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@39722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@39729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39730.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 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@39736.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@39744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@39752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39753.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_1050) 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@39763.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39764.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@39780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@39788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@39796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@39804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@39812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@39822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@39829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@39837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@39845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@39853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@39861.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@39870.10]
        end
    `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@39871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@39880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@39887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@39895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@39903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@39911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@39920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@39929.10]
        end
    `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@39930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@39939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@39947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@39955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@39964.10]
        end
    `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@39965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@39974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@39982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@39991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@40000.10]
        end
    `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@40001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@40010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@40018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@40026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@40035.10]
        end
    `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@40036.10]
        end
    `ifdef STOP_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@40045.6]
        end
    `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@40046.6]
        end
    `ifdef STOP_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@40053.6]
        end
    `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@40054.6]
        end
    `ifdef STOP_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@40061.6]
        end
    `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@40062.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@40101.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40102.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@40109.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40110.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@40117.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40118.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@40125.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40126.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@40133.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40134.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@40183.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40184.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@40191.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40192.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@40199.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40200.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@40207.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40208.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@40215.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40216.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@40223.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40224.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@40301.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40302.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@40324.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40325.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@40336.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@40337.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@40356.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40357.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40369.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40370.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40371.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40372.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.4]
  TLMonitor_22 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40379.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@40419.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40419.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40418.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40381.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40382.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@40415.4]
endmodule
module SimpleLazyModule_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40429.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40430.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40431.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [3:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [31:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [3:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_from_sbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_from_sbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [2:0]  auto_from_sbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [2:0]  auto_from_sbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [3:0]  auto_from_sbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_from_sbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [31:0] auto_from_sbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [3:0]  auto_from_sbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output [31:0] auto_from_sbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_from_sbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  output        auto_from_sbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_from_sbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [2:0]  auto_from_sbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [1:0]  auto_from_sbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [3:0]  auto_from_sbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_from_sbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_from_sbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_from_sbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input  [31:0] auto_from_sbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
  input         auto_from_sbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40432.4]
);
  wire  fixer_clock; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_reset; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [31:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [31:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.4]
  TLFIFOFixer fixer ( // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.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@40443.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@40449.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@40464.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign auto_from_sbus_out_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign auto_from_sbus_out_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40463.4]
  assign fixer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40441.4]
  assign fixer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40442.4]
  assign fixer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign fixer_auto_out_a_ready = auto_from_sbus_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_valid = auto_from_sbus_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_opcode = auto_from_sbus_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_param = auto_from_sbus_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_size = auto_from_sbus_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_source = auto_from_sbus_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_sink = auto_from_sbus_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_denied = auto_from_sbus_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_data = auto_from_sbus_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign fixer_auto_out_d_bits_corrupt = auto_from_sbus_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40447.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40448.4]
  assign widget_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign widget_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign widget_auto_out_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40461.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40453.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40454.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40464.4]
  assign buffer_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
  assign buffer_auto_out_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40462.4]
endmodule
module TLMonitor_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40473.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40474.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40475.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@40476.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@42314.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@40492.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@40497.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@40499.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@40500.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@40501.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@40502.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@40502.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@40503.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40505.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40506.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@40508.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@40509.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40510.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40511.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40512.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40514.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40515.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40517.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40518.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40519.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40520.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40521.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40522.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40523.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40524.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40525.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40526.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40527.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40528.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40529.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40530.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40531.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40532.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40533.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40534.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40535.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40536.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40540.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40561.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40564.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40565.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40566.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40567.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40568.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40569.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40570.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40571.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40572.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40573.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40574.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40575.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40576.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40577.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40578.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40579.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40580.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40581.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40582.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40583.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40584.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40585.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40586.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40587.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40588.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40589.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40590.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40591.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40592.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40593.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40594.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40595.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40597.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40598.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40599.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40600.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40601.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40602.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40603.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40604.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40605.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40606.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40607.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40608.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40609.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40610.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40611.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40612.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40613.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40614.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40615.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40616.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40617.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40618.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40621.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40622.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40623.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40624.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40625.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40626.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40627.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40628.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40629.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40630.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40631.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40632.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40633.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40634.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40635.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40636.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40637.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40638.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40639.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40640.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40641.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40642.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40657.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40670.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40671.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40678.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40679.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40685.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40686.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40691.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40693.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40694.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40699.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40700.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40702.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40703.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40708.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40710.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40711.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40717.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40855.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40857.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40858.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40881.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40884.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40892.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40894.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40967.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40968.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40969.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40970.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40971.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40972.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40973.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40974.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40975.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40976.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40977.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40978.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40979.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40980.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40982.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40984.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40985.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41004.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41006.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41007.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41012.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41014.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41015.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41029.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41108.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41109.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41110.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41111.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41112.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41113.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41114.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41115.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@41116.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41131.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41134.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41135.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41171.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41245.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41246.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41247.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41248.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41249.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41250.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41251.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@41252.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41273.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41276.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41277.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41304.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41305.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@41306.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41308.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41309.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41315.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41318.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41390.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41391.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41392.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41393.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41394.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41395.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41396.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41397.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@41398.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41416.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@41435.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41437.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41438.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41452.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41572.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41574.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41575.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41589.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41689.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41690.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41728.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41730.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41731.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41737.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41742.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41744.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41747.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41748.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41753.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41755.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41756.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41761.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41763.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41764.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41769.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41771.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41772.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41779.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41780.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41786.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41810.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41812.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41813.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41818.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41821.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41844.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41885.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41887.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41888.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41903.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41938.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41974.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42034.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@42039.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@42040.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42041.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42043.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42044.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42045.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42046.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42047.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42058.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42059.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42060.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42061.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42062.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42063.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42064.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42066.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42068.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42069.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42074.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42076.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42077.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42082.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42084.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42085.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42090.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42092.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42093.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42098.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42100.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42101.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42108.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42116.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@42118.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@42119.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@42120.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@42121.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@42122.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42124.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42125.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42126.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42127.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42128.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42139.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42140.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42141.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42142.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42143.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42144.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42145.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42146.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42148.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42150.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42151.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42156.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42158.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42159.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42164.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42166.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42167.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42172.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42174.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42175.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42180.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42182.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42183.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42188.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42190.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42191.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42198.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42207.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42217.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42218.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42219.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42220.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42221.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42240.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42241.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42242.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42243.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42244.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42259.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@42262.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@42264.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@42265.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42266.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42268.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42269.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@42261.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42280.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@42282.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@42283.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@42285.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@42287.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@42288.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@42289.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42291.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42292.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@42284.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42298.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@42299.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@42300.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42301.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42303.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42304.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42309.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42310.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@42311.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42313.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@42316.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42317.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@42318.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42319.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@42320.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@42321.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42323.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42324.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42330.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42334.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40659.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40815.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40987.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41137.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41279.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41418.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41555.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41692.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41750.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41792.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41850.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41909.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41944.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41980.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@42314.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@40492.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@40497.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@40499.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@40500.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@40501.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@40502.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@40502.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@40503.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40505.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40506.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@40508.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@40509.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40510.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40511.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40512.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40514.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40515.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40517.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40518.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40519.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40520.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40521.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40522.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40523.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40524.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40525.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40526.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40527.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40528.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40529.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40530.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40531.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40532.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40533.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40534.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40535.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40536.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40540.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40561.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40564.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40565.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40566.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40567.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40568.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40569.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40570.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40571.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40572.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40573.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40574.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40575.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40576.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40577.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40578.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40579.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40580.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40581.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40582.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40583.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40584.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40585.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40586.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40587.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40588.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40589.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40590.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40591.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40592.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40593.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40594.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40595.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40597.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40598.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40599.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40600.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40601.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40602.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40603.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40604.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40605.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40606.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40607.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40608.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40609.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40610.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40611.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40612.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40613.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40614.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40615.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40616.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40617.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40618.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40621.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40622.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40623.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40624.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40625.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40626.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40627.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40628.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40629.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40630.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40631.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40632.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40633.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40634.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40635.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40636.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40637.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40638.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40639.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40640.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40641.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40642.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40657.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40670.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40671.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40678.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40679.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40685.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40686.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40691.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40693.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40694.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40699.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40700.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40702.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40703.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40708.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40710.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40711.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40717.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40855.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40857.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40858.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40881.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40884.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40892.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40894.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40967.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40968.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40969.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40970.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40971.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40972.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40973.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40974.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40975.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40976.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40977.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40978.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40979.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40980.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40982.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40984.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40985.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41004.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41006.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41007.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41012.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41014.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41015.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41029.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41108.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41109.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41110.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41111.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41112.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41113.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41114.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41115.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@41116.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41131.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41134.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41135.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41171.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41245.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41246.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41247.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41248.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41249.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41250.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41251.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@41252.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41273.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41276.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41277.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41304.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41305.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@41306.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41308.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41309.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41315.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41318.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41390.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41391.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41392.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41393.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41394.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41395.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41396.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@41397.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@41398.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41416.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@41435.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41437.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41438.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41452.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41572.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41574.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41575.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41589.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41689.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41690.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41728.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41730.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41731.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41737.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41742.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41744.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41747.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41748.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41753.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41755.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41756.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41761.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41763.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41764.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41769.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41771.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41772.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41779.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41780.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41786.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41810.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41812.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41813.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41818.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41821.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41844.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41885.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41887.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41888.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41903.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41938.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41974.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42034.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@42039.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@42040.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42041.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42044.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42045.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42046.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42047.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42063.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42064.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42066.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42068.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42069.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42074.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42076.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42077.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42082.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42084.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42085.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42090.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42092.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42093.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42098.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42100.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42101.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42108.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42116.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@42118.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@42119.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@42120.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@42121.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@42122.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42125.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42126.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42127.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42128.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@42145.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42146.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42148.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42150.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42151.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42156.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42158.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42159.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42164.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42166.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42167.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42172.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42174.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42175.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42180.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42182.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42183.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42188.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42190.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42191.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42198.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42218.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42219.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42220.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42221.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42241.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42242.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42243.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42244.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42259.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@42262.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@42264.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@42265.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42266.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42268.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42269.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@42261.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42280.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@42282.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@42283.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@42285.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@42287.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@42288.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@42289.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42291.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42292.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@42284.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42298.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@42299.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@42300.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42301.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42303.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42304.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42309.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42310.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@42311.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@42316.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42317.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@42318.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42319.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@42320.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@42321.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42323.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42324.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42330.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42334.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40659.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40815.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40987.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41137.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41279.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41418.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41555.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41692.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41750.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41792.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41850.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41909.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41944.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41980.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@40488.8]
        end
    `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@40489.8]
        end
    `ifdef STOP_COND
      end
    `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@40558.8]
        end
    `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@40559.8]
        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 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@40659.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40660.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 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@40666.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@40673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@40681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@40688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@40696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@40705.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40706.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@40713.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40714.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 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@40815.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40816.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 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@40822.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@40829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@40837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@40844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@40852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@40860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@40869.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@40877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@40987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@40994.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40995.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 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@41001.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@41009.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41010.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@41017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@41025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@41137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@41144.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41145.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 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@41151.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41152.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@41159.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41160.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@41167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@41279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@41286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@41293.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41294.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@41301.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@41311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@41418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@41425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41426.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 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@41432.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@41440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100: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 (_GEN_85 & _T_455) 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@41448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@41555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@41562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41563.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 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@41569.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@41577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@41585.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@41692.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@41699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41700.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 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@41706.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@41714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@41722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41723.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_1050) 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@41733.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41734.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@41750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@41758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@41766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@41774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@41782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@41792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@41799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@41807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41808.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@41815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@41823.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@41831.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@41840.10]
        end
    `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@41841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@41850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@41857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@41865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@41873.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41874.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@41881.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@41890.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41891.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@41899.10]
        end
    `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@41900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@41909.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@41917.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41918.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@41925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@41934.10]
        end
    `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@41935.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@41944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@41952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@41961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@41970.10]
        end
    `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@41971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@41980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@41988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@41996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@42005.10]
        end
    `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@42006.10]
        end
    `ifdef STOP_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@42015.6]
        end
    `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@42016.6]
        end
    `ifdef STOP_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@42023.6]
        end
    `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@42024.6]
        end
    `ifdef STOP_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@42031.6]
        end
    `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@42032.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@42071.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42072.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@42079.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42080.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@42087.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42088.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@42095.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42096.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@42103.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42104.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@42153.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42154.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@42161.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42162.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@42169.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42170.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@42177.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42178.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@42185.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42186.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@42193.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42194.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@42271.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42272.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@42294.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42295.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@42306.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@42307.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@42326.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42327.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLSplitter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42340.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42341.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42342.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.4]
  TLMonitor_23 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42349.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@42389.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42389.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42388.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42351.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42352.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@42385.4]
endmodule
module TLMonitor_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42408.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42409.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42410.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@42411.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@44249.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@42427.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@42432.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@42434.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@42435.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@42436.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@42437.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@42437.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@42438.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42440.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42441.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@42443.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@42444.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42445.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42446.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42447.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42449.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42450.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42452.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42453.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42454.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42455.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42456.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42457.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42458.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42459.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42460.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42461.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42462.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42463.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42464.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42465.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42466.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42467.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42468.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@42469.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@42470.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@42471.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42475.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42496.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42499.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42500.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42501.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42502.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42503.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42504.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42505.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42506.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42507.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42508.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42509.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42510.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42511.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42512.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42513.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42514.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42515.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42516.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42517.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42518.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42519.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42520.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42521.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42522.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42523.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42524.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42525.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42526.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42527.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42528.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42529.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42530.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42531.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42532.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42533.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42534.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42535.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42536.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42537.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42538.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42539.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42540.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42541.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42542.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42543.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42544.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42545.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42546.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42547.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42548.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42549.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42550.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42551.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42552.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42553.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42556.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42557.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42558.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42559.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42560.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42561.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42562.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42563.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42564.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42565.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42566.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42567.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42568.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42569.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42570.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42571.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42572.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42573.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42574.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42575.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42576.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42577.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42592.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42605.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42606.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42613.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42614.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42620.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42621.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42626.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42628.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42629.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42634.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42635.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42637.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42638.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42643.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42645.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42646.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42652.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42790.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42792.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42793.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42816.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42819.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42827.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42829.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42902.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42903.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42904.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42905.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42906.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42907.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42908.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42909.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42910.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42911.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42912.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42913.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42914.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42915.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42917.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42919.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42920.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42939.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42941.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42942.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42947.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42949.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42950.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42964.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43043.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43044.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43045.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43046.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43047.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43048.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43049.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43050.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@43051.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43066.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43069.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43070.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43106.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43180.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43181.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43182.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43183.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43184.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43185.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43186.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@43187.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43208.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43211.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43212.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43239.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43240.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43241.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43243.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43244.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43250.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43253.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43325.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43326.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43327.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43328.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43329.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43330.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43331.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43332.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@43333.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43350.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43351.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@43370.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43372.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43373.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43387.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43507.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43509.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43510.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43524.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43624.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43625.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43663.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43665.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43666.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43672.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43677.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43679.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43682.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43683.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43688.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43690.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43691.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43696.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43698.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43699.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43704.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43706.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43712.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43714.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43715.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43721.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43745.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43747.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43748.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43753.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43755.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43756.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43779.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43820.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43822.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43823.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43838.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43873.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43909.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43969.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43974.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43975.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43976.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43978.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43979.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43980.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43981.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43982.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43993.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43994.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43995.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43996.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43997.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43998.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43999.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44001.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44003.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44004.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44009.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44011.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44012.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44017.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44019.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44020.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44025.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44027.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44028.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44033.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44035.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44036.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44043.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44051.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@44053.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@44054.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44055.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@44056.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@44057.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44059.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44060.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44061.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44062.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44063.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44074.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44075.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44076.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44077.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44078.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44079.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44080.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44081.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44083.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44085.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44086.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44091.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44093.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44094.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44099.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44101.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44102.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44107.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44109.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44110.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44115.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44117.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44118.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44123.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44125.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44126.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44133.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44142.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44152.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44153.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44154.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44155.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44156.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44175.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44176.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44177.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44178.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44179.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44194.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@44197.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@44199.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@44200.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44201.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44203.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44204.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@44196.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44215.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@44217.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@44218.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@44220.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@44222.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@44223.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44226.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44227.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@44219.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44233.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@44234.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@44235.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44236.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44238.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44239.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44244.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44245.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@44246.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44248.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@44251.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44252.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@44253.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44254.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@44255.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@44256.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44258.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44259.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44265.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44269.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42594.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42750.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42922.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43214.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43353.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43490.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43627.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43685.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43727.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43785.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43844.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43879.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43915.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@44249.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@42427.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@42432.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@42434.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@42435.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@42436.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@42437.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@42437.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@42438.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42440.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@42441.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@42443.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@42444.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42445.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42446.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42447.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42449.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42450.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42452.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42453.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42454.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@42455.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@42456.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42457.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42458.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42459.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42460.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42461.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42462.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42463.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42464.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42465.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42466.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@42467.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@42468.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@42469.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@42470.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@42471.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42475.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42496.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42499.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42500.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42501.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42502.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42503.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42504.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42505.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42506.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42507.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42508.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42509.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42510.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42511.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42512.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42513.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42514.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42515.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42516.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42517.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42518.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42519.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42520.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42521.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42522.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42523.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42524.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42525.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42526.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42527.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42528.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42529.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42530.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42531.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42532.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42533.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42534.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42535.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42536.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42537.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42538.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42539.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42540.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42541.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42542.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42543.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42544.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42545.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42546.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42547.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42548.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42549.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42550.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42551.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42552.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42553.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42556.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42557.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42558.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42559.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42560.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42561.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42562.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42563.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42564.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42565.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42566.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42567.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42568.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@42569.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42570.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42571.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42572.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42573.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42574.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42575.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42576.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42577.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42592.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42605.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42606.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42613.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42614.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42620.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42621.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42626.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42628.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42629.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42634.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42635.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42637.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42638.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42643.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42645.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42646.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42652.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42790.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42792.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42793.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42816.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42819.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42827.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42829.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42902.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42903.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42904.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42905.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42906.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42907.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42908.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42909.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42910.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42911.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42912.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42913.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42914.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42915.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42917.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42919.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42920.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42939.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42941.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42942.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42947.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42949.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42950.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42964.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43043.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43044.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43045.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43046.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43047.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43048.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43049.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43050.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@43051.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43066.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43069.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43070.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43106.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43180.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43181.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43182.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43183.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43184.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43185.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43186.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@43187.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43208.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43211.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43212.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43239.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43240.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43241.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43243.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43244.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43250.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43253.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43325.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43326.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43327.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43328.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43329.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43330.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43331.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43332.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@43333.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43350.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43351.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@43370.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43372.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43373.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43387.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43507.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43509.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43510.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43524.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43624.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43625.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43663.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43665.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43666.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43672.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43677.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43679.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43682.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43683.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43688.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43690.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43691.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43696.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43698.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43699.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43704.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43706.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43712.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43714.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43715.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43721.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43745.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43747.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43748.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43753.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43755.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43756.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43779.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43820.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43822.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43823.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43838.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43873.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43909.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43969.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43974.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43975.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43976.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43979.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43980.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43981.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43982.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43998.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43999.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44001.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44003.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44004.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44009.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44011.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44012.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44017.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44019.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44020.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44025.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44027.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44028.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44033.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44035.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44036.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44043.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44051.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@44053.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@44054.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44055.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@44056.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@44057.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44060.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44061.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44062.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44063.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@44080.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44081.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44083.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44085.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44086.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44091.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44093.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44094.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44099.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44101.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44102.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44107.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44109.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44110.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44115.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44117.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44118.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44123.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44125.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44126.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44133.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44153.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44154.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44155.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44156.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44176.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44177.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44178.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44179.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44194.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@44197.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@44199.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@44200.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44201.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44203.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44204.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@44196.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44215.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@44217.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@44218.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@44220.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@44222.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@44223.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44226.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44227.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@44219.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44233.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@44234.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@44235.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44236.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44238.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44239.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44244.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44245.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@44246.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@44251.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44252.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@44253.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44254.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@44255.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@44256.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44258.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44259.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44265.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44269.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42594.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42750.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42922.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43214.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43353.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43490.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43627.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43685.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43727.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43785.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43844.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43879.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43915.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@42423.8]
        end
    `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@42424.8]
        end
    `ifdef STOP_COND
      end
    `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@42493.8]
        end
    `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@42494.8]
        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 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@42594.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42595.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 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@42601.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42602.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@42608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@42616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@42623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@42631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@42640.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@42648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42649.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 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@42750.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42751.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 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@42757.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42758.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@42764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@42772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@42779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@42787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@42795.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@42804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@42812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@42922.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@42929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42930.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 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@42936.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@42944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@42952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@42960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@43072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81: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_65 & _T_191) 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@43079.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43080.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 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@43086.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43087.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@43094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@43102.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43103.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@43214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@43221.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90: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_75 & _T_198) 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@43228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@43236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@43246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@43353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@43360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43361.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 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@43367.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@43375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@43383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@43490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@43497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43498.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 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@43504.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@43512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@43520.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43521.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@43627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@43634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43635.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 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@43641.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@43649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@43657.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43658.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_1050) 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@43668.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@43685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@43693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@43701.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43702.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@43709.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@43717.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@43727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@43734.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@43742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@43750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@43758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@43766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@43775.10]
        end
    `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@43776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@43785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@43792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@43800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@43808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@43816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@43825.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43826.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@43834.10]
        end
    `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@43835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@43844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@43852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@43860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@43869.10]
        end
    `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@43870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@43879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@43887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@43896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@43905.10]
        end
    `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@43906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@43915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320: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_161 & _T_1074) 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@43923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@43931.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@43940.10]
        end
    `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@43941.10]
        end
    `ifdef STOP_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@43950.6]
        end
    `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@43951.6]
        end
    `ifdef STOP_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@43958.6]
        end
    `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@43959.6]
        end
    `ifdef STOP_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@43966.6]
        end
    `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@43967.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@44006.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44007.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@44014.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44015.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@44022.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44023.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@44030.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44031.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@44038.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44039.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@44088.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44089.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@44096.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44097.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@44104.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44105.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@44112.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44113.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@44120.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44121.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@44128.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44129.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@44206.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44207.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@44229.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44230.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@44241.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@44242.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@44261.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44262.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44274.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44275.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44276.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44277.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.4]
  TLMonitor_24 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44284.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@44324.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44324.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44323.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44286.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44287.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@44320.4]
endmodule
module TLMonitor_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44341.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44342.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44343.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@46182.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@44360.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44365.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@44367.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44369.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@44370.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@44370.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@44371.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44373.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44374.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@44376.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@44377.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44378.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44379.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44380.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44382.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44383.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44385.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44386.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44387.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44388.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44389.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44390.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44391.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44392.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44393.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44394.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44395.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44396.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44397.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44398.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44399.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44400.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44401.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@44402.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@44403.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@44404.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44408.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44429.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44432.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44433.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44434.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44435.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44436.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44437.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44438.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44439.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44440.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44441.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44442.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44443.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44444.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44445.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44446.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44447.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44448.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44449.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44450.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44451.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44452.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44453.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44454.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44455.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44456.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44457.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44458.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44459.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44460.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44461.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44462.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44463.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44464.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44465.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44466.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44467.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44468.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44469.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44470.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44471.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44472.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44473.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44474.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44475.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44476.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44477.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44478.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44479.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44480.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44481.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44482.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44483.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44484.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44485.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44486.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44489.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44490.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44491.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44492.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44493.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44494.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44495.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44496.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44497.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44498.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44499.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44500.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44501.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44502.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44503.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44505.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44506.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44507.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44508.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44509.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44510.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44525.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44538.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44539.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44546.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44547.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44553.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44554.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44559.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44561.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44562.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44567.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44568.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44570.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44571.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44576.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44578.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44579.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44585.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44723.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44725.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44726.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44749.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44752.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44760.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44762.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44835.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44836.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44837.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44838.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44839.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44840.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44841.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44842.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44843.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44844.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44845.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44846.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44847.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44848.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44850.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44852.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44853.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44872.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44874.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44875.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44880.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44882.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44883.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44897.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44976.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44977.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44978.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44979.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44980.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44981.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44982.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44983.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44984.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45002.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45003.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45039.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45113.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45114.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45115.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45117.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45118.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45119.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@45120.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45141.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45144.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45145.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45172.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45173.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45174.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45176.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45177.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45183.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45186.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45258.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45259.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45260.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45261.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45262.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45263.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45264.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45265.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@45266.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45283.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45284.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@45303.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45305.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45306.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45320.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45440.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45442.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45443.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45457.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45557.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45558.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45598.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45599.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@45605.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45610.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45612.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45615.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45616.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45621.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45623.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45624.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45629.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45631.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45632.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45637.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45639.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45640.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45645.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45647.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45648.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45654.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45678.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45680.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45681.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45686.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45688.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45689.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45712.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45755.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45756.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45771.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45806.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45842.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45902.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45907.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45908.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45909.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45911.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45912.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45913.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45914.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45915.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45926.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45927.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45928.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45929.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45930.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45931.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45932.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45934.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45936.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45937.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45942.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45944.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45945.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45950.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45952.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45953.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45960.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45961.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45966.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45968.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45969.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45976.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45984.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45986.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45987.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45988.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45989.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45990.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45992.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45993.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45994.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45995.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45996.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46007.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46008.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46009.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46010.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46011.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46012.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46013.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46014.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46016.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46018.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46019.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46024.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46026.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46027.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46032.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46034.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46035.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46040.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46042.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46043.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46048.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46050.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46051.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46056.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46058.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46059.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46066.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46075.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46085.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46086.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46087.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46088.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46089.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46108.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46109.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46110.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46111.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46112.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46127.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@46130.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@46132.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@46133.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46134.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46136.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46137.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@46129.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46148.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@46150.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@46151.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@46153.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@46155.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46156.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46157.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46159.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46160.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@46152.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46166.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@46167.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@46168.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46169.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46171.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46172.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46177.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46178.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@46179.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46181.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@46184.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46185.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@46186.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46187.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@46188.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@46189.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46191.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46192.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46198.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44527.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44683.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44855.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45005.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45147.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45286.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45423.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45560.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45618.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45660.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45718.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45777.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45812.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45848.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@46182.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@44360.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44365.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@44367.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44369.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@44370.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@44370.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@44371.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44373.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44374.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@44376.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@44377.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44378.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44379.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44380.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44382.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44383.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44385.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44386.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44387.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@44388.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@44389.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44390.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44391.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44392.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44393.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44394.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44395.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44396.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44397.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44398.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44399.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@44400.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@44401.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@44402.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@44403.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@44404.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44408.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44429.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44432.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44433.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44434.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44435.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44436.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44437.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44438.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44439.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44440.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44441.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44442.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44443.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44444.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44445.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44446.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44447.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44448.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44449.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44450.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44451.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44452.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44453.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44454.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44455.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44456.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44457.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44458.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44459.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44460.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44461.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44462.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44463.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44464.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44465.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44466.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44467.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44468.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44469.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44470.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44471.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44472.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44473.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44474.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44475.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44476.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44477.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44478.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44479.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44480.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44481.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44482.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44483.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44484.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44485.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44486.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44489.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44490.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44491.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44492.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44493.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44494.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44495.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44496.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44497.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44498.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44499.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44500.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44501.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@44502.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@44503.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@44505.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@44506.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44507.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44508.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44509.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44510.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44525.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44538.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44539.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44546.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44547.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44553.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44554.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44559.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44561.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44562.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44567.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44568.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44570.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44571.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44576.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44578.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44579.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44585.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44723.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44725.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44726.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44749.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44752.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44760.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44762.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44835.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44836.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44837.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44838.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44839.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44840.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44841.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44842.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44843.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44844.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44845.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44846.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44847.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44848.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44850.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44852.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44853.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44872.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44874.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44875.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44880.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44882.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44883.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44897.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44976.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44977.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44978.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44979.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44980.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44981.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44982.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44983.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44984.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45002.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45003.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45039.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45113.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45114.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45115.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45117.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45118.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45119.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@45120.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45141.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45144.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45145.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45172.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45173.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45174.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45176.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45177.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45183.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45186.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45258.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45259.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45260.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45261.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45262.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45263.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45264.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45265.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@45266.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45283.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45284.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@45303.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45305.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45306.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45320.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45440.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45442.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45443.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45457.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45557.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45558.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45598.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45599.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@45605.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45610.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45612.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45615.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45616.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45621.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45623.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45624.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45629.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45631.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45632.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45637.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45639.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45640.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45645.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45647.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45648.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45654.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45678.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45680.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45681.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45686.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45688.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45689.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45712.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45755.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45756.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45771.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45806.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45842.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45902.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45907.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45908.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45909.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45912.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45913.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45914.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45915.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45931.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45932.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45934.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45936.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45937.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45942.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45944.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45945.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45950.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45952.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45953.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45960.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45961.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45966.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45968.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45969.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45976.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45984.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45986.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45987.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45988.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45989.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45990.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45993.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45994.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45995.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45996.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@46013.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46014.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46016.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46018.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46019.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46024.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46026.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46027.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46032.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46034.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46035.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46040.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46042.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46043.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46048.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46050.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46051.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46056.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46058.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46059.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46066.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46086.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46087.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46088.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46089.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46109.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46110.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46111.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46112.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46127.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@46130.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@46132.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@46133.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46134.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46136.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46137.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@46129.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46148.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@46150.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@46151.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@46153.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@46155.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46156.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46157.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46159.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46160.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@46152.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46166.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@46167.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@46168.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46169.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46171.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46172.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46177.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46178.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@46179.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@46184.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46185.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@46186.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46187.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@46188.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@46189.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46191.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46192.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46198.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44527.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44683.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44855.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45005.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45147.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45286.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45423.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45560.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45618.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45660.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45718.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45777.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45812.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45848.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@44356.8]
        end
    `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@44357.8]
        end
    `ifdef STOP_COND
      end
    `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@44426.8]
        end
    `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@44427.8]
        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 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@44527.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44528.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 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@44534.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@44541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@44549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@44556.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@44564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@44573.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@44581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44582.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 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@44683.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44684.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 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@44690.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@44697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@44705.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44706.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@44712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@44720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@44728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@44737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@44745.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@44855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@44862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44863.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 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@44869.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@44877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@44885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@44893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@45005.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45006.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@45012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45013.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 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@45019.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@45027.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45028.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@45035.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@45147.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@45154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@45161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@45169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@45179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@45286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@45293.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45294.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 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@45300.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45301.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@45308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@45316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@45423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@45430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45431.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 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@45437.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45438.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@45445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@45453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@45560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@45567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45568.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 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@45574.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@45582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@45590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45591.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_1050) 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@45601.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45602.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@45618.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45619.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@45626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@45634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@45642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@45650.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@45660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@45667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@45675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@45683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@45691.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@45699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@45708.10]
        end
    `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@45709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@45718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@45725.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@45733.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@45741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@45749.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@45758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@45767.10]
        end
    `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@45768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@45777.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@45785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@45793.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@45802.10]
        end
    `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@45803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@45812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@45820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@45829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@45838.10]
        end
    `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@45839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@45848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@45856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@45864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@45873.10]
        end
    `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@45874.10]
        end
    `ifdef STOP_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@45883.6]
        end
    `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@45884.6]
        end
    `ifdef STOP_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@45891.6]
        end
    `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@45892.6]
        end
    `ifdef STOP_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@45899.6]
        end
    `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@45900.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@45939.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45940.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@45947.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45948.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@45955.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45956.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@45963.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45964.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@45971.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45972.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@46021.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46022.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@46029.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46030.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@46037.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46038.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@46045.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46046.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@46053.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46054.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@46061.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46062.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@46139.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46140.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@46162.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46163.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@46174.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@46175.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@46194.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46195.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFIFOFixer_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46207.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46208.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46209.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.4]
  TLMonitor_25 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.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@46257.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46257.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46256.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46219.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46220.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@46253.4]
endmodule
module SimpleLazyModule_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46381.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46382.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46383.4]
  input         auto_buffer_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_buffer_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [2:0]  auto_buffer_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [2:0]  auto_buffer_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [3:0]  auto_buffer_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_buffer_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [31:0] auto_buffer_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [3:0]  auto_buffer_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [31:0] auto_buffer_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_buffer_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_buffer_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_buffer_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [2:0]  auto_buffer_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [1:0]  auto_buffer_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [3:0]  auto_buffer_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_buffer_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_buffer_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_buffer_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [31:0] auto_buffer_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_buffer_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_tl_master_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_tl_master_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [2:0]  auto_tl_master_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [2:0]  auto_tl_master_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [3:0]  auto_tl_master_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_tl_master_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [31:0] auto_tl_master_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [3:0]  auto_tl_master_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input  [31:0] auto_tl_master_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_tl_master_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  input         auto_tl_master_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_tl_master_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [2:0]  auto_tl_master_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [1:0]  auto_tl_master_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [3:0]  auto_tl_master_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_tl_master_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_tl_master_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_tl_master_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output [31:0] auto_tl_master_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
  output        auto_tl_master_xing_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46384.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.4]
  wire  fixer_clock; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_reset; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46395.4]
  TLBuffer_9 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46389.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@46395.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@46409.4]
  assign auto_buffer_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_buffer_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign auto_tl_master_xing_in_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign auto_tl_master_xing_in_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46408.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46393.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46394.4]
  assign buffer_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign buffer_auto_out_a_ready = auto_buffer_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_valid = auto_buffer_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_opcode = auto_buffer_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_param = auto_buffer_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_size = auto_buffer_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_source = auto_buffer_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_sink = auto_buffer_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_denied = auto_buffer_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_data = auto_buffer_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign buffer_auto_out_d_bits_corrupt = auto_buffer_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46409.4]
  assign fixer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46399.4]
  assign fixer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46400.4]
  assign fixer_auto_in_a_valid = auto_tl_master_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_opcode = auto_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_param = auto_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_size = auto_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_source = auto_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_address = auto_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_mask = auto_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_data = auto_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_a_bits_corrupt = auto_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_in_d_ready = auto_tl_master_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@46407.4]
  assign fixer_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
  assign fixer_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46406.4]
endmodule
module SystemBus( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46411.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46412.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46413.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [1:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [28:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [16:0] auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [11:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [25:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [27:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [30:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output [31:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [1:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input  [31:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46414.4]
);
  wire  system_bus_xbar_clock; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_reset; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_a_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_a_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [2:0] system_bus_xbar_auto_in_a_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [2:0] system_bus_xbar_auto_in_a_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [3:0] system_bus_xbar_auto_in_a_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_a_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [31:0] system_bus_xbar_auto_in_a_bits_address; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [3:0] system_bus_xbar_auto_in_a_bits_mask; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [31:0] system_bus_xbar_auto_in_a_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_a_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_d_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_d_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [2:0] system_bus_xbar_auto_in_d_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [1:0] system_bus_xbar_auto_in_d_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [3:0] system_bus_xbar_auto_in_d_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_d_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_d_bits_sink; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_d_bits_denied; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [31:0] system_bus_xbar_auto_in_d_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_in_d_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_a_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_a_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [2:0] system_bus_xbar_auto_out_a_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [2:0] system_bus_xbar_auto_out_a_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [3:0] system_bus_xbar_auto_out_a_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_a_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [31:0] system_bus_xbar_auto_out_a_bits_address; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [3:0] system_bus_xbar_auto_out_a_bits_mask; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [31:0] system_bus_xbar_auto_out_a_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_a_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_d_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_d_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [2:0] system_bus_xbar_auto_out_d_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [1:0] system_bus_xbar_auto_out_d_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [3:0] system_bus_xbar_auto_out_d_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_d_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_d_bits_sink; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_d_bits_denied; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire [31:0] system_bus_xbar_auto_out_d_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  system_bus_xbar_auto_out_d_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.4]
  wire  control_bus_clock; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_reset; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [30:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.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@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.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@46425.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [2:0] control_bus_auto_from_sbus_in_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [2:0] control_bus_auto_from_sbus_in_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [3:0] control_bus_auto_from_sbus_in_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [31:0] control_bus_auto_from_sbus_in_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [3:0] control_bus_auto_from_sbus_in_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [31:0] control_bus_auto_from_sbus_in_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [2:0] control_bus_auto_from_sbus_in_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [1:0] control_bus_auto_from_sbus_in_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [3:0] control_bus_auto_from_sbus_in_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire [31:0] control_bus_auto_from_sbus_in_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  control_bus_auto_from_sbus_in_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.4]
  wire  coupler_to_bus_named_cbus_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [1:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [1:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46431.4]
  wire  master_splitter_clock; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_reset; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_a_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_a_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [2:0] master_splitter_auto_in_a_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [2:0] master_splitter_auto_in_a_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [3:0] master_splitter_auto_in_a_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_a_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [31:0] master_splitter_auto_in_a_bits_address; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [3:0] master_splitter_auto_in_a_bits_mask; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [31:0] master_splitter_auto_in_a_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_a_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_d_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_d_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [2:0] master_splitter_auto_in_d_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [1:0] master_splitter_auto_in_d_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [3:0] master_splitter_auto_in_d_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_d_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_d_bits_sink; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_d_bits_denied; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [31:0] master_splitter_auto_in_d_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_in_d_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_a_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_a_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [2:0] master_splitter_auto_out_a_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [2:0] master_splitter_auto_out_a_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [3:0] master_splitter_auto_out_a_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_a_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [31:0] master_splitter_auto_out_a_bits_address; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [3:0] master_splitter_auto_out_a_bits_mask; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [31:0] master_splitter_auto_out_a_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_a_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_d_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_d_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [2:0] master_splitter_auto_out_d_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [1:0] master_splitter_auto_out_d_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [3:0] master_splitter_auto_out_d_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_d_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_d_bits_sink; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_d_bits_denied; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire [31:0] master_splitter_auto_out_d_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  master_splitter_auto_out_d_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.4]
  wire  coupler_from_tile_named_tile_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [1:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.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@46449.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@46449.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@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.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@46449.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@46449.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@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.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@46449.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@46449.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@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.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@46449.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.4]
  TLXbar system_bus_xbar ( // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@46419.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@46425.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@46431.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@46437.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@46449.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46464.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@46464.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@46464.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@46464.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@46464.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@46464.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@46464.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@46464.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@46464.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46462.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@46462.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@46462.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@46462.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@46462.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@46462.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@46462.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@46462.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@46462.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@46462.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@46461.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@46461.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@46461.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@46461.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@46461.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@46461.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@46461.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@46461.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@46461.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@46461.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@46460.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@46460.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@46460.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@46460.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@46460.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@46460.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@46460.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@46460.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@46460.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@46460.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.4]
  assign system_bus_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46423.4]
  assign system_bus_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46424.4]
  assign system_bus_xbar_auto_in_a_valid = master_splitter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46457.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@46457.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@46457.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@46457.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@46457.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@46457.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@46457.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@46457.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@46457.4]
  assign system_bus_xbar_auto_in_d_ready = master_splitter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46457.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.4]
  assign control_bus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46429.4]
  assign control_bus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46430.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46465.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@46464.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@46464.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@46464.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@46464.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@46464.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46463.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@46462.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@46462.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@46462.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@46462.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@46462.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@46462.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@46461.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@46461.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@46461.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@46461.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@46461.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@46461.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@46460.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@46460.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@46460.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@46460.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@46460.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@46460.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46459.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.4]
  assign coupler_to_bus_named_cbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46435.4]
  assign coupler_to_bus_named_cbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46436.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46455.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.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@46456.4]
  assign master_splitter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46441.4]
  assign master_splitter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46442.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.4]
  assign master_splitter_auto_out_a_ready = system_bus_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46457.4]
  assign master_splitter_auto_out_d_valid = system_bus_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46457.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@46457.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@46457.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@46457.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@46457.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@46457.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@46457.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@46457.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@46457.4]
  assign coupler_from_tile_named_tile_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46453.4]
  assign coupler_from_tile_named_tile_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46454.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46458.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.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@46466.4]
endmodule
module TLMonitor_26( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46475.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46476.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46477.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@46478.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@48028.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@46494.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46499.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@46501.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@46502.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46503.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@46505.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46508.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@46510.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@46511.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46512.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46513.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46514.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46516.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46517.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46519.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46520.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46521.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46522.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46523.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46524.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46525.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46526.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46527.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46528.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46529.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46530.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46531.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46532.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46533.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46534.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46535.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@46536.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@46537.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@46538.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46563.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46566.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46567.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46568.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46569.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46570.8]
  wire [30:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46571.8]
  wire [31:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46572.8]
  wire [31:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46573.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46574.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46575.8]
  wire [30:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46576.8]
  wire [31:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46577.8]
  wire [31:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46578.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46579.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46580.8]
  wire [30:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46581.8]
  wire [31:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46582.8]
  wire [31:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46583.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46584.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46585.8]
  wire [30:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46586.8]
  wire [31:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46587.8]
  wire [31:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46588.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46589.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46590.8]
  wire [30:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46591.8]
  wire [31:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46592.8]
  wire [31:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46593.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46594.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46595.8]
  wire [30:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46596.8]
  wire [31:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46597.8]
  wire [31:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46598.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46599.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46600.8]
  wire [30:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46601.8]
  wire [31:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.8]
  wire [31:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46603.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46604.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46605.8]
  wire [30:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46606.8]
  wire [31:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46607.8]
  wire [31:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46608.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46609.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46610.8]
  wire  _T_137; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46611.8]
  wire  _T_138; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46612.8]
  wire  _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46613.8]
  wire  _T_140; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46614.8]
  wire  _T_149; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46623.8]
  wire  _T_154; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46636.8]
  wire  _T_155; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46637.8]
  wire  _T_158; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46644.8]
  wire  _T_159; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46645.8]
  wire  _T_161; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46651.8]
  wire  _T_162; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46652.8]
  wire  _T_163; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46657.8]
  wire  _T_165; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46659.8]
  wire  _T_166; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46660.8]
  wire [3:0] _T_167; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46665.8]
  wire  _T_168; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46666.8]
  wire  _T_170; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46668.8]
  wire  _T_171; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46669.8]
  wire  _T_172; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46674.8]
  wire  _T_174; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46676.8]
  wire  _T_175; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46677.8]
  wire  _T_176; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46683.6]
  wire  _T_253; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46785.8]
  wire  _T_255; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46787.8]
  wire  _T_256; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46788.8]
  wire  _T_266; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46811.6]
  wire  _T_268; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46814.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46822.8]
  wire  _T_278; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46824.8]
  wire  _T_321; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46867.8]
  wire  _T_322; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46868.8]
  wire  _T_323; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46869.8]
  wire  _T_324; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46870.8]
  wire  _T_325; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46871.8]
  wire  _T_326; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46872.8]
  wire  _T_327; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46873.8]
  wire  _T_328; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46874.8]
  wire  _T_330; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46876.8]
  wire  _T_332; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46878.8]
  wire  _T_333; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46879.8]
  wire  _T_340; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46898.8]
  wire  _T_342; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46900.8]
  wire  _T_343; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46901.8]
  wire  _T_344; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46906.8]
  wire  _T_346; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46908.8]
  wire  _T_347; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46909.8]
  wire  _T_352; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46923.6]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46977.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46978.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46979.8]
  wire  _T_408; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46980.8]
  wire  _T_417; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46989.8]
  wire  _T_420; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46992.8]
  wire  _T_421; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46993.8]
  wire  _T_436; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47029.6]
  wire  _T_484; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47078.8]
  wire  _T_485; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47079.8]
  wire  _T_486; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47080.8]
  wire  _T_501; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47095.8]
  wire  _T_504; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47098.8]
  wire  _T_505; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47099.8]
  wire [3:0] _T_516; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47126.8]
  wire [3:0] _T_517; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47127.8]
  wire  _T_518; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47128.8]
  wire  _T_520; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47130.8]
  wire  _T_521; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47131.8]
  wire  _T_522; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47137.6]
  wire  _T_524; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47140.8]
  wire  _T_571; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47187.8]
  wire  _T_572; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47188.8]
  wire  _T_573; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47189.8]
  wire  _T_574; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47190.8]
  wire  _T_585; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47201.8]
  wire  _T_586; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47202.8]
  wire  _T_593; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@47221.8]
  wire  _T_595; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47223.8]
  wire  _T_596; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47224.8]
  wire  _T_601; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47238.6]
  wire  _T_672; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47322.8]
  wire  _T_674; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47324.8]
  wire  _T_675; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47325.8]
  wire  _T_680; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47339.6]
  wire  _T_743; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47403.8]
  wire  _T_744; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47404.8]
  wire  _T_759; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@47442.6]
  wire  _T_761; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47444.6]
  wire  _T_762; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47445.6]
  wire  _T_764; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@47451.6]
  wire  _T_773; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47456.6]
  wire  _T_775; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47458.6]
  wire  _T_777; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47461.8]
  wire  _T_778; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47462.8]
  wire  _T_779; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47467.8]
  wire  _T_781; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47469.8]
  wire  _T_782; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47470.8]
  wire  _T_783; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47475.8]
  wire  _T_785; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47477.8]
  wire  _T_786; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47478.8]
  wire  _T_787; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47483.8]
  wire  _T_789; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47485.8]
  wire  _T_790; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47486.8]
  wire  _T_791; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47491.8]
  wire  _T_793; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47493.8]
  wire  _T_794; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47494.8]
  wire  _T_795; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47500.6]
  wire  _T_806; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47524.8]
  wire  _T_808; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47526.8]
  wire  _T_809; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47527.8]
  wire  _T_810; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47532.8]
  wire  _T_812; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47534.8]
  wire  _T_813; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47535.8]
  wire  _T_823; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47558.6]
  wire  _T_843; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47599.8]
  wire  _T_845; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47601.8]
  wire  _T_846; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47602.8]
  wire  _T_852; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47617.6]
  wire  _T_869; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47652.6]
  wire  _T_887; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47688.6]
  wire  _T_916; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47748.4]
  wire [9:0] _T_921; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47753.4]
  wire  _T_922; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47754.4]
  wire  _T_923; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47755.4]
  reg [9:0] _T_926; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47757.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_927; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47758.4]
  wire [10:0] _T_928; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47759.4]
  wire [9:0] _T_929; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47760.4]
  wire  _T_930; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47761.4]
  reg [2:0] _T_939; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47772.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_941; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47773.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_943; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47774.4]
  reg [31:0] _RAND_3;
  reg  _T_945; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47775.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_947; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47776.4]
  reg [31:0] _RAND_5;
  wire  _T_948; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47777.4]
  wire  _T_949; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47778.4]
  wire  _T_950; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47780.6]
  wire  _T_952; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47782.6]
  wire  _T_953; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47783.6]
  wire  _T_954; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47788.6]
  wire  _T_956; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47790.6]
  wire  _T_957; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47791.6]
  wire  _T_958; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47796.6]
  wire  _T_960; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47798.6]
  wire  _T_961; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47799.6]
  wire  _T_962; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47804.6]
  wire  _T_964; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47806.6]
  wire  _T_965; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47807.6]
  wire  _T_966; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47812.6]
  wire  _T_968; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47814.6]
  wire  _T_969; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47815.6]
  wire  _T_971; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47822.4]
  wire  _T_972; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47830.4]
  wire [26:0] _T_974; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47832.4]
  wire [11:0] _T_975; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47833.4]
  wire [11:0] _T_976; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47834.4]
  wire [9:0] _T_977; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47835.4]
  wire  _T_978; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47836.4]
  reg [9:0] _T_981; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47838.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_982; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47839.4]
  wire [10:0] _T_983; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47840.4]
  wire [9:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47841.4]
  wire  _T_985; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47842.4]
  reg [2:0] _T_994; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47853.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_996; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47854.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_998; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47855.4]
  reg [31:0] _RAND_9;
  reg  _T_1000; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47856.4]
  reg [31:0] _RAND_10;
  reg  _T_1002; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47857.4]
  reg [31:0] _RAND_11;
  reg  _T_1004; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47858.4]
  reg [31:0] _RAND_12;
  wire  _T_1005; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47859.4]
  wire  _T_1006; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47860.4]
  wire  _T_1007; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47862.6]
  wire  _T_1009; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47864.6]
  wire  _T_1010; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47865.6]
  wire  _T_1011; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47870.6]
  wire  _T_1013; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47872.6]
  wire  _T_1014; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47873.6]
  wire  _T_1015; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47878.6]
  wire  _T_1017; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47880.6]
  wire  _T_1018; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47881.6]
  wire  _T_1019; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47886.6]
  wire  _T_1021; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47888.6]
  wire  _T_1022; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47889.6]
  wire  _T_1023; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47894.6]
  wire  _T_1025; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47896.6]
  wire  _T_1026; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47897.6]
  wire  _T_1027; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47902.6]
  wire  _T_1029; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47904.6]
  wire  _T_1030; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47905.6]
  wire  _T_1032; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47912.4]
  reg [1:0] _T_1034; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47921.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1045; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47931.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1046; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47932.4]
  wire [10:0] _T_1047; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47933.4]
  wire [9:0] _T_1048; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47934.4]
  wire  _T_1049; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47935.4]
  reg [9:0] _T_1066; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47954.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1067; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47955.4]
  wire [10:0] _T_1068; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47956.4]
  wire [9:0] _T_1069; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47957.4]
  wire  _T_1070; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47958.4]
  wire  _T_1081; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47973.4]
  wire [1:0] _T_1083; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47976.6]
  wire [1:0] _T_1084; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47978.6]
  wire  _T_1085; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47979.6]
  wire  _T_1086; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47980.6]
  wire  _T_1088; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47982.6]
  wire  _T_1089; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47983.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47975.4]
  wire  _T_1094; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47994.4]
  wire  _T_1096; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@47996.4]
  wire  _T_1097; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47997.4]
  wire [1:0] _T_1098; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47999.6]
  wire [1:0] _T_1099; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@48001.6]
  wire [1:0] _T_1100; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@48002.6]
  wire  _T_1101; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@48003.6]
  wire  _T_1103; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48005.6]
  wire  _T_1104; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48006.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@47998.4]
  wire  _T_1105; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48012.4]
  wire  _T_1106; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@48013.4]
  wire  _T_1107; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48014.4]
  wire  _T_1108; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48015.4]
  wire  _T_1110; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48017.4]
  wire  _T_1111; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48018.4]
  wire [1:0] _T_1112; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.4]
  wire [1:0] _T_1113; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48024.4]
  wire [1:0] _T_1114; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48025.4]
  reg [31:0] _T_1116; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48027.4]
  reg [31:0] _RAND_16;
  wire  _T_1117; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48030.4]
  wire  _T_1118; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48031.4]
  wire  _T_1119; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48032.4]
  wire  _T_1120; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48033.4]
  wire  _T_1121; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@48034.4]
  wire  _T_1122; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@48035.4]
  wire  _T_1124; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48037.4]
  wire  _T_1125; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48038.4]
  wire [31:0] _T_1127; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48044.4]
  wire  _T_1130; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48048.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46625.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46745.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46881.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46995.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47101.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47204.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47305.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47406.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47464.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47506.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47564.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47623.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47658.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47694.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@48028.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@46494.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46499.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@46501.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@46502.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46503.6]
  assign _GEN_18 = {{19'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@46505.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46508.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@46510.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@46511.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46512.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46513.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46514.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46516.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46517.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46519.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46520.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46521.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46522.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@46523.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46524.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46525.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46526.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46527.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46528.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46529.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46530.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46531.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46532.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46533.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@46534.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@46535.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@46536.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@46537.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@46538.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46563.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46566.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46567.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46568.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46569.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46570.8]
  assign _T_97 = io_in_a_bits_address ^ 31'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46571.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46572.8]
  assign _T_99 = $signed(_T_98) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46573.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46574.8]
  assign _T_101 = $signed(_T_100) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46575.8]
  assign _T_102 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46576.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46577.8]
  assign _T_104 = $signed(_T_103) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46578.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46579.8]
  assign _T_106 = $signed(_T_105) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46580.8]
  assign _T_107 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46581.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46582.8]
  assign _T_109 = $signed(_T_108) & $signed(-32'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46583.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46584.8]
  assign _T_111 = $signed(_T_110) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46585.8]
  assign _T_112 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46586.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46587.8]
  assign _T_114 = $signed(_T_113) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46588.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46589.8]
  assign _T_116 = $signed(_T_115) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46590.8]
  assign _T_117 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46591.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46592.8]
  assign _T_119 = $signed(_T_118) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46593.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46594.8]
  assign _T_121 = $signed(_T_120) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46595.8]
  assign _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46596.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46597.8]
  assign _T_124 = $signed(_T_123) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46598.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46599.8]
  assign _T_126 = $signed(_T_125) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46600.8]
  assign _T_127 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46601.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.8]
  assign _T_129 = $signed(_T_128) & $signed(-32'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46603.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46604.8]
  assign _T_131 = $signed(_T_130) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46605.8]
  assign _T_132 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@46606.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@46607.8]
  assign _T_134 = $signed(_T_133) & $signed(-32'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46608.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@46609.8]
  assign _T_136 = $signed(_T_135) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@46610.8]
  assign _T_137 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46611.8]
  assign _T_138 = _T_137 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46612.8]
  assign _T_139 = _T_138 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46613.8]
  assign _T_140 = _T_139 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46614.8]
  assign _T_149 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46623.8]
  assign _T_154 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46636.8]
  assign _T_155 = _T_154 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46637.8]
  assign _T_158 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46644.8]
  assign _T_159 = _T_158 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46645.8]
  assign _T_161 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46651.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46652.8]
  assign _T_163 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46657.8]
  assign _T_165 = _T_163 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46659.8]
  assign _T_166 = _T_165 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46660.8]
  assign _T_167 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46665.8]
  assign _T_168 = _T_167 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46666.8]
  assign _T_170 = _T_168 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46668.8]
  assign _T_171 = _T_170 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46669.8]
  assign _T_172 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46674.8]
  assign _T_174 = _T_172 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46676.8]
  assign _T_175 = _T_174 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46677.8]
  assign _T_176 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46683.6]
  assign _T_253 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46785.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46787.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46788.8]
  assign _T_266 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46811.6]
  assign _T_268 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46814.8]
  assign _T_276 = _T_268 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46822.8]
  assign _T_278 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46824.8]
  assign _T_321 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46867.8]
  assign _T_322 = _T_321 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46868.8]
  assign _T_323 = _T_322 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46869.8]
  assign _T_324 = _T_323 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46870.8]
  assign _T_325 = _T_324 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46871.8]
  assign _T_326 = _T_325 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46872.8]
  assign _T_327 = _T_326 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46873.8]
  assign _T_328 = _T_278 & _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46874.8]
  assign _T_330 = _T_276 | _T_328; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46876.8]
  assign _T_332 = _T_330 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46878.8]
  assign _T_333 = _T_332 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46879.8]
  assign _T_340 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46898.8]
  assign _T_342 = _T_340 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46900.8]
  assign _T_343 = _T_342 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46901.8]
  assign _T_344 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46906.8]
  assign _T_346 = _T_344 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46908.8]
  assign _T_347 = _T_346 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46909.8]
  assign _T_352 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46923.6]
  assign _T_405 = _T_323 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46977.8]
  assign _T_406 = _T_405 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46978.8]
  assign _T_407 = _T_406 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46979.8]
  assign _T_408 = _T_278 & _T_407; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46980.8]
  assign _T_417 = _T_276 | _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46989.8]
  assign _T_420 = _T_417 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46992.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46993.8]
  assign _T_436 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47029.6]
  assign _T_484 = _T_323 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47078.8]
  assign _T_485 = _T_484 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47079.8]
  assign _T_486 = _T_278 & _T_485; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47080.8]
  assign _T_501 = _T_276 | _T_486; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47095.8]
  assign _T_504 = _T_501 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47098.8]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47099.8]
  assign _T_516 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47126.8]
  assign _T_517 = io_in_a_bits_mask & _T_516; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47127.8]
  assign _T_518 = _T_517 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47128.8]
  assign _T_520 = _T_518 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47130.8]
  assign _T_521 = _T_520 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47131.8]
  assign _T_522 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47137.6]
  assign _T_524 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47140.8]
  assign _T_571 = _T_140 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47187.8]
  assign _T_572 = _T_571 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47188.8]
  assign _T_573 = _T_572 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47189.8]
  assign _T_574 = _T_524 & _T_573; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47190.8]
  assign _T_585 = _T_574 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47201.8]
  assign _T_586 = _T_585 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47202.8]
  assign _T_593 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@47221.8]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47223.8]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47224.8]
  assign _T_601 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47238.6]
  assign _T_672 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47322.8]
  assign _T_674 = _T_672 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47324.8]
  assign _T_675 = _T_674 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47325.8]
  assign _T_680 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47339.6]
  assign _T_743 = _T_276 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47403.8]
  assign _T_744 = _T_743 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47404.8]
  assign _T_759 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@47442.6]
  assign _T_761 = _T_759 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47444.6]
  assign _T_762 = _T_761 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47445.6]
  assign _T_764 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@47451.6]
  assign _T_773 = io_in_d_bits_source | _T_764; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47456.6]
  assign _T_775 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47458.6]
  assign _T_777 = _T_773 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47461.8]
  assign _T_778 = _T_777 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47462.8]
  assign _T_779 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47467.8]
  assign _T_781 = _T_779 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47469.8]
  assign _T_782 = _T_781 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47470.8]
  assign _T_783 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47475.8]
  assign _T_785 = _T_783 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47477.8]
  assign _T_786 = _T_785 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47478.8]
  assign _T_787 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47483.8]
  assign _T_789 = _T_787 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47485.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47486.8]
  assign _T_791 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47491.8]
  assign _T_793 = _T_791 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47493.8]
  assign _T_794 = _T_793 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47494.8]
  assign _T_795 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47500.6]
  assign _T_806 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47524.8]
  assign _T_808 = _T_806 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47526.8]
  assign _T_809 = _T_808 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47527.8]
  assign _T_810 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47532.8]
  assign _T_812 = _T_810 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47534.8]
  assign _T_813 = _T_812 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47535.8]
  assign _T_823 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47558.6]
  assign _T_843 = _T_791 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47599.8]
  assign _T_845 = _T_843 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47601.8]
  assign _T_846 = _T_845 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47602.8]
  assign _T_852 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47617.6]
  assign _T_869 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47652.6]
  assign _T_887 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47688.6]
  assign _T_916 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47748.4]
  assign _T_921 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47753.4]
  assign _T_922 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47754.4]
  assign _T_923 = _T_922 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47755.4]
  assign _T_927 = _T_926 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47758.4]
  assign _T_928 = $unsigned(_T_927); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47759.4]
  assign _T_929 = _T_928[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47760.4]
  assign _T_930 = _T_926 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47761.4]
  assign _T_948 = _T_930 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47777.4]
  assign _T_949 = io_in_a_valid & _T_948; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47778.4]
  assign _T_950 = io_in_a_bits_opcode == _T_939; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47780.6]
  assign _T_952 = _T_950 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47782.6]
  assign _T_953 = _T_952 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47783.6]
  assign _T_954 = io_in_a_bits_param == _T_941; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47788.6]
  assign _T_956 = _T_954 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47790.6]
  assign _T_957 = _T_956 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47791.6]
  assign _T_958 = io_in_a_bits_size == _T_943; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47796.6]
  assign _T_960 = _T_958 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47798.6]
  assign _T_961 = _T_960 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47799.6]
  assign _T_962 = io_in_a_bits_source == _T_945; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47804.6]
  assign _T_964 = _T_962 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47806.6]
  assign _T_965 = _T_964 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47807.6]
  assign _T_966 = io_in_a_bits_address == _T_947; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47812.6]
  assign _T_968 = _T_966 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47814.6]
  assign _T_969 = _T_968 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47815.6]
  assign _T_971 = _T_916 & _T_930; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47822.4]
  assign _T_972 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47830.4]
  assign _T_974 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47832.4]
  assign _T_975 = _T_974[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47833.4]
  assign _T_976 = ~ _T_975; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47834.4]
  assign _T_977 = _T_976[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47835.4]
  assign _T_978 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47836.4]
  assign _T_982 = _T_981 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47839.4]
  assign _T_983 = $unsigned(_T_982); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47840.4]
  assign _T_984 = _T_983[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47841.4]
  assign _T_985 = _T_981 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47842.4]
  assign _T_1005 = _T_985 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47859.4]
  assign _T_1006 = io_in_d_valid & _T_1005; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47860.4]
  assign _T_1007 = io_in_d_bits_opcode == _T_994; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47862.6]
  assign _T_1009 = _T_1007 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47864.6]
  assign _T_1010 = _T_1009 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47865.6]
  assign _T_1011 = io_in_d_bits_param == _T_996; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47870.6]
  assign _T_1013 = _T_1011 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47872.6]
  assign _T_1014 = _T_1013 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47873.6]
  assign _T_1015 = io_in_d_bits_size == _T_998; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47878.6]
  assign _T_1017 = _T_1015 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47880.6]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47881.6]
  assign _T_1019 = io_in_d_bits_source == _T_1000; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47886.6]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47888.6]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47889.6]
  assign _T_1023 = io_in_d_bits_sink == _T_1002; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47894.6]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47896.6]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47897.6]
  assign _T_1027 = io_in_d_bits_denied == _T_1004; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47902.6]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47904.6]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47905.6]
  assign _T_1032 = _T_972 & _T_985; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47912.4]
  assign _T_1046 = _T_1045 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47932.4]
  assign _T_1047 = $unsigned(_T_1046); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47933.4]
  assign _T_1048 = _T_1047[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47934.4]
  assign _T_1049 = _T_1045 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47935.4]
  assign _T_1067 = _T_1066 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47955.4]
  assign _T_1068 = $unsigned(_T_1067); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47956.4]
  assign _T_1069 = _T_1068[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47957.4]
  assign _T_1070 = _T_1066 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47958.4]
  assign _T_1081 = _T_916 & _T_1049; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47973.4]
  assign _T_1083 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47976.6]
  assign _T_1084 = _T_1034 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47978.6]
  assign _T_1085 = _T_1084[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47979.6]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47980.6]
  assign _T_1088 = _T_1086 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47982.6]
  assign _T_1089 = _T_1088 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47983.6]
  assign _GEN_15 = _T_1081 ? _T_1083 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47975.4]
  assign _T_1094 = _T_972 & _T_1070; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47994.4]
  assign _T_1096 = _T_775 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@47996.4]
  assign _T_1097 = _T_1094 & _T_1096; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47997.4]
  assign _T_1098 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47999.6]
  assign _T_1099 = _GEN_15 | _T_1034; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@48001.6]
  assign _T_1100 = _T_1099 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@48002.6]
  assign _T_1101 = _T_1100[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@48003.6]
  assign _T_1103 = _T_1101 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48005.6]
  assign _T_1104 = _T_1103 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48006.6]
  assign _GEN_16 = _T_1097 ? _T_1098 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@47998.4]
  assign _T_1105 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48012.4]
  assign _T_1106 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@48013.4]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48014.4]
  assign _T_1108 = _T_1105 | _T_1107; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48015.4]
  assign _T_1110 = _T_1108 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48017.4]
  assign _T_1111 = _T_1110 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48018.4]
  assign _T_1112 = _T_1034 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.4]
  assign _T_1113 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48024.4]
  assign _T_1114 = _T_1112 & _T_1113; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48025.4]
  assign _T_1117 = _T_1034 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48030.4]
  assign _T_1118 = _T_1117 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48031.4]
  assign _T_1119 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48032.4]
  assign _T_1120 = _T_1118 | _T_1119; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48033.4]
  assign _T_1121 = _T_1116 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@48034.4]
  assign _T_1122 = _T_1120 | _T_1121; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@48035.4]
  assign _T_1124 = _T_1122 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48037.4]
  assign _T_1125 = _T_1124 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48038.4]
  assign _T_1127 = _T_1116 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48044.4]
  assign _T_1130 = _T_916 | _T_972; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48048.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46625.10]
  assign _GEN_35 = io_in_a_valid & _T_176; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46745.10]
  assign _GEN_53 = io_in_a_valid & _T_266; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46881.10]
  assign _GEN_65 = io_in_a_valid & _T_352; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46995.10]
  assign _GEN_75 = io_in_a_valid & _T_436; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47101.10]
  assign _GEN_85 = io_in_a_valid & _T_522; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47204.10]
  assign _GEN_95 = io_in_a_valid & _T_601; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47305.10]
  assign _GEN_105 = io_in_a_valid & _T_680; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47406.10]
  assign _GEN_115 = io_in_d_valid & _T_775; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47464.10]
  assign _GEN_125 = io_in_d_valid & _T_795; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47506.10]
  assign _GEN_137 = io_in_d_valid & _T_823; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47564.10]
  assign _GEN_149 = io_in_d_valid & _T_852; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47623.10]
  assign _GEN_155 = io_in_d_valid & _T_869; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47658.10]
  assign _GEN_161 = io_in_d_valid & _T_887; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47694.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_926 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_939 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_941 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_943 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_945 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_947 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_981 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_994 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_996 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_998 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1000 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1002 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1004 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1034 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1045 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1066 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1116 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_926 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_930) begin
          if (_T_923) begin
            _T_926 <= _T_921;
          end else begin
            _T_926 <= 10'h0;
          end
        end else begin
          _T_926 <= _T_929;
        end
      end
    end
    if (_T_971) begin
      _T_939 <= io_in_a_bits_opcode;
    end
    if (_T_971) begin
      _T_941 <= io_in_a_bits_param;
    end
    if (_T_971) begin
      _T_943 <= io_in_a_bits_size;
    end
    if (_T_971) begin
      _T_945 <= io_in_a_bits_source;
    end
    if (_T_971) begin
      _T_947 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_981 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_985) begin
          if (_T_978) begin
            _T_981 <= _T_977;
          end else begin
            _T_981 <= 10'h0;
          end
        end else begin
          _T_981 <= _T_984;
        end
      end
    end
    if (_T_1032) begin
      _T_994 <= io_in_d_bits_opcode;
    end
    if (_T_1032) begin
      _T_996 <= io_in_d_bits_param;
    end
    if (_T_1032) begin
      _T_998 <= io_in_d_bits_size;
    end
    if (_T_1032) begin
      _T_1000 <= io_in_d_bits_source;
    end
    if (_T_1032) begin
      _T_1002 <= io_in_d_bits_sink;
    end
    if (_T_1032) begin
      _T_1004 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1034 <= 2'h0;
    end else begin
      _T_1034 <= _T_1114;
    end
    if (reset) begin
      _T_1045 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_1049) begin
          if (_T_923) begin
            _T_1045 <= _T_921;
          end else begin
            _T_1045 <= 10'h0;
          end
        end else begin
          _T_1045 <= _T_1048;
        end
      end
    end
    if (reset) begin
      _T_1066 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_1070) begin
          if (_T_978) begin
            _T_1066 <= _T_977;
          end else begin
            _T_1066 <= 10'h0;
          end
        end else begin
          _T_1066 <= _T_1069;
        end
      end
    end
    if (reset) begin
      _T_1116 <= 32'h0;
    end else begin
      if (_T_1130) begin
        _T_1116 <= 32'h0;
      end else begin
        _T_1116 <= _T_1127;
      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@46490.8]
        end
    `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@46491.8]
        end
    `ifdef STOP_COND
      end
    `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@46560.8]
        end
    `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@46561.8]
        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 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@46625.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46626.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 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@46632.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 50: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_19 & _T_155) 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@46639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_155) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_159) 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@46647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_159) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_162) 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@46654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_162) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_166) 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@46662.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_166) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_171) 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@46671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_171) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_175) 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@46679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_175) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46680.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 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@46745.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46746.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 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@46752.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_155) 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@46759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_155) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_159) 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@46767.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_159) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_162) 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@46774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_162) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_166) 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@46782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_166) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_256) 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@46790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_256) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_171) 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@46799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_171) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_175) 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@46807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_175) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46808.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_333) 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@46881.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_333) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_155) 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@46888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_155) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_162) 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@46895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_162) begin
          $fatal; // @[Monitor.scala 74: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 (_GEN_53 & _T_343) 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@46903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_343) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_347) 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@46911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_347) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_175) 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@46919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_175) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_421) 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@46995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_421) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_155) 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@47002.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_155) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47003.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_162) 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@47009.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_162) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47010.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_343) 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@47017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_343) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_347) 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@47025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_347) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_505) 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@47101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_505) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_155) 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@47108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_155) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_162) 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@47115.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_162) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_343) 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@47123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_343) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_521) 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@47133.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_521) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47134.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_586) 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@47204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_586) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_155) 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@47211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_155) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_162) 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@47218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_162) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_596) 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@47226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_596) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_347) 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@47234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_347) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_586) 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@47305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_586) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_155) 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@47312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_155) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_162) 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@47319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_162) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_675) 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@47327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_675) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_347) 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@47335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_347) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_744) 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@47406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_744) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_155) 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@47413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_155) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_162) 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@47420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_162) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_347) 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@47428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_347) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_175) 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@47436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_175) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47437.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_762) 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@47447.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_762) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47448.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_778) 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@47464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_778) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_782) 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@47472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_782) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_786) 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@47480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_786) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_790) 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@47488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_790) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_794) 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@47496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_794) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_778) 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@47506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_778) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_149) 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@47513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_149) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_782) 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@47521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_782) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_809) 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@47529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_809) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_813) 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@47537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_813) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_790) 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@47545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_790) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@47554.10]
        end
    `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@47555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_778) 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@47564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_778) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_149) 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@47571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_149) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_782) 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@47579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_782) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_809) 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@47587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_809) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_813) 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@47595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_813) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_846) 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@47604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_846) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@47613.10]
        end
    `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@47614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_778) 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@47623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_778) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_786) 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@47631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_786) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_790) 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@47639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_790) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@47648.10]
        end
    `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@47649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_778) 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@47658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_778) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_786) 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@47666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_786) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_846) 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@47675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_846) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@47684.10]
        end
    `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@47685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_778) 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@47694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_778) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_786) 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@47702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_786) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_790) 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@47710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_790) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@47719.10]
        end
    `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@47720.10]
        end
    `ifdef STOP_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@47729.6]
        end
    `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@47730.6]
        end
    `ifdef STOP_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@47737.6]
        end
    `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@47738.6]
        end
    `ifdef STOP_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@47745.6]
        end
    `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@47746.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_953) 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@47785.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_953) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47786.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_957) 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@47793.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_957) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47794.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_961) 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@47801.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_961) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47802.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_965) 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@47809.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_965) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47810.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_969) 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@47817.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_969) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47818.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1010) 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@47867.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1010) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47868.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1014) 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@47875.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1014) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47876.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1018) 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@47883.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1018) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47884.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1022) 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@47891.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1022) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47892.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1026) 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@47899.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1026) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47900.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1030) 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@47907.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1030) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47908.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_1089) 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@47985.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1081 & _T_1089) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47986.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1097 & _T_1104) 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@48008.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1097 & _T_1104) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48009.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1111) 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@48020.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1111) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48021.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125) 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@48040.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1125) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48041.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48053.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48054.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48055.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48056.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.4]
  TLMonitor_26 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48063.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@48103.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48103.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48102.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48065.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48066.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48099.4]
endmodule
module TLMonitor_27( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48236.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48237.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48238.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@49778.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@48255.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48260.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@48262.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@48263.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48264.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@48265.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@48265.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@48266.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48268.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48269.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@48271.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@48272.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48273.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48274.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48275.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48277.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48278.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48280.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48281.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48282.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48283.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48284.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48285.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48286.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48287.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48288.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48289.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48290.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48291.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48292.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48293.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48294.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48295.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48296.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@48297.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@48298.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@48299.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48324.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48327.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48328.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48329.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48330.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48331.8]
  wire [30:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48332.8]
  wire [31:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48333.8]
  wire [31:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48334.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48335.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48336.8]
  wire [30:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48337.8]
  wire [31:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48338.8]
  wire [31:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48339.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48340.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48341.8]
  wire [30:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48342.8]
  wire [31:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48343.8]
  wire [31:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48344.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48345.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48346.8]
  wire [30:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48347.8]
  wire [31:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48348.8]
  wire [31:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48349.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48350.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48351.8]
  wire [30:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48352.8]
  wire [31:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48353.8]
  wire [31:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48354.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48355.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48356.8]
  wire [30:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48357.8]
  wire [31:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48358.8]
  wire [31:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48359.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48360.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48361.8]
  wire [30:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48362.8]
  wire [31:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48363.8]
  wire [31:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48364.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48365.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48366.8]
  wire [30:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48367.8]
  wire [31:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48368.8]
  wire [31:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48369.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48370.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48371.8]
  wire  _T_149; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48384.8]
  wire  _T_154; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48397.8]
  wire  _T_155; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48398.8]
  wire  _T_158; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48405.8]
  wire  _T_159; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48406.8]
  wire  _T_161; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48412.8]
  wire  _T_162; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48413.8]
  wire  _T_163; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48418.8]
  wire  _T_165; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48420.8]
  wire  _T_166; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48421.8]
  wire [3:0] _T_167; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48426.8]
  wire  _T_168; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48427.8]
  wire  _T_170; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48429.8]
  wire  _T_171; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48430.8]
  wire  _T_172; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48435.8]
  wire  _T_174; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48437.8]
  wire  _T_175; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48438.8]
  wire  _T_176; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48444.6]
  wire  _T_253; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48546.8]
  wire  _T_255; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48548.8]
  wire  _T_256; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48549.8]
  wire  _T_266; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48572.6]
  wire  _T_268; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48575.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48583.8]
  wire  _T_278; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48585.8]
  wire  _T_321; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48628.8]
  wire  _T_322; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48629.8]
  wire  _T_323; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48630.8]
  wire  _T_324; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48631.8]
  wire  _T_325; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48632.8]
  wire  _T_326; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48633.8]
  wire  _T_327; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48634.8]
  wire  _T_328; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48635.8]
  wire  _T_330; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48637.8]
  wire  _T_332; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48639.8]
  wire  _T_333; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48640.8]
  wire  _T_340; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48659.8]
  wire  _T_342; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48661.8]
  wire  _T_343; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.8]
  wire  _T_344; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48667.8]
  wire  _T_346; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48669.8]
  wire  _T_347; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48670.8]
  wire  _T_352; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48684.6]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48738.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48739.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48740.8]
  wire  _T_408; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48741.8]
  wire  _T_417; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48750.8]
  wire  _T_420; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48753.8]
  wire  _T_421; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48754.8]
  wire  _T_436; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48790.6]
  wire  _T_484; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48839.8]
  wire  _T_485; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48840.8]
  wire  _T_486; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48841.8]
  wire  _T_501; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48856.8]
  wire  _T_504; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48859.8]
  wire  _T_505; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48860.8]
  wire [3:0] _T_516; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48887.8]
  wire [3:0] _T_517; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48888.8]
  wire  _T_518; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48889.8]
  wire  _T_520; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48891.8]
  wire  _T_521; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48892.8]
  wire  _T_522; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48898.6]
  wire  _T_524; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48901.8]
  wire  _T_532; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48909.8]
  wire  _T_585; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48962.8]
  wire  _T_586; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48963.8]
  wire  _T_593; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48982.8]
  wire  _T_595; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48984.8]
  wire  _T_596; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48985.8]
  wire  _T_601; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48999.6]
  wire  _T_672; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@49083.8]
  wire  _T_674; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49085.8]
  wire  _T_675; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49086.8]
  wire  _T_680; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49100.6]
  wire  _T_743; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49164.8]
  wire  _T_744; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49165.8]
  wire  _T_759; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@49203.6]
  wire  _T_761; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49205.6]
  wire  _T_762; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49206.6]
  wire  _T_764; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@49212.6]
  wire  _T_773; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49217.6]
  wire  _T_775; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49219.6]
  wire  _T_777; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49222.8]
  wire  _T_778; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49223.8]
  wire  _T_779; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49228.8]
  wire  _T_781; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49230.8]
  wire  _T_782; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49231.8]
  wire  _T_783; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49236.8]
  wire  _T_785; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49238.8]
  wire  _T_786; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49239.8]
  wire  _T_787; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@49244.8]
  wire  _T_789; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49246.8]
  wire  _T_790; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49247.8]
  wire  _T_791; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@49252.8]
  wire  _T_793; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49254.8]
  wire  _T_794; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49255.8]
  wire  _T_795; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49261.6]
  wire  _T_806; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49285.8]
  wire  _T_808; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49287.8]
  wire  _T_809; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49288.8]
  wire  _T_810; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49293.8]
  wire  _T_812; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49295.8]
  wire  _T_813; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49296.8]
  wire  _T_823; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49319.6]
  wire  _T_843; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@49360.8]
  wire  _T_845; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49362.8]
  wire  _T_846; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49363.8]
  wire  _T_852; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49378.6]
  wire  _T_869; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49413.6]
  wire  _T_887; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49449.6]
  wire  _T_916; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49509.4]
  wire [9:0] _T_921; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49514.4]
  wire  _T_922; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@49515.4]
  wire  _T_923; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49516.4]
  reg [9:0] _T_926; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49518.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_927; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49519.4]
  wire [10:0] _T_928; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49520.4]
  wire [9:0] _T_929; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49521.4]
  wire  _T_930; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49522.4]
  reg [2:0] _T_939; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49533.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_941; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49534.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_943; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49535.4]
  reg [31:0] _RAND_3;
  reg  _T_945; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49536.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_947; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49537.4]
  reg [31:0] _RAND_5;
  wire  _T_948; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49538.4]
  wire  _T_949; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49539.4]
  wire  _T_950; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49541.6]
  wire  _T_952; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49543.6]
  wire  _T_953; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49544.6]
  wire  _T_954; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49549.6]
  wire  _T_956; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49551.6]
  wire  _T_957; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49552.6]
  wire  _T_958; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49557.6]
  wire  _T_960; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49559.6]
  wire  _T_961; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49560.6]
  wire  _T_962; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49565.6]
  wire  _T_964; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49567.6]
  wire  _T_965; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49568.6]
  wire  _T_966; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49573.6]
  wire  _T_968; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49575.6]
  wire  _T_969; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49576.6]
  wire  _T_971; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@49583.4]
  wire  _T_972; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49591.4]
  wire [26:0] _T_974; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49593.4]
  wire [11:0] _T_975; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49594.4]
  wire [11:0] _T_976; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49595.4]
  wire [9:0] _T_977; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49596.4]
  wire  _T_978; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49597.4]
  reg [9:0] _T_981; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49599.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_982; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49600.4]
  wire [10:0] _T_983; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49601.4]
  wire [9:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49602.4]
  wire  _T_985; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49603.4]
  reg [2:0] _T_994; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49614.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_996; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49615.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_998; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49616.4]
  reg [31:0] _RAND_9;
  reg  _T_1000; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49617.4]
  reg [31:0] _RAND_10;
  reg  _T_1002; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49618.4]
  reg [31:0] _RAND_11;
  reg  _T_1004; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49619.4]
  reg [31:0] _RAND_12;
  wire  _T_1005; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49620.4]
  wire  _T_1006; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49621.4]
  wire  _T_1007; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49623.6]
  wire  _T_1009; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49625.6]
  wire  _T_1010; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49626.6]
  wire  _T_1011; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49631.6]
  wire  _T_1013; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49633.6]
  wire  _T_1014; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49634.6]
  wire  _T_1015; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49639.6]
  wire  _T_1017; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49641.6]
  wire  _T_1018; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49642.6]
  wire  _T_1019; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49647.6]
  wire  _T_1021; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49649.6]
  wire  _T_1022; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49650.6]
  wire  _T_1023; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49655.6]
  wire  _T_1025; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49657.6]
  wire  _T_1026; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49658.6]
  wire  _T_1027; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49663.6]
  wire  _T_1029; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49665.6]
  wire  _T_1030; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49666.6]
  wire  _T_1032; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@49673.4]
  reg [1:0] _T_1034; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49682.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1045; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49692.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1046; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49693.4]
  wire [10:0] _T_1047; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49694.4]
  wire [9:0] _T_1048; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49695.4]
  wire  _T_1049; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49696.4]
  reg [9:0] _T_1066; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49715.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1067; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49716.4]
  wire [10:0] _T_1068; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49717.4]
  wire [9:0] _T_1069; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49718.4]
  wire  _T_1070; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49719.4]
  wire  _T_1081; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49734.4]
  wire [1:0] _T_1083; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49737.6]
  wire [1:0] _T_1084; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49739.6]
  wire  _T_1085; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49740.6]
  wire  _T_1086; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49741.6]
  wire  _T_1088; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49743.6]
  wire  _T_1089; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49744.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49736.4]
  wire  _T_1094; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49755.4]
  wire  _T_1096; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@49757.4]
  wire  _T_1097; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49758.4]
  wire [1:0] _T_1098; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49760.6]
  wire [1:0] _T_1099; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@49762.6]
  wire [1:0] _T_1100; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49763.6]
  wire  _T_1101; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49764.6]
  wire  _T_1103; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49766.6]
  wire  _T_1104; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49767.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@49759.4]
  wire [1:0] _T_1105; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49773.4]
  wire [1:0] _T_1106; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@49774.4]
  wire [1:0] _T_1107; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49775.4]
  reg [31:0] _T_1109; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49777.4]
  reg [31:0] _RAND_16;
  wire  _T_1110; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49780.4]
  wire  _T_1111; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49781.4]
  wire  _T_1112; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49782.4]
  wire  _T_1113; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49783.4]
  wire  _T_1114; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@49784.4]
  wire  _T_1115; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@49785.4]
  wire  _T_1117; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49787.4]
  wire  _T_1118; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49788.4]
  wire [31:0] _T_1120; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49794.4]
  wire  _T_1123; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49798.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48386.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48506.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48642.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48756.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48862.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48965.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49066.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49167.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49225.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49267.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49325.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49384.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49419.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49455.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@49778.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@48255.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48260.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@48262.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@48263.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48264.6]
  assign _GEN_18 = {{19'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@48265.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@48265.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@48266.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48268.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48269.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@48271.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@48272.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48273.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48274.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48275.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48277.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48278.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48280.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48281.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48282.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48283.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48284.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48285.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48286.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48287.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48288.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48289.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48290.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48291.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48292.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48293.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48294.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@48295.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48296.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@48297.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@48298.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@48299.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48324.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48327.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48328.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48329.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48330.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48331.8]
  assign _T_97 = io_in_a_bits_address ^ 31'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48332.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48333.8]
  assign _T_99 = $signed(_T_98) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48334.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48335.8]
  assign _T_101 = $signed(_T_100) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48336.8]
  assign _T_102 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48337.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48338.8]
  assign _T_104 = $signed(_T_103) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48339.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48340.8]
  assign _T_106 = $signed(_T_105) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48341.8]
  assign _T_107 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48342.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48343.8]
  assign _T_109 = $signed(_T_108) & $signed(-32'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48344.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48345.8]
  assign _T_111 = $signed(_T_110) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48346.8]
  assign _T_112 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48347.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48348.8]
  assign _T_114 = $signed(_T_113) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48349.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48350.8]
  assign _T_116 = $signed(_T_115) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48351.8]
  assign _T_117 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48352.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48353.8]
  assign _T_119 = $signed(_T_118) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48354.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48355.8]
  assign _T_121 = $signed(_T_120) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48356.8]
  assign _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48357.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48358.8]
  assign _T_124 = $signed(_T_123) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48359.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48360.8]
  assign _T_126 = $signed(_T_125) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48361.8]
  assign _T_127 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48362.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48363.8]
  assign _T_129 = $signed(_T_128) & $signed(-32'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48364.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48365.8]
  assign _T_131 = $signed(_T_130) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48366.8]
  assign _T_132 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@48367.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@48368.8]
  assign _T_134 = $signed(_T_133) & $signed(-32'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48369.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@48370.8]
  assign _T_136 = $signed(_T_135) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@48371.8]
  assign _T_149 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48384.8]
  assign _T_154 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48397.8]
  assign _T_155 = _T_154 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48398.8]
  assign _T_158 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48405.8]
  assign _T_159 = _T_158 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48406.8]
  assign _T_161 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48412.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48413.8]
  assign _T_163 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48418.8]
  assign _T_165 = _T_163 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48420.8]
  assign _T_166 = _T_165 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48421.8]
  assign _T_167 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48426.8]
  assign _T_168 = _T_167 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48427.8]
  assign _T_170 = _T_168 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48429.8]
  assign _T_171 = _T_170 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48430.8]
  assign _T_172 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48435.8]
  assign _T_174 = _T_172 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48437.8]
  assign _T_175 = _T_174 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48438.8]
  assign _T_176 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48444.6]
  assign _T_253 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48546.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48548.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48549.8]
  assign _T_266 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48572.6]
  assign _T_268 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48575.8]
  assign _T_276 = _T_268 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48583.8]
  assign _T_278 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48585.8]
  assign _T_321 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48628.8]
  assign _T_322 = _T_321 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48629.8]
  assign _T_323 = _T_322 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48630.8]
  assign _T_324 = _T_323 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48631.8]
  assign _T_325 = _T_324 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48632.8]
  assign _T_326 = _T_325 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48633.8]
  assign _T_327 = _T_326 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48634.8]
  assign _T_328 = _T_278 & _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48635.8]
  assign _T_330 = _T_276 | _T_328; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48637.8]
  assign _T_332 = _T_330 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48639.8]
  assign _T_333 = _T_332 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48640.8]
  assign _T_340 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48659.8]
  assign _T_342 = _T_340 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48661.8]
  assign _T_343 = _T_342 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.8]
  assign _T_344 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48667.8]
  assign _T_346 = _T_344 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48669.8]
  assign _T_347 = _T_346 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48670.8]
  assign _T_352 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48684.6]
  assign _T_405 = _T_323 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48738.8]
  assign _T_406 = _T_405 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48739.8]
  assign _T_407 = _T_406 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48740.8]
  assign _T_408 = _T_278 & _T_407; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48741.8]
  assign _T_417 = _T_276 | _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48750.8]
  assign _T_420 = _T_417 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48753.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48754.8]
  assign _T_436 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48790.6]
  assign _T_484 = _T_323 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48839.8]
  assign _T_485 = _T_484 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48840.8]
  assign _T_486 = _T_278 & _T_485; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48841.8]
  assign _T_501 = _T_276 | _T_486; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48856.8]
  assign _T_504 = _T_501 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48859.8]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48860.8]
  assign _T_516 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48887.8]
  assign _T_517 = io_in_a_bits_mask & _T_516; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48888.8]
  assign _T_518 = _T_517 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48889.8]
  assign _T_520 = _T_518 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48891.8]
  assign _T_521 = _T_520 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48892.8]
  assign _T_522 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48898.6]
  assign _T_524 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48901.8]
  assign _T_532 = _T_524 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48909.8]
  assign _T_585 = _T_532 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48962.8]
  assign _T_586 = _T_585 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48963.8]
  assign _T_593 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48982.8]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48984.8]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48985.8]
  assign _T_601 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48999.6]
  assign _T_672 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@49083.8]
  assign _T_674 = _T_672 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49085.8]
  assign _T_675 = _T_674 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49086.8]
  assign _T_680 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49100.6]
  assign _T_743 = _T_276 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49164.8]
  assign _T_744 = _T_743 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49165.8]
  assign _T_759 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@49203.6]
  assign _T_761 = _T_759 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49205.6]
  assign _T_762 = _T_761 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49206.6]
  assign _T_764 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@49212.6]
  assign _T_773 = io_in_d_bits_source | _T_764; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49217.6]
  assign _T_775 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49219.6]
  assign _T_777 = _T_773 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49222.8]
  assign _T_778 = _T_777 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49223.8]
  assign _T_779 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49228.8]
  assign _T_781 = _T_779 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49230.8]
  assign _T_782 = _T_781 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49231.8]
  assign _T_783 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49236.8]
  assign _T_785 = _T_783 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49238.8]
  assign _T_786 = _T_785 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49239.8]
  assign _T_787 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@49244.8]
  assign _T_789 = _T_787 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49246.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49247.8]
  assign _T_791 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@49252.8]
  assign _T_793 = _T_791 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49254.8]
  assign _T_794 = _T_793 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49255.8]
  assign _T_795 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49261.6]
  assign _T_806 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49285.8]
  assign _T_808 = _T_806 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49287.8]
  assign _T_809 = _T_808 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49288.8]
  assign _T_810 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49293.8]
  assign _T_812 = _T_810 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49295.8]
  assign _T_813 = _T_812 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49296.8]
  assign _T_823 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49319.6]
  assign _T_843 = _T_791 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@49360.8]
  assign _T_845 = _T_843 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49362.8]
  assign _T_846 = _T_845 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49363.8]
  assign _T_852 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49378.6]
  assign _T_869 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49413.6]
  assign _T_887 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49449.6]
  assign _T_916 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49509.4]
  assign _T_921 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49514.4]
  assign _T_922 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@49515.4]
  assign _T_923 = _T_922 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49516.4]
  assign _T_927 = _T_926 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49519.4]
  assign _T_928 = $unsigned(_T_927); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49520.4]
  assign _T_929 = _T_928[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49521.4]
  assign _T_930 = _T_926 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49522.4]
  assign _T_948 = _T_930 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49538.4]
  assign _T_949 = io_in_a_valid & _T_948; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49539.4]
  assign _T_950 = io_in_a_bits_opcode == _T_939; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49541.6]
  assign _T_952 = _T_950 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49543.6]
  assign _T_953 = _T_952 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49544.6]
  assign _T_954 = io_in_a_bits_param == _T_941; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49549.6]
  assign _T_956 = _T_954 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49551.6]
  assign _T_957 = _T_956 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49552.6]
  assign _T_958 = io_in_a_bits_size == _T_943; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49557.6]
  assign _T_960 = _T_958 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49559.6]
  assign _T_961 = _T_960 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49560.6]
  assign _T_962 = io_in_a_bits_source == _T_945; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49565.6]
  assign _T_964 = _T_962 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49567.6]
  assign _T_965 = _T_964 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49568.6]
  assign _T_966 = io_in_a_bits_address == _T_947; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49573.6]
  assign _T_968 = _T_966 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49575.6]
  assign _T_969 = _T_968 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49576.6]
  assign _T_971 = _T_916 & _T_930; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@49583.4]
  assign _T_972 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49591.4]
  assign _T_974 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49593.4]
  assign _T_975 = _T_974[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49594.4]
  assign _T_976 = ~ _T_975; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49595.4]
  assign _T_977 = _T_976[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49596.4]
  assign _T_978 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49597.4]
  assign _T_982 = _T_981 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49600.4]
  assign _T_983 = $unsigned(_T_982); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49601.4]
  assign _T_984 = _T_983[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49602.4]
  assign _T_985 = _T_981 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49603.4]
  assign _T_1005 = _T_985 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@49620.4]
  assign _T_1006 = io_in_d_valid & _T_1005; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49621.4]
  assign _T_1007 = io_in_d_bits_opcode == _T_994; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49623.6]
  assign _T_1009 = _T_1007 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49625.6]
  assign _T_1010 = _T_1009 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49626.6]
  assign _T_1011 = io_in_d_bits_param == _T_996; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49631.6]
  assign _T_1013 = _T_1011 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49633.6]
  assign _T_1014 = _T_1013 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49634.6]
  assign _T_1015 = io_in_d_bits_size == _T_998; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49639.6]
  assign _T_1017 = _T_1015 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49641.6]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49642.6]
  assign _T_1019 = io_in_d_bits_source == _T_1000; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49647.6]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49649.6]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49650.6]
  assign _T_1023 = io_in_d_bits_sink == _T_1002; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49655.6]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49657.6]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49658.6]
  assign _T_1027 = io_in_d_bits_denied == _T_1004; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@49663.6]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49665.6]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49666.6]
  assign _T_1032 = _T_972 & _T_985; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@49673.4]
  assign _T_1046 = _T_1045 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49693.4]
  assign _T_1047 = $unsigned(_T_1046); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49694.4]
  assign _T_1048 = _T_1047[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49695.4]
  assign _T_1049 = _T_1045 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49696.4]
  assign _T_1067 = _T_1066 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49716.4]
  assign _T_1068 = $unsigned(_T_1067); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49717.4]
  assign _T_1069 = _T_1068[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@49718.4]
  assign _T_1070 = _T_1066 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49719.4]
  assign _T_1081 = _T_916 & _T_1049; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49734.4]
  assign _T_1083 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49737.6]
  assign _T_1084 = _T_1034 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49739.6]
  assign _T_1085 = _T_1084[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49740.6]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49741.6]
  assign _T_1088 = _T_1086 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49743.6]
  assign _T_1089 = _T_1088 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49744.6]
  assign _GEN_15 = _T_1081 ? _T_1083 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49736.4]
  assign _T_1094 = _T_972 & _T_1070; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49755.4]
  assign _T_1096 = _T_775 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@49757.4]
  assign _T_1097 = _T_1094 & _T_1096; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49758.4]
  assign _T_1098 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49760.6]
  assign _T_1099 = _GEN_15 | _T_1034; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@49762.6]
  assign _T_1100 = _T_1099 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49763.6]
  assign _T_1101 = _T_1100[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49764.6]
  assign _T_1103 = _T_1101 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49766.6]
  assign _T_1104 = _T_1103 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49767.6]
  assign _GEN_16 = _T_1097 ? _T_1098 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@49759.4]
  assign _T_1105 = _T_1034 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49773.4]
  assign _T_1106 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@49774.4]
  assign _T_1107 = _T_1105 & _T_1106; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49775.4]
  assign _T_1110 = _T_1034 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49780.4]
  assign _T_1111 = _T_1110 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49781.4]
  assign _T_1112 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49782.4]
  assign _T_1113 = _T_1111 | _T_1112; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49783.4]
  assign _T_1114 = _T_1109 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@49784.4]
  assign _T_1115 = _T_1113 | _T_1114; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@49785.4]
  assign _T_1117 = _T_1115 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49787.4]
  assign _T_1118 = _T_1117 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49788.4]
  assign _T_1120 = _T_1109 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49794.4]
  assign _T_1123 = _T_916 | _T_972; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49798.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48386.10]
  assign _GEN_35 = io_in_a_valid & _T_176; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48506.10]
  assign _GEN_53 = io_in_a_valid & _T_266; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48642.10]
  assign _GEN_65 = io_in_a_valid & _T_352; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48756.10]
  assign _GEN_75 = io_in_a_valid & _T_436; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48862.10]
  assign _GEN_85 = io_in_a_valid & _T_522; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48965.10]
  assign _GEN_95 = io_in_a_valid & _T_601; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49066.10]
  assign _GEN_105 = io_in_a_valid & _T_680; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49167.10]
  assign _GEN_115 = io_in_d_valid & _T_775; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49225.10]
  assign _GEN_125 = io_in_d_valid & _T_795; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49267.10]
  assign _GEN_137 = io_in_d_valid & _T_823; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49325.10]
  assign _GEN_149 = io_in_d_valid & _T_852; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49384.10]
  assign _GEN_155 = io_in_d_valid & _T_869; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49419.10]
  assign _GEN_161 = io_in_d_valid & _T_887; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49455.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_926 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_939 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_941 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_943 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_945 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_947 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_981 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_994 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_996 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_998 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1000 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1002 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1004 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1034 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1045 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1066 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1109 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_926 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_930) begin
          if (_T_923) begin
            _T_926 <= _T_921;
          end else begin
            _T_926 <= 10'h0;
          end
        end else begin
          _T_926 <= _T_929;
        end
      end
    end
    if (_T_971) begin
      _T_939 <= io_in_a_bits_opcode;
    end
    if (_T_971) begin
      _T_941 <= io_in_a_bits_param;
    end
    if (_T_971) begin
      _T_943 <= io_in_a_bits_size;
    end
    if (_T_971) begin
      _T_945 <= io_in_a_bits_source;
    end
    if (_T_971) begin
      _T_947 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_981 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_985) begin
          if (_T_978) begin
            _T_981 <= _T_977;
          end else begin
            _T_981 <= 10'h0;
          end
        end else begin
          _T_981 <= _T_984;
        end
      end
    end
    if (_T_1032) begin
      _T_994 <= io_in_d_bits_opcode;
    end
    if (_T_1032) begin
      _T_996 <= io_in_d_bits_param;
    end
    if (_T_1032) begin
      _T_998 <= io_in_d_bits_size;
    end
    if (_T_1032) begin
      _T_1000 <= io_in_d_bits_source;
    end
    if (_T_1032) begin
      _T_1002 <= io_in_d_bits_sink;
    end
    if (_T_1032) begin
      _T_1004 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1034 <= 2'h0;
    end else begin
      _T_1034 <= _T_1107;
    end
    if (reset) begin
      _T_1045 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_1049) begin
          if (_T_923) begin
            _T_1045 <= _T_921;
          end else begin
            _T_1045 <= 10'h0;
          end
        end else begin
          _T_1045 <= _T_1048;
        end
      end
    end
    if (reset) begin
      _T_1066 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_1070) begin
          if (_T_978) begin
            _T_1066 <= _T_977;
          end else begin
            _T_1066 <= 10'h0;
          end
        end else begin
          _T_1066 <= _T_1069;
        end
      end
    end
    if (reset) begin
      _T_1109 <= 32'h0;
    end else begin
      if (_T_1123) begin
        _T_1109 <= 32'h0;
      end else begin
        _T_1109 <= _T_1120;
      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@48251.8]
        end
    `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@48252.8]
        end
    `ifdef STOP_COND
      end
    `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@48321.8]
        end
    `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@48322.8]
        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 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@48386.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48387.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 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@48393.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_155) 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@48400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_155) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_159) 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@48408.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_159) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48409.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_162) 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@48415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_162) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_166) 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@48423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_166) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_171) 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@48432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_171) begin
          $fatal; // @[Monitor.scala 55: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_19 & _T_175) 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@48440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_175) begin
          $fatal; // @[Monitor.scala 56: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 (_GEN_35 & _T_149) 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@48506.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48507.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 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@48513.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_155) 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@48520.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_155) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48521.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_159) 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@48528.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_159) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48529.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_162) 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@48535.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_162) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_166) 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@48543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_166) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_256) 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@48551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_256) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_171) 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@48560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_171) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_175) 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@48568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_175) begin
          $fatal; // @[Monitor.scala 68: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_53 & _T_333) 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@48642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_333) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_155) 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@48649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_155) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_162) 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@48656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_162) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_343) 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@48664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_343) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_347) 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@48672.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_347) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_175) 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@48680.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_175) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_421) 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@48756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_421) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_155) 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@48763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_155) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_162) 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@48770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_162) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_343) 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@48778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_343) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_347) 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@48786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_347) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_505) 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@48862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_505) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_155) 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@48869.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_155) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_162) 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@48876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_162) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_343) 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@48884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_343) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_521) 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@48894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_521) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_586) 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@48965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_586) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_155) 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@48972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_155) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_162) 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@48979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_162) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_596) 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@48987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_596) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_347) 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@48995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_347) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_586) 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@49066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_586) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_155) 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@49073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_155) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_162) 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@49080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_162) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_675) 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@49088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_675) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_347) 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@49096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_347) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_744) 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@49167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_744) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_155) 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@49174.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_155) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49175.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_162) 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@49181.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_162) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_347) 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@49189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_347) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_175) 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@49197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_175) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49198.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_762) 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@49208.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_762) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49209.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_778) 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@49225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_778) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_782) 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@49233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_782) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_786) 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@49241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_786) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_790) 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@49249.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_790) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49250.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_794) 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@49257.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_794) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_778) 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@49267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_778) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_149) 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@49274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_149) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_782) 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@49282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_782) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_809) 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@49290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_809) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_813) 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@49298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_813) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_790) 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@49306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_790) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@49315.10]
        end
    `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@49316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_778) 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@49325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_778) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_149) 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@49332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_149) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_782) 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@49340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_782) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_809) 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@49348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_809) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_813) 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@49356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_813) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49357.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_846) 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@49365.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_846) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49366.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@49374.10]
        end
    `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@49375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_778) 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@49384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_778) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_786) 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@49392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_786) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_790) 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@49400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_790) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@49409.10]
        end
    `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@49410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_778) 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@49419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_778) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_786) 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@49427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_786) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_846) 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@49436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_846) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@49445.10]
        end
    `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@49446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_778) 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@49455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_778) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_786) 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@49463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_786) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_790) 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@49471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_790) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@49480.10]
        end
    `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@49481.10]
        end
    `ifdef STOP_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@49490.6]
        end
    `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@49491.6]
        end
    `ifdef STOP_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@49498.6]
        end
    `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@49499.6]
        end
    `ifdef STOP_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@49506.6]
        end
    `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@49507.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_953) 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@49546.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_953) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49547.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_957) 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@49554.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_957) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49555.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_961) 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@49562.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_961) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49563.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_965) 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@49570.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_965) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49571.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_969) 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@49578.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_969) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49579.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1010) 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@49628.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1010) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49629.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1014) 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@49636.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1014) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49637.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1018) 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@49644.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1018) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49645.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1022) 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@49652.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1022) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49653.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1026) 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@49660.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1026) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49661.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1030) 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@49668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1030) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_1089) 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@49746.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1081 & _T_1089) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49747.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1097 & _T_1104) 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@49769.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1097 & _T_1104) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49770.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1118) 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@49790.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1118) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49791.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49803.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49804.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49805.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_13_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_13_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_13_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_13_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_13_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_13_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_13_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_13_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_13_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_13_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_13_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_13_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_13_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_13_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_13_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_13_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_12_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_12_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_12_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_12_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_12_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_12_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_12_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_12_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_12_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_12_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_12_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_12_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_12_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_12_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_12_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_12_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_11_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_11_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_11_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_11_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_11_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_11_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_11_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_11_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_11_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_11_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_11_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_11_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_11_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_11_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_11_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_11_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_10_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_10_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_10_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_10_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_10_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_10_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_10_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_10_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_10_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_10_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_10_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_10_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_10_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_10_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_10_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_10_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_9_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_9_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_9_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_9_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_9_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_9_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [30:0] auto_out_9_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_9_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_9_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_9_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_9_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_9_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_9_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_9_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_9_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_9_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_9_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_8_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_8_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_8_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_8_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_8_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_8_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_8_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_8_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_8_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_8_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_8_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_8_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_8_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_8_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_8_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_8_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_7_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_7_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_7_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_7_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_7_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_7_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [29:0] auto_out_7_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_7_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_7_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_7_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_7_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_7_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_7_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_7_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_7_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_6_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_6_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_6_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_6_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_6_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_6_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_6_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_6_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_6_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_6_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_6_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_6_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_6_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_6_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_6_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_6_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_5_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_5_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_5_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_5_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_5_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_5_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_5_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_5_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_5_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_5_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_5_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_5_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_5_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_5_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_5_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_5_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_4_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_4_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_4_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_4_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_4_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_4_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_4_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_4_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_4_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_4_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_4_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_4_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_4_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_4_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_4_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_4_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_3_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_3_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_3_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_3_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_3_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_3_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_3_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_3_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_3_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_3_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_3_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_3_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_3_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_3_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_3_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_3_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_2_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_2_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_2_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_2_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_2_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_2_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_2_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_2_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_2_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_2_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_2_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_2_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_2_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_2_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_2_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_2_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [28:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_1_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [13:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input  [3:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  reg [9:0] _T_4093; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51169.4]
  reg [31:0] _RAND_0;
  wire  _T_4094; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51170.4]
  wire [1:0] _T_4105; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51181.4]
  wire [1:0] _T_4104; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51180.4]
  wire [3:0] _T_4106; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51182.4]
  wire [1:0] _T_4102; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51178.4]
  wire [2:0] _T_4103; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51179.4]
  wire [6:0] _T_4107; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51183.4]
  wire [1:0] _T_4099; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51175.4]
  wire [1:0] _T_4098; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51174.4]
  wire [3:0] _T_4100; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51176.4]
  wire [1:0] _T_4096; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51172.4]
  wire [2:0] _T_4097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51173.4]
  wire [6:0] _T_4101; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51177.4]
  wire [13:0] _T_4108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51184.4]
  reg [13:0] _T_4116; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.4]
  reg [31:0] _RAND_1;
  wire [13:0] _T_4117; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51196.4]
  wire [13:0] _T_4118; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51197.4]
  wire [27:0] _T_4119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51198.4]
  wire [26:0] _T_4120; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51199.4]
  wire [27:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51200.4]
  wire [27:0] _T_4121; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51200.4]
  wire [25:0] _T_4122; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51201.4]
  wire [27:0] _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51202.4]
  wire [27:0] _T_4123; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51202.4]
  wire [23:0] _T_4124; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51203.4]
  wire [27:0] _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51204.4]
  wire [27:0] _T_4125; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51204.4]
  wire [19:0] _T_4126; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51205.4]
  wire [27:0] _GEN_4; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51206.4]
  wire [27:0] _T_4127; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51206.4]
  wire [26:0] _T_4129; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51208.4]
  wire [27:0] _GEN_5; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@51209.4]
  wire [27:0] _T_4130; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@51209.4]
  wire [27:0] _GEN_6; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51210.4]
  wire [27:0] _T_4131; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51210.4]
  wire [13:0] _T_4132; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51211.4]
  wire [13:0] _T_4133; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51212.4]
  wire [13:0] _T_4134; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@51213.4]
  wire [13:0] _T_4135; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@51214.4]
  wire  _T_4153; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51235.4]
  wire  _T_4187; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51265.4]
  reg  _T_4408_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_2;
  wire  _T_4455_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51535.4]
  wire [4:0] _T_4581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51534.4]
  wire [9:0] _T_4583; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51536.4]
  wire [32:0] _T_4578; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51531.4]
  wire [34:0] _T_4580; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51533.4]
  wire [44:0] _T_4584; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51537.4]
  wire [44:0] _T_4585; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51538.4]
  wire  _T_4154; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51236.4]
  wire  _T_4188; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51266.4]
  reg  _T_4408_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_3;
  wire  _T_4455_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4590; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51543.4]
  wire [3:0] out_1_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49924.4]
  wire [4:0] _T_4589; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51542.4]
  wire [9:0] _T_4591; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51544.4]
  wire [32:0] _T_4586; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51539.4]
  wire [34:0] _T_4588; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51541.4]
  wire [44:0] _T_4592; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51545.4]
  wire [44:0] _T_4593; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51546.4]
  wire [44:0] _T_4690; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51643.4]
  wire  _T_4155; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51237.4]
  wire  _T_4189; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51267.4]
  reg  _T_4408_2; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_4;
  wire  _T_4455_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4598; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51551.4]
  wire [3:0] out_2_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49934.4]
  wire [4:0] _T_4597; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51550.4]
  wire [9:0] _T_4599; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51552.4]
  wire [32:0] _T_4594; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51547.4]
  wire [34:0] _T_4596; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51549.4]
  wire [44:0] _T_4600; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51553.4]
  wire [44:0] _T_4601; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51554.4]
  wire [44:0] _T_4691; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51644.4]
  wire  _T_4156; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51238.4]
  wire  _T_4190; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51268.4]
  reg  _T_4408_3; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_5;
  wire  _T_4455_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4606; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51559.4]
  wire [3:0] out_3_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49944.4]
  wire [4:0] _T_4605; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51558.4]
  wire [9:0] _T_4607; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51560.4]
  wire [32:0] _T_4602; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51555.4]
  wire [34:0] _T_4604; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51557.4]
  wire [44:0] _T_4608; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51561.4]
  wire [44:0] _T_4609; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51562.4]
  wire [44:0] _T_4692; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51645.4]
  wire  _T_4157; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51239.4]
  wire  _T_4191; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51269.4]
  reg  _T_4408_4; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_6;
  wire  _T_4455_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4614; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51567.4]
  wire [3:0] out_4_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49954.4]
  wire [4:0] _T_4613; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51566.4]
  wire [9:0] _T_4615; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51568.4]
  wire [32:0] _T_4610; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51563.4]
  wire [34:0] _T_4612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51565.4]
  wire [44:0] _T_4616; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51569.4]
  wire [44:0] _T_4617; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51570.4]
  wire [44:0] _T_4693; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51646.4]
  wire  _T_4158; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51240.4]
  wire  _T_4192; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51270.4]
  reg  _T_4408_5; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_7;
  wire  _T_4455_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51575.4]
  wire [3:0] out_5_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49964.4]
  wire [4:0] _T_4621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51574.4]
  wire [9:0] _T_4623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51576.4]
  wire [32:0] _T_4618; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51571.4]
  wire [34:0] _T_4620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51573.4]
  wire [44:0] _T_4624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51577.4]
  wire [44:0] _T_4625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51578.4]
  wire [44:0] _T_4694; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51647.4]
  wire  _T_4159; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51241.4]
  wire  _T_4193; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51271.4]
  reg  _T_4408_6; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_8;
  wire  _T_4455_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51583.4]
  wire [3:0] out_6_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49974.4]
  wire [4:0] _T_4629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51582.4]
  wire [9:0] _T_4631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51584.4]
  wire [32:0] _T_4626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51579.4]
  wire [34:0] _T_4628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51581.4]
  wire [44:0] _T_4632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51585.4]
  wire [44:0] _T_4633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51586.4]
  wire [44:0] _T_4695; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51648.4]
  wire  _T_4160; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51242.4]
  wire  _T_4194; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51272.4]
  reg  _T_4408_7; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_9;
  wire  _T_4455_7; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [3:0] out_7_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49984.4]
  wire [4:0] _T_4637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51590.4]
  wire [9:0] _T_4639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51592.4]
  wire [32:0] _T_4634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51587.4]
  wire [34:0] _T_4636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51589.4]
  wire [44:0] _T_4640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51593.4]
  wire [44:0] _T_4641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51594.4]
  wire [44:0] _T_4696; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51649.4]
  wire  _T_4161; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51243.4]
  wire  _T_4195; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51273.4]
  reg  _T_4408_8; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_10;
  wire  _T_4455_8; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51599.4]
  wire [3:0] out_8_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49994.4]
  wire [4:0] _T_4645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51598.4]
  wire [9:0] _T_4647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51600.4]
  wire [32:0] _T_4642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.4]
  wire [34:0] _T_4644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51597.4]
  wire [44:0] _T_4648; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51601.4]
  wire [44:0] _T_4649; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51602.4]
  wire [44:0] _T_4697; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51650.4]
  wire  _T_4162; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51244.4]
  wire  _T_4196; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51274.4]
  reg  _T_4408_9; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_11;
  wire  _T_4455_9; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4654; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51607.4]
  wire [3:0] out_9_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50004.4]
  wire [4:0] _T_4653; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51606.4]
  wire [9:0] _T_4655; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51608.4]
  wire [32:0] _T_4650; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51603.4]
  wire [34:0] _T_4652; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51605.4]
  wire [44:0] _T_4656; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51609.4]
  wire [44:0] _T_4657; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51610.4]
  wire [44:0] _T_4698; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51651.4]
  wire  _T_4163; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51245.4]
  wire  _T_4197; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51275.4]
  reg  _T_4408_10; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_12;
  wire  _T_4455_10; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51615.4]
  wire [3:0] out_10_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50014.4]
  wire [4:0] _T_4661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51614.4]
  wire [9:0] _T_4663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51616.4]
  wire [32:0] _T_4658; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51611.4]
  wire [34:0] _T_4660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51613.4]
  wire [44:0] _T_4664; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51617.4]
  wire [44:0] _T_4665; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51618.4]
  wire [44:0] _T_4699; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51652.4]
  wire  _T_4164; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51246.4]
  wire  _T_4198; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51276.4]
  reg  _T_4408_11; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_13;
  wire  _T_4455_11; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51623.4]
  wire [3:0] out_11_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50024.4]
  wire [4:0] _T_4669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51622.4]
  wire [9:0] _T_4671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51624.4]
  wire [32:0] _T_4666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51619.4]
  wire [34:0] _T_4668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51621.4]
  wire [44:0] _T_4672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51625.4]
  wire [44:0] _T_4673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51626.4]
  wire [44:0] _T_4700; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51653.4]
  wire  _T_4165; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51247.4]
  wire  _T_4199; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51277.4]
  reg  _T_4408_12; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_14;
  wire  _T_4455_12; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4678; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51631.4]
  wire [3:0] out_12_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50034.4]
  wire [4:0] _T_4677; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51630.4]
  wire [9:0] _T_4679; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51632.4]
  wire [32:0] _T_4674; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51627.4]
  wire [34:0] _T_4676; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51629.4]
  wire [44:0] _T_4680; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51633.4]
  wire [44:0] _T_4681; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51634.4]
  wire [44:0] _T_4701; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51654.4]
  wire  _T_4166; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51248.4]
  wire  _T_4200; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51278.4]
  reg  _T_4408_13; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51455.4]
  reg [31:0] _RAND_15;
  wire  _T_4455_13; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  wire [4:0] _T_4686; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51639.4]
  wire [3:0] out_13_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50044.4]
  wire [4:0] _T_4685; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51638.4]
  wire [9:0] _T_4687; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51640.4]
  wire [32:0] _T_4682; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51635.4]
  wire [34:0] _T_4684; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51637.4]
  wire [44:0] _T_4688; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51641.4]
  wire [44:0] _T_4689; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51642.4]
  wire [44:0] _T_4702; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51655.4]
  wire [30:0] _T_2500; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50049.4]
  wire [31:0] _T_2501; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50050.4]
  wire [31:0] _T_2502; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50051.4]
  wire [31:0] _T_2503; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50052.4]
  wire  requestAIO_0_0; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50053.4]
  wire [30:0] _T_2505; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50055.4]
  wire [31:0] _T_2506; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50056.4]
  wire [31:0] _T_2507; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50057.4]
  wire [31:0] _T_2508; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50058.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50059.4]
  wire [30:0] _T_2510; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50061.4]
  wire [31:0] _T_2511; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50062.4]
  wire [31:0] _T_2512; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50063.4]
  wire [31:0] _T_2513; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50064.4]
  wire  requestAIO_0_2; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50065.4]
  wire [30:0] _T_2515; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50067.4]
  wire [31:0] _T_2516; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50068.4]
  wire [31:0] _T_2517; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50069.4]
  wire [31:0] _T_2518; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50070.4]
  wire  requestAIO_0_3; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50071.4]
  wire [30:0] _T_2520; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50073.4]
  wire [31:0] _T_2521; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50074.4]
  wire [31:0] _T_2522; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50075.4]
  wire [31:0] _T_2523; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50076.4]
  wire  requestAIO_0_4; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50077.4]
  wire [30:0] _T_2525; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50079.4]
  wire [31:0] _T_2526; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50080.4]
  wire [31:0] _T_2527; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50081.4]
  wire [31:0] _T_2528; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50082.4]
  wire  requestAIO_0_5; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50083.4]
  wire [30:0] _T_2530; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50085.4]
  wire [31:0] _T_2531; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50086.4]
  wire [31:0] _T_2532; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50087.4]
  wire [31:0] _T_2533; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50088.4]
  wire  requestAIO_0_6; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50089.4]
  wire [30:0] _T_2535; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50091.4]
  wire [31:0] _T_2536; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50092.4]
  wire [31:0] _T_2537; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50093.4]
  wire [31:0] _T_2538; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50094.4]
  wire  requestAIO_0_7; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50095.4]
  wire [30:0] _T_2540; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50097.4]
  wire [31:0] _T_2541; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50098.4]
  wire [31:0] _T_2542; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50099.4]
  wire [31:0] _T_2543; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50100.4]
  wire  requestAIO_0_8; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50101.4]
  wire [30:0] _T_2545; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50103.4]
  wire [31:0] _T_2546; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50104.4]
  wire [31:0] _T_2547; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50105.4]
  wire [31:0] _T_2548; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50106.4]
  wire  requestAIO_0_9; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50107.4]
  wire [30:0] _T_2550; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50109.4]
  wire [31:0] _T_2551; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50110.4]
  wire [31:0] _T_2552; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50111.4]
  wire [31:0] _T_2553; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50112.4]
  wire  requestAIO_0_10; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50113.4]
  wire [30:0] _T_2555; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50115.4]
  wire [31:0] _T_2556; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50116.4]
  wire [31:0] _T_2557; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50117.4]
  wire [31:0] _T_2558; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50118.4]
  wire  requestAIO_0_11; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50119.4]
  wire [30:0] _T_2560; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50121.4]
  wire [31:0] _T_2561; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50122.4]
  wire [31:0] _T_2562; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50123.4]
  wire [31:0] _T_2563; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50124.4]
  wire  requestAIO_0_12; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50125.4]
  wire [30:0] _T_2565; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50127.4]
  wire [31:0] _T_2566; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50128.4]
  wire [31:0] _T_2567; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50129.4]
  wire [31:0] _T_2568; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50130.4]
  wire  requestAIO_0_13; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50131.4]
  wire [26:0] _T_2948; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
  wire [11:0] _T_2949; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
  wire [11:0] _T_2950; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50571.4]
  wire [9:0] _T_2951; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
  wire  _T_2952; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50573.4]
  wire [9:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50574.4]
  wire [20:0] _T_2954; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50576.4]
  wire [5:0] _T_2955; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50577.4]
  wire [5:0] _T_2956; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50578.4]
  wire [3:0] _T_2957; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50579.4]
  wire  _T_2958; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50580.4]
  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50581.4]
  wire [20:0] _T_2960; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50583.4]
  wire [5:0] _T_2961; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50584.4]
  wire [5:0] _T_2962; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50585.4]
  wire [3:0] _T_2963; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50586.4]
  wire  _T_2964; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50587.4]
  wire [3:0] beatsDO_2; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50588.4]
  wire [20:0] _T_2966; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50590.4]
  wire [5:0] _T_2967; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50591.4]
  wire [5:0] _T_2968; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  wire [3:0] _T_2969; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire  _T_2970; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50594.4]
  wire [3:0] beatsDO_3; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire [20:0] _T_2972; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50597.4]
  wire [5:0] _T_2973; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50598.4]
  wire [5:0] _T_2974; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50599.4]
  wire [3:0] _T_2975; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50600.4]
  wire  _T_2976; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50601.4]
  wire [3:0] beatsDO_4; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50602.4]
  wire [20:0] _T_2978; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50604.4]
  wire [5:0] _T_2979; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50605.4]
  wire [5:0] _T_2980; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50606.4]
  wire [3:0] _T_2981; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50607.4]
  wire  _T_2982; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50608.4]
  wire [3:0] beatsDO_5; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50609.4]
  wire [20:0] _T_2984; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50611.4]
  wire [5:0] _T_2985; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50612.4]
  wire [5:0] _T_2986; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50613.4]
  wire [3:0] _T_2987; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50614.4]
  wire  _T_2988; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50615.4]
  wire [3:0] beatsDO_6; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50616.4]
  wire [20:0] _T_2990; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50618.4]
  wire [5:0] _T_2991; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50619.4]
  wire [5:0] _T_2992; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50620.4]
  wire [3:0] beatsDO_7; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50621.4]
  wire [20:0] _T_2996; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50625.4]
  wire [5:0] _T_2997; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50626.4]
  wire [5:0] _T_2998; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50627.4]
  wire [3:0] _T_2999; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50628.4]
  wire  _T_3000; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50629.4]
  wire [3:0] beatsDO_8; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50630.4]
  wire [20:0] _T_3002; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50632.4]
  wire [5:0] _T_3003; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50633.4]
  wire [5:0] _T_3004; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50634.4]
  wire [3:0] _T_3005; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50635.4]
  wire  _T_3006; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50636.4]
  wire [3:0] beatsDO_9; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50637.4]
  wire [20:0] _T_3008; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50639.4]
  wire [5:0] _T_3009; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50640.4]
  wire [5:0] _T_3010; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50641.4]
  wire [3:0] _T_3011; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50642.4]
  wire  _T_3012; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50643.4]
  wire [3:0] beatsDO_10; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50644.4]
  wire [20:0] _T_3014; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50646.4]
  wire [5:0] _T_3015; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50647.4]
  wire [5:0] _T_3016; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50648.4]
  wire [3:0] _T_3017; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50649.4]
  wire  _T_3018; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50650.4]
  wire [3:0] beatsDO_11; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50651.4]
  wire [20:0] _T_3020; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50653.4]
  wire [5:0] _T_3021; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50654.4]
  wire [5:0] _T_3022; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50655.4]
  wire [3:0] _T_3023; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50656.4]
  wire  _T_3024; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50657.4]
  wire [3:0] beatsDO_12; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50658.4]
  wire [20:0] _T_3026; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50660.4]
  wire [5:0] _T_3027; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50661.4]
  wire [5:0] _T_3028; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50662.4]
  wire [3:0] _T_3029; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50663.4]
  wire  _T_3030; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50664.4]
  wire [3:0] beatsDO_13; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50665.4]
  wire  _T_3169; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50724.4]
  wire  _T_3170; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50725.4]
  wire  _T_3171; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50726.4]
  wire  _T_3172; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50727.4]
  wire  _T_3173; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50728.4]
  wire  _T_3174; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50729.4]
  wire  _T_3175; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50730.4]
  wire  _T_3176; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50731.4]
  wire  _T_3177; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50732.4]
  wire  _T_3178; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50733.4]
  wire  _T_3179; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50734.4]
  wire  _T_3180; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50735.4]
  wire  _T_3181; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50736.4]
  wire  _T_3182; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50737.4]
  wire  _T_3183; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50738.4]
  wire  _T_3184; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50739.4]
  wire  _T_3185; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50740.4]
  wire  _T_3186; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50741.4]
  wire  _T_3187; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50742.4]
  wire  _T_3188; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50743.4]
  wire  _T_3189; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50744.4]
  wire  _T_3190; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50745.4]
  wire  _T_3191; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50746.4]
  wire  _T_3192; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50747.4]
  wire  _T_3193; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50748.4]
  wire  _T_3194; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50749.4]
  wire  _T_4095; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51171.4]
  wire  _T_4110; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@51186.4]
  wire  _T_4112; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51188.4]
  wire  _T_4113; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51189.4]
  wire  _T_4136; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51215.4]
  wire  _T_4137; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@51216.4]
  wire [13:0] _T_4138; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51218.6]
  wire [14:0] _GEN_7; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51219.6]
  wire [14:0] _T_4139; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51219.6]
  wire [13:0] _T_4140; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51220.6]
  wire [13:0] _T_4141; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51221.6]
  wire [15:0] _GEN_8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.6]
  wire [15:0] _T_4142; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.6]
  wire [13:0] _T_4143; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51223.6]
  wire [13:0] _T_4144; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51224.6]
  wire [17:0] _GEN_9; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51225.6]
  wire [17:0] _T_4145; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51225.6]
  wire [13:0] _T_4146; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51226.6]
  wire [13:0] _T_4147; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51227.6]
  wire [21:0] _GEN_10; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51228.6]
  wire [21:0] _T_4148; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51228.6]
  wire [13:0] _T_4149; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51229.6]
  wire [13:0] _T_4150; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51230.6]
  wire  _T_4222; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51296.4]
  wire  _T_4223; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51297.4]
  wire  _T_4224; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51298.4]
  wire  _T_4225; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51299.4]
  wire  _T_4226; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51300.4]
  wire  _T_4227; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51301.4]
  wire  _T_4228; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51302.4]
  wire  _T_4229; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.4]
  wire  _T_4230; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51304.4]
  wire  _T_4231; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51305.4]
  wire  _T_4232; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51306.4]
  wire  _T_4233; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51307.4]
  wire  _T_4234; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51308.4]
  wire  _T_4236; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51310.4]
  wire  _T_4239; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51313.4]
  wire  _T_4240; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51314.4]
  wire  _T_4241; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51315.4]
  wire  _T_4242; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51316.4]
  wire  _T_4243; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51317.4]
  wire  _T_4244; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51318.4]
  wire  _T_4245; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51319.4]
  wire  _T_4246; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51320.4]
  wire  _T_4247; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51321.4]
  wire  _T_4248; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51322.4]
  wire  _T_4249; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51323.4]
  wire  _T_4250; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51324.4]
  wire  _T_4251; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51325.4]
  wire  _T_4252; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51326.4]
  wire  _T_4253; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51327.4]
  wire  _T_4254; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51328.4]
  wire  _T_4255; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51329.4]
  wire  _T_4256; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51330.4]
  wire  _T_4257; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51331.4]
  wire  _T_4258; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51332.4]
  wire  _T_4259; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51333.4]
  wire  _T_4260; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51334.4]
  wire  _T_4261; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51335.4]
  wire  _T_4262; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51336.4]
  wire  _T_4263; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51337.4]
  wire  _T_4264; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51338.4]
  wire  _T_4265; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51339.4]
  wire  _T_4266; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51340.4]
  wire  _T_4267; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51341.4]
  wire  _T_4268; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51342.4]
  wire  _T_4269; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51343.4]
  wire  _T_4270; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51344.4]
  wire  _T_4271; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51345.4]
  wire  _T_4272; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51346.4]
  wire  _T_4273; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51347.4]
  wire  _T_4274; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51348.4]
  wire  _T_4275; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51349.4]
  wire  _T_4276; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51350.4]
  wire  _T_4278; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51352.4]
  wire  _T_4279; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51353.4]
  wire  _T_4280; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51354.4]
  wire  _T_4281; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51355.4]
  wire  _T_4282; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51356.4]
  wire  _T_4283; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51357.4]
  wire  _T_4284; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51358.4]
  wire  _T_4285; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51359.4]
  wire  _T_4286; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51360.4]
  wire  _T_4287; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51361.4]
  wire  _T_4288; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51362.4]
  wire  _T_4289; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51363.4]
  wire  _T_4291; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@51365.4]
  wire  _T_4292; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@51366.4]
  wire  _T_4293; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51371.4]
  wire  _T_4294; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51372.4]
  wire  _T_4295; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51373.4]
  wire  _T_4296; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51374.4]
  wire  _T_4297; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51375.4]
  wire  _T_4298; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51376.4]
  wire  _T_4299; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51377.4]
  wire  _T_4300; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51378.4]
  wire  _T_4301; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51379.4]
  wire  _T_4302; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51380.4]
  wire  _T_4303; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51381.4]
  wire  _T_4304; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51382.4]
  wire  _T_4305; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51383.4]
  wire  _T_4306; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51384.4]
  wire  _T_4320; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@51398.4]
  wire  _T_4322; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51400.4]
  wire  _T_4323; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51401.4]
  wire [9:0] _T_4324; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51406.4]
  wire [3:0] _T_4325; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51407.4]
  wire [3:0] _T_4326; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51408.4]
  wire [3:0] _T_4327; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51409.4]
  wire [3:0] _T_4328; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51410.4]
  wire [3:0] _T_4329; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51411.4]
  wire [3:0] _T_4330; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51412.4]
  wire [3:0] _T_4331; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51413.4]
  wire [3:0] _T_4332; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51414.4]
  wire [3:0] _T_4333; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51415.4]
  wire [3:0] _T_4334; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51416.4]
  wire [3:0] _T_4335; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51417.4]
  wire [3:0] _T_4336; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51418.4]
  wire [3:0] _T_4337; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51419.4]
  wire [9:0] _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51420.4]
  wire [9:0] _T_4338; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51420.4]
  wire [9:0] _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51421.4]
  wire [9:0] _T_4339; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51421.4]
  wire [9:0] _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51422.4]
  wire [9:0] _T_4340; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51422.4]
  wire [9:0] _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51423.4]
  wire [9:0] _T_4341; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51423.4]
  wire [9:0] _GEN_15; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51424.4]
  wire [9:0] _T_4342; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51424.4]
  wire [9:0] _GEN_16; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51425.4]
  wire [9:0] _T_4343; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51425.4]
  wire [9:0] _GEN_17; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51426.4]
  wire [9:0] _T_4344; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51426.4]
  wire [9:0] _GEN_18; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51427.4]
  wire [9:0] _T_4345; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51427.4]
  wire [9:0] _GEN_19; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.4]
  wire [9:0] _T_4346; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.4]
  wire [9:0] _GEN_20; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.4]
  wire [9:0] _T_4347; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.4]
  wire [9:0] _GEN_21; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.4]
  wire [9:0] _T_4348; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.4]
  wire [9:0] _GEN_22; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51431.4]
  wire [9:0] _T_4349; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51431.4]
  wire [9:0] _GEN_23; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.4]
  wire [9:0] _T_4350; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.4]
  wire  _T_4547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.4]
  wire  _T_4548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51501.4]
  wire  _T_4561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51514.4]
  wire  _T_4549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51502.4]
  wire  _T_4562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51515.4]
  wire  _T_4550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51503.4]
  wire  _T_4563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51516.4]
  wire  _T_4551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51504.4]
  wire  _T_4564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51517.4]
  wire  _T_4552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51505.4]
  wire  _T_4565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51518.4]
  wire  _T_4553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51506.4]
  wire  _T_4566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51519.4]
  wire  _T_4554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51507.4]
  wire  _T_4567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51520.4]
  wire  _T_4555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51508.4]
  wire  _T_4568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51521.4]
  wire  _T_4556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51509.4]
  wire  _T_4569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51522.4]
  wire  _T_4557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51510.4]
  wire  _T_4570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51523.4]
  wire  _T_4558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51511.4]
  wire  _T_4571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51524.4]
  wire  _T_4559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51512.4]
  wire  _T_4572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51525.4]
  wire  _T_4560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51513.4]
  wire  _T_4573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51526.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51529.4]
  wire  _T_4351; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@51433.4]
  wire [9:0] _GEN_24; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51434.4]
  wire [10:0] _T_4352; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51434.4]
  wire [10:0] _T_4353; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51435.4]
  wire [9:0] _T_4354; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51436.4]
  wire  _T_4487_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_7; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_8; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_9; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_10; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_11; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_12; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  wire  _T_4487_13; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  TLMonitor_27 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.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_4094 = _T_4093 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51170.4]
  assign _T_4105 = {auto_out_13_d_valid,auto_out_12_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51181.4]
  assign _T_4104 = {auto_out_11_d_valid,auto_out_10_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51180.4]
  assign _T_4106 = {_T_4105,_T_4104}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51182.4]
  assign _T_4102 = {auto_out_9_d_valid,auto_out_8_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51178.4]
  assign _T_4103 = {_T_4102,auto_out_7_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51179.4]
  assign _T_4107 = {_T_4106,_T_4103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51183.4]
  assign _T_4099 = {auto_out_6_d_valid,auto_out_5_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51175.4]
  assign _T_4098 = {auto_out_4_d_valid,auto_out_3_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51174.4]
  assign _T_4100 = {_T_4099,_T_4098}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51176.4]
  assign _T_4096 = {auto_out_2_d_valid,auto_out_1_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51172.4]
  assign _T_4097 = {_T_4096,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51173.4]
  assign _T_4101 = {_T_4100,_T_4097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51177.4]
  assign _T_4108 = {_T_4107,_T_4101}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51184.4]
  assign _T_4117 = ~ _T_4116; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51196.4]
  assign _T_4118 = _T_4108 & _T_4117; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51197.4]
  assign _T_4119 = {_T_4118,_T_4108}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51198.4]
  assign _T_4120 = _T_4119[27:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51199.4]
  assign _GEN_1 = {{1'd0}, _T_4120}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51200.4]
  assign _T_4121 = _T_4119 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51200.4]
  assign _T_4122 = _T_4121[27:2]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51201.4]
  assign _GEN_2 = {{2'd0}, _T_4122}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51202.4]
  assign _T_4123 = _T_4121 | _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51202.4]
  assign _T_4124 = _T_4123[27:4]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51203.4]
  assign _GEN_3 = {{4'd0}, _T_4124}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51204.4]
  assign _T_4125 = _T_4123 | _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51204.4]
  assign _T_4126 = _T_4125[27:8]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51205.4]
  assign _GEN_4 = {{8'd0}, _T_4126}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51206.4]
  assign _T_4127 = _T_4125 | _GEN_4; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51206.4]
  assign _T_4129 = _T_4127[27:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51208.4]
  assign _GEN_5 = {{14'd0}, _T_4116}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@51209.4]
  assign _T_4130 = _GEN_5 << 14; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@51209.4]
  assign _GEN_6 = {{1'd0}, _T_4129}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51210.4]
  assign _T_4131 = _GEN_6 | _T_4130; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51210.4]
  assign _T_4132 = _T_4131[27:14]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51211.4]
  assign _T_4133 = _T_4131[13:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51212.4]
  assign _T_4134 = _T_4132 & _T_4133; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@51213.4]
  assign _T_4135 = ~ _T_4134; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@51214.4]
  assign _T_4153 = _T_4135[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51235.4]
  assign _T_4187 = _T_4153 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51265.4]
  assign _T_4455_0 = _T_4094 ? _T_4187 : _T_4408_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4582 = {auto_out_0_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51535.4]
  assign _T_4581 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51534.4]
  assign _T_4583 = {_T_4582,_T_4581}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51536.4]
  assign _T_4578 = {32'h0,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51531.4]
  assign _T_4580 = {2'h1,_T_4578}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51533.4]
  assign _T_4584 = {_T_4583,_T_4580}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51537.4]
  assign _T_4585 = _T_4455_0 ? _T_4584 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51538.4]
  assign _T_4154 = _T_4135[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51236.4]
  assign _T_4188 = _T_4154 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51266.4]
  assign _T_4455_1 = _T_4094 ? _T_4188 : _T_4408_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4590 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51543.4]
  assign out_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49924.4]
  assign _T_4589 = {out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51542.4]
  assign _T_4591 = {_T_4590,_T_4589}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51544.4]
  assign _T_4586 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51539.4]
  assign _T_4588 = {2'h0,_T_4586}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51541.4]
  assign _T_4592 = {_T_4591,_T_4588}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51545.4]
  assign _T_4593 = _T_4455_1 ? _T_4592 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51546.4]
  assign _T_4690 = _T_4585 | _T_4593; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51643.4]
  assign _T_4155 = _T_4135[2]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51237.4]
  assign _T_4189 = _T_4155 & auto_out_2_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51267.4]
  assign _T_4455_2 = _T_4094 ? _T_4189 : _T_4408_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4598 = {auto_out_2_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51551.4]
  assign out_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49934.4]
  assign _T_4597 = {out_2_d_bits_size,auto_out_2_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51550.4]
  assign _T_4599 = {_T_4598,_T_4597}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51552.4]
  assign _T_4594 = {auto_out_2_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51547.4]
  assign _T_4596 = {2'h0,_T_4594}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51549.4]
  assign _T_4600 = {_T_4599,_T_4596}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51553.4]
  assign _T_4601 = _T_4455_2 ? _T_4600 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51554.4]
  assign _T_4691 = _T_4690 | _T_4601; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51644.4]
  assign _T_4156 = _T_4135[3]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51238.4]
  assign _T_4190 = _T_4156 & auto_out_3_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51268.4]
  assign _T_4455_3 = _T_4094 ? _T_4190 : _T_4408_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4606 = {auto_out_3_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51559.4]
  assign out_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49944.4]
  assign _T_4605 = {out_3_d_bits_size,auto_out_3_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51558.4]
  assign _T_4607 = {_T_4606,_T_4605}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51560.4]
  assign _T_4602 = {auto_out_3_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51555.4]
  assign _T_4604 = {2'h0,_T_4602}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51557.4]
  assign _T_4608 = {_T_4607,_T_4604}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51561.4]
  assign _T_4609 = _T_4455_3 ? _T_4608 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51562.4]
  assign _T_4692 = _T_4691 | _T_4609; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51645.4]
  assign _T_4157 = _T_4135[4]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51239.4]
  assign _T_4191 = _T_4157 & auto_out_4_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51269.4]
  assign _T_4455_4 = _T_4094 ? _T_4191 : _T_4408_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4614 = {auto_out_4_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51567.4]
  assign out_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49954.4]
  assign _T_4613 = {out_4_d_bits_size,auto_out_4_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51566.4]
  assign _T_4615 = {_T_4614,_T_4613}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51568.4]
  assign _T_4610 = {auto_out_4_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51563.4]
  assign _T_4612 = {2'h0,_T_4610}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51565.4]
  assign _T_4616 = {_T_4615,_T_4612}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51569.4]
  assign _T_4617 = _T_4455_4 ? _T_4616 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51570.4]
  assign _T_4693 = _T_4692 | _T_4617; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51646.4]
  assign _T_4158 = _T_4135[5]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51240.4]
  assign _T_4192 = _T_4158 & auto_out_5_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51270.4]
  assign _T_4455_5 = _T_4094 ? _T_4192 : _T_4408_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4622 = {auto_out_5_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51575.4]
  assign out_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49964.4]
  assign _T_4621 = {out_5_d_bits_size,auto_out_5_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51574.4]
  assign _T_4623 = {_T_4622,_T_4621}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51576.4]
  assign _T_4618 = {auto_out_5_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51571.4]
  assign _T_4620 = {2'h0,_T_4618}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51573.4]
  assign _T_4624 = {_T_4623,_T_4620}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51577.4]
  assign _T_4625 = _T_4455_5 ? _T_4624 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51578.4]
  assign _T_4694 = _T_4693 | _T_4625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51647.4]
  assign _T_4159 = _T_4135[6]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51241.4]
  assign _T_4193 = _T_4159 & auto_out_6_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51271.4]
  assign _T_4455_6 = _T_4094 ? _T_4193 : _T_4408_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4630 = {auto_out_6_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51583.4]
  assign out_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49974.4]
  assign _T_4629 = {out_6_d_bits_size,auto_out_6_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51582.4]
  assign _T_4631 = {_T_4630,_T_4629}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51584.4]
  assign _T_4626 = {auto_out_6_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51579.4]
  assign _T_4628 = {2'h0,_T_4626}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51581.4]
  assign _T_4632 = {_T_4631,_T_4628}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51585.4]
  assign _T_4633 = _T_4455_6 ? _T_4632 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51586.4]
  assign _T_4695 = _T_4694 | _T_4633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51648.4]
  assign _T_4160 = _T_4135[7]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51242.4]
  assign _T_4194 = _T_4160 & auto_out_7_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51272.4]
  assign _T_4455_7 = _T_4094 ? _T_4194 : _T_4408_7; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign out_7_d_bits_size = {{1'd0}, auto_out_7_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49984.4]
  assign _T_4637 = {out_7_d_bits_size,auto_out_7_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51590.4]
  assign _T_4639 = {5'h4,_T_4637}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51592.4]
  assign _T_4634 = {auto_out_7_d_bits_data,auto_out_7_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51587.4]
  assign _T_4636 = {2'h0,_T_4634}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51589.4]
  assign _T_4640 = {_T_4639,_T_4636}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51593.4]
  assign _T_4641 = _T_4455_7 ? _T_4640 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51594.4]
  assign _T_4696 = _T_4695 | _T_4641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51649.4]
  assign _T_4161 = _T_4135[8]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51243.4]
  assign _T_4195 = _T_4161 & auto_out_8_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51273.4]
  assign _T_4455_8 = _T_4094 ? _T_4195 : _T_4408_8; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4646 = {auto_out_8_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51599.4]
  assign out_8_d_bits_size = {{1'd0}, auto_out_8_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49994.4]
  assign _T_4645 = {out_8_d_bits_size,auto_out_8_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51598.4]
  assign _T_4647 = {_T_4646,_T_4645}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51600.4]
  assign _T_4642 = {auto_out_8_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.4]
  assign _T_4644 = {2'h0,_T_4642}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51597.4]
  assign _T_4648 = {_T_4647,_T_4644}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51601.4]
  assign _T_4649 = _T_4455_8 ? _T_4648 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51602.4]
  assign _T_4697 = _T_4696 | _T_4649; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51650.4]
  assign _T_4162 = _T_4135[9]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51244.4]
  assign _T_4196 = _T_4162 & auto_out_9_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51274.4]
  assign _T_4455_9 = _T_4094 ? _T_4196 : _T_4408_9; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4654 = {auto_out_9_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51607.4]
  assign out_9_d_bits_size = {{1'd0}, auto_out_9_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50004.4]
  assign _T_4653 = {out_9_d_bits_size,auto_out_9_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51606.4]
  assign _T_4655 = {_T_4654,_T_4653}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51608.4]
  assign _T_4650 = {auto_out_9_d_bits_data,auto_out_9_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51603.4]
  assign _T_4652 = {2'h0,_T_4650}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51605.4]
  assign _T_4656 = {_T_4655,_T_4652}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51609.4]
  assign _T_4657 = _T_4455_9 ? _T_4656 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51610.4]
  assign _T_4698 = _T_4697 | _T_4657; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51651.4]
  assign _T_4163 = _T_4135[10]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51245.4]
  assign _T_4197 = _T_4163 & auto_out_10_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51275.4]
  assign _T_4455_10 = _T_4094 ? _T_4197 : _T_4408_10; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4662 = {auto_out_10_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51615.4]
  assign out_10_d_bits_size = {{1'd0}, auto_out_10_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50014.4]
  assign _T_4661 = {out_10_d_bits_size,auto_out_10_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51614.4]
  assign _T_4663 = {_T_4662,_T_4661}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51616.4]
  assign _T_4658 = {auto_out_10_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51611.4]
  assign _T_4660 = {2'h0,_T_4658}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51613.4]
  assign _T_4664 = {_T_4663,_T_4660}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51617.4]
  assign _T_4665 = _T_4455_10 ? _T_4664 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51618.4]
  assign _T_4699 = _T_4698 | _T_4665; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51652.4]
  assign _T_4164 = _T_4135[11]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51246.4]
  assign _T_4198 = _T_4164 & auto_out_11_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51276.4]
  assign _T_4455_11 = _T_4094 ? _T_4198 : _T_4408_11; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4670 = {auto_out_11_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51623.4]
  assign out_11_d_bits_size = {{1'd0}, auto_out_11_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50024.4]
  assign _T_4669 = {out_11_d_bits_size,auto_out_11_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51622.4]
  assign _T_4671 = {_T_4670,_T_4669}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51624.4]
  assign _T_4666 = {auto_out_11_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51619.4]
  assign _T_4668 = {2'h0,_T_4666}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51621.4]
  assign _T_4672 = {_T_4671,_T_4668}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51625.4]
  assign _T_4673 = _T_4455_11 ? _T_4672 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51626.4]
  assign _T_4700 = _T_4699 | _T_4673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51653.4]
  assign _T_4165 = _T_4135[12]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51247.4]
  assign _T_4199 = _T_4165 & auto_out_12_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51277.4]
  assign _T_4455_12 = _T_4094 ? _T_4199 : _T_4408_12; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4678 = {auto_out_12_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51631.4]
  assign out_12_d_bits_size = {{1'd0}, auto_out_12_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50034.4]
  assign _T_4677 = {out_12_d_bits_size,auto_out_12_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51630.4]
  assign _T_4679 = {_T_4678,_T_4677}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51632.4]
  assign _T_4674 = {auto_out_12_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51627.4]
  assign _T_4676 = {2'h0,_T_4674}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51629.4]
  assign _T_4680 = {_T_4679,_T_4676}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51633.4]
  assign _T_4681 = _T_4455_12 ? _T_4680 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51634.4]
  assign _T_4701 = _T_4700 | _T_4681; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51654.4]
  assign _T_4166 = _T_4135[13]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51248.4]
  assign _T_4200 = _T_4166 & auto_out_13_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@51278.4]
  assign _T_4455_13 = _T_4094 ? _T_4200 : _T_4408_13; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51456.4]
  assign _T_4686 = {auto_out_13_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51639.4]
  assign out_13_d_bits_size = {{1'd0}, auto_out_13_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50044.4]
  assign _T_4685 = {out_13_d_bits_size,auto_out_13_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51638.4]
  assign _T_4687 = {_T_4686,_T_4685}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51640.4]
  assign _T_4682 = {auto_out_13_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51635.4]
  assign _T_4684 = {2'h0,_T_4682}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51637.4]
  assign _T_4688 = {_T_4687,_T_4684}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51641.4]
  assign _T_4689 = _T_4455_13 ? _T_4688 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51642.4]
  assign _T_4702 = _T_4701 | _T_4689; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51655.4]
  assign _T_2500 = auto_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50049.4]
  assign _T_2501 = {1'b0,$signed(_T_2500)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50050.4]
  assign _T_2502 = $signed(_T_2501) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50051.4]
  assign _T_2503 = $signed(_T_2502); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50052.4]
  assign requestAIO_0_0 = $signed(_T_2503) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50053.4]
  assign _T_2505 = auto_in_a_bits_address ^ 31'h13000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50055.4]
  assign _T_2506 = {1'b0,$signed(_T_2505)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50056.4]
  assign _T_2507 = $signed(_T_2506) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50057.4]
  assign _T_2508 = $signed(_T_2507); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50058.4]
  assign requestAIO_0_1 = $signed(_T_2508) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50059.4]
  assign _T_2510 = auto_in_a_bits_address ^ 31'h23000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50061.4]
  assign _T_2511 = {1'b0,$signed(_T_2510)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50062.4]
  assign _T_2512 = $signed(_T_2511) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50063.4]
  assign _T_2513 = $signed(_T_2512); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50064.4]
  assign requestAIO_0_2 = $signed(_T_2513) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50065.4]
  assign _T_2515 = auto_in_a_bits_address ^ 31'h33000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50067.4]
  assign _T_2516 = {1'b0,$signed(_T_2515)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50068.4]
  assign _T_2517 = $signed(_T_2516) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50069.4]
  assign _T_2518 = $signed(_T_2517); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50070.4]
  assign requestAIO_0_3 = $signed(_T_2518) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50071.4]
  assign _T_2520 = auto_in_a_bits_address ^ 31'h43000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50073.4]
  assign _T_2521 = {1'b0,$signed(_T_2520)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50074.4]
  assign _T_2522 = $signed(_T_2521) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50075.4]
  assign _T_2523 = $signed(_T_2522); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50076.4]
  assign requestAIO_0_4 = $signed(_T_2523) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50077.4]
  assign _T_2525 = auto_in_a_bits_address ^ 31'h53000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50079.4]
  assign _T_2526 = {1'b0,$signed(_T_2525)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50080.4]
  assign _T_2527 = $signed(_T_2526) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50081.4]
  assign _T_2528 = $signed(_T_2527); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50082.4]
  assign requestAIO_0_5 = $signed(_T_2528) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50083.4]
  assign _T_2530 = auto_in_a_bits_address ^ 31'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50085.4]
  assign _T_2531 = {1'b0,$signed(_T_2530)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50086.4]
  assign _T_2532 = $signed(_T_2531) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50087.4]
  assign _T_2533 = $signed(_T_2532); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50088.4]
  assign requestAIO_0_6 = $signed(_T_2533) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50089.4]
  assign _T_2535 = auto_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50091.4]
  assign _T_2536 = {1'b0,$signed(_T_2535)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50092.4]
  assign _T_2537 = $signed(_T_2536) & $signed(32'sh60000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50093.4]
  assign _T_2538 = $signed(_T_2537); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50094.4]
  assign requestAIO_0_7 = $signed(_T_2538) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50095.4]
  assign _T_2540 = auto_in_a_bits_address ^ 31'h34000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50097.4]
  assign _T_2541 = {1'b0,$signed(_T_2540)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50098.4]
  assign _T_2542 = $signed(_T_2541) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50099.4]
  assign _T_2543 = $signed(_T_2542); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50100.4]
  assign requestAIO_0_8 = $signed(_T_2543) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50101.4]
  assign _T_2545 = auto_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50103.4]
  assign _T_2546 = {1'b0,$signed(_T_2545)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50104.4]
  assign _T_2547 = $signed(_T_2546) & $signed(32'sh60000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50105.4]
  assign _T_2548 = $signed(_T_2547); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50106.4]
  assign requestAIO_0_9 = $signed(_T_2548) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50107.4]
  assign _T_2550 = auto_in_a_bits_address ^ 31'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50109.4]
  assign _T_2551 = {1'b0,$signed(_T_2550)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50110.4]
  assign _T_2552 = $signed(_T_2551) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50111.4]
  assign _T_2553 = $signed(_T_2552); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50112.4]
  assign requestAIO_0_10 = $signed(_T_2553) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50113.4]
  assign _T_2555 = auto_in_a_bits_address ^ 31'h12000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50115.4]
  assign _T_2556 = {1'b0,$signed(_T_2555)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50116.4]
  assign _T_2557 = $signed(_T_2556) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50117.4]
  assign _T_2558 = $signed(_T_2557); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50118.4]
  assign requestAIO_0_11 = $signed(_T_2558) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50119.4]
  assign _T_2560 = auto_in_a_bits_address ^ 31'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50121.4]
  assign _T_2561 = {1'b0,$signed(_T_2560)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50122.4]
  assign _T_2562 = $signed(_T_2561) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50123.4]
  assign _T_2563 = $signed(_T_2562); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50124.4]
  assign requestAIO_0_12 = $signed(_T_2563) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50125.4]
  assign _T_2565 = auto_in_a_bits_address ^ 31'h26000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50127.4]
  assign _T_2566 = {1'b0,$signed(_T_2565)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50128.4]
  assign _T_2567 = $signed(_T_2566) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50129.4]
  assign _T_2568 = $signed(_T_2567); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50130.4]
  assign requestAIO_0_13 = $signed(_T_2568) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50131.4]
  assign _T_2948 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
  assign _T_2949 = _T_2948[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
  assign _T_2950 = ~ _T_2949; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50571.4]
  assign _T_2951 = _T_2950[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
  assign _T_2952 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50573.4]
  assign beatsDO_0 = _T_2952 ? _T_2951 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50574.4]
  assign _T_2954 = 21'h3f << out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50576.4]
  assign _T_2955 = _T_2954[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50577.4]
  assign _T_2956 = ~ _T_2955; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50578.4]
  assign _T_2957 = _T_2956[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50579.4]
  assign _T_2958 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50580.4]
  assign beatsDO_1 = _T_2958 ? _T_2957 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50581.4]
  assign _T_2960 = 21'h3f << out_2_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50583.4]
  assign _T_2961 = _T_2960[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50584.4]
  assign _T_2962 = ~ _T_2961; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50585.4]
  assign _T_2963 = _T_2962[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50586.4]
  assign _T_2964 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50587.4]
  assign beatsDO_2 = _T_2964 ? _T_2963 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50588.4]
  assign _T_2966 = 21'h3f << out_3_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50590.4]
  assign _T_2967 = _T_2966[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50591.4]
  assign _T_2968 = ~ _T_2967; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  assign _T_2969 = _T_2968[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_2970 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50594.4]
  assign beatsDO_3 = _T_2970 ? _T_2969 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_2972 = 21'h3f << out_4_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50597.4]
  assign _T_2973 = _T_2972[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50598.4]
  assign _T_2974 = ~ _T_2973; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50599.4]
  assign _T_2975 = _T_2974[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50600.4]
  assign _T_2976 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50601.4]
  assign beatsDO_4 = _T_2976 ? _T_2975 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50602.4]
  assign _T_2978 = 21'h3f << out_5_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50604.4]
  assign _T_2979 = _T_2978[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50605.4]
  assign _T_2980 = ~ _T_2979; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50606.4]
  assign _T_2981 = _T_2980[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50607.4]
  assign _T_2982 = auto_out_5_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50608.4]
  assign beatsDO_5 = _T_2982 ? _T_2981 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50609.4]
  assign _T_2984 = 21'h3f << out_6_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50611.4]
  assign _T_2985 = _T_2984[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50612.4]
  assign _T_2986 = ~ _T_2985; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50613.4]
  assign _T_2987 = _T_2986[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50614.4]
  assign _T_2988 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50615.4]
  assign beatsDO_6 = _T_2988 ? _T_2987 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50616.4]
  assign _T_2990 = 21'h3f << out_7_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50618.4]
  assign _T_2991 = _T_2990[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50619.4]
  assign _T_2992 = ~ _T_2991; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50620.4]
  assign beatsDO_7 = _T_2992[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50621.4]
  assign _T_2996 = 21'h3f << out_8_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50625.4]
  assign _T_2997 = _T_2996[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50626.4]
  assign _T_2998 = ~ _T_2997; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50627.4]
  assign _T_2999 = _T_2998[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50628.4]
  assign _T_3000 = auto_out_8_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50629.4]
  assign beatsDO_8 = _T_3000 ? _T_2999 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50630.4]
  assign _T_3002 = 21'h3f << out_9_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50632.4]
  assign _T_3003 = _T_3002[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50633.4]
  assign _T_3004 = ~ _T_3003; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50634.4]
  assign _T_3005 = _T_3004[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50635.4]
  assign _T_3006 = auto_out_9_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50636.4]
  assign beatsDO_9 = _T_3006 ? _T_3005 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50637.4]
  assign _T_3008 = 21'h3f << out_10_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50639.4]
  assign _T_3009 = _T_3008[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50640.4]
  assign _T_3010 = ~ _T_3009; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50641.4]
  assign _T_3011 = _T_3010[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50642.4]
  assign _T_3012 = auto_out_10_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50643.4]
  assign beatsDO_10 = _T_3012 ? _T_3011 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50644.4]
  assign _T_3014 = 21'h3f << out_11_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50646.4]
  assign _T_3015 = _T_3014[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50647.4]
  assign _T_3016 = ~ _T_3015; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50648.4]
  assign _T_3017 = _T_3016[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50649.4]
  assign _T_3018 = auto_out_11_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50650.4]
  assign beatsDO_11 = _T_3018 ? _T_3017 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50651.4]
  assign _T_3020 = 21'h3f << out_12_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50653.4]
  assign _T_3021 = _T_3020[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50654.4]
  assign _T_3022 = ~ _T_3021; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50655.4]
  assign _T_3023 = _T_3022[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50656.4]
  assign _T_3024 = auto_out_12_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50657.4]
  assign beatsDO_12 = _T_3024 ? _T_3023 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50658.4]
  assign _T_3026 = 21'h3f << out_13_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50660.4]
  assign _T_3027 = _T_3026[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50661.4]
  assign _T_3028 = ~ _T_3027; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50662.4]
  assign _T_3029 = _T_3028[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50663.4]
  assign _T_3030 = auto_out_13_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50664.4]
  assign beatsDO_13 = _T_3030 ? _T_3029 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50665.4]
  assign _T_3169 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50724.4]
  assign _T_3170 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50725.4]
  assign _T_3171 = requestAIO_0_2 ? auto_out_2_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50726.4]
  assign _T_3172 = requestAIO_0_3 ? auto_out_3_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50727.4]
  assign _T_3173 = requestAIO_0_4 ? auto_out_4_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50728.4]
  assign _T_3174 = requestAIO_0_5 ? auto_out_5_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50729.4]
  assign _T_3175 = requestAIO_0_6 ? auto_out_6_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50730.4]
  assign _T_3176 = requestAIO_0_7 ? auto_out_7_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50731.4]
  assign _T_3177 = requestAIO_0_8 ? auto_out_8_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50732.4]
  assign _T_3178 = requestAIO_0_9 ? auto_out_9_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50733.4]
  assign _T_3179 = requestAIO_0_10 ? auto_out_10_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50734.4]
  assign _T_3180 = requestAIO_0_11 ? auto_out_11_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50735.4]
  assign _T_3181 = requestAIO_0_12 ? auto_out_12_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50736.4]
  assign _T_3182 = requestAIO_0_13 ? auto_out_13_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50737.4]
  assign _T_3183 = _T_3169 | _T_3170; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50738.4]
  assign _T_3184 = _T_3183 | _T_3171; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50739.4]
  assign _T_3185 = _T_3184 | _T_3172; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50740.4]
  assign _T_3186 = _T_3185 | _T_3173; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50741.4]
  assign _T_3187 = _T_3186 | _T_3174; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50742.4]
  assign _T_3188 = _T_3187 | _T_3175; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50743.4]
  assign _T_3189 = _T_3188 | _T_3176; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50744.4]
  assign _T_3190 = _T_3189 | _T_3177; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50745.4]
  assign _T_3191 = _T_3190 | _T_3178; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50746.4]
  assign _T_3192 = _T_3191 | _T_3179; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50747.4]
  assign _T_3193 = _T_3192 | _T_3180; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50748.4]
  assign _T_3194 = _T_3193 | _T_3181; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50749.4]
  assign _T_4095 = _T_4094 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51171.4]
  assign _T_4110 = _T_4108 == _T_4108; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@51186.4]
  assign _T_4112 = _T_4110 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51188.4]
  assign _T_4113 = _T_4112 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51189.4]
  assign _T_4136 = _T_4108 != 14'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51215.4]
  assign _T_4137 = _T_4095 & _T_4136; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@51216.4]
  assign _T_4138 = _T_4135 & _T_4108; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51218.6]
  assign _GEN_7 = {{1'd0}, _T_4138}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51219.6]
  assign _T_4139 = _GEN_7 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51219.6]
  assign _T_4140 = _T_4139[13:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51220.6]
  assign _T_4141 = _T_4138 | _T_4140; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51221.6]
  assign _GEN_8 = {{2'd0}, _T_4141}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.6]
  assign _T_4142 = _GEN_8 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.6]
  assign _T_4143 = _T_4142[13:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51223.6]
  assign _T_4144 = _T_4141 | _T_4143; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51224.6]
  assign _GEN_9 = {{4'd0}, _T_4144}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51225.6]
  assign _T_4145 = _GEN_9 << 4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51225.6]
  assign _T_4146 = _T_4145[13:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51226.6]
  assign _T_4147 = _T_4144 | _T_4146; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51227.6]
  assign _GEN_10 = {{8'd0}, _T_4147}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51228.6]
  assign _T_4148 = _GEN_10 << 8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@51228.6]
  assign _T_4149 = _T_4148[13:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@51229.6]
  assign _T_4150 = _T_4147 | _T_4149; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@51230.6]
  assign _T_4222 = _T_4187 | _T_4188; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51296.4]
  assign _T_4223 = _T_4222 | _T_4189; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51297.4]
  assign _T_4224 = _T_4223 | _T_4190; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51298.4]
  assign _T_4225 = _T_4224 | _T_4191; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51299.4]
  assign _T_4226 = _T_4225 | _T_4192; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51300.4]
  assign _T_4227 = _T_4226 | _T_4193; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51301.4]
  assign _T_4228 = _T_4227 | _T_4194; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51302.4]
  assign _T_4229 = _T_4228 | _T_4195; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.4]
  assign _T_4230 = _T_4229 | _T_4196; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51304.4]
  assign _T_4231 = _T_4230 | _T_4197; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51305.4]
  assign _T_4232 = _T_4231 | _T_4198; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51306.4]
  assign _T_4233 = _T_4232 | _T_4199; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51307.4]
  assign _T_4234 = _T_4233 | _T_4200; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51308.4]
  assign _T_4236 = _T_4187 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51310.4]
  assign _T_4239 = _T_4188 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51313.4]
  assign _T_4240 = _T_4236 | _T_4239; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51314.4]
  assign _T_4241 = _T_4222 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51315.4]
  assign _T_4242 = _T_4189 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51316.4]
  assign _T_4243 = _T_4241 | _T_4242; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51317.4]
  assign _T_4244 = _T_4223 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51318.4]
  assign _T_4245 = _T_4190 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51319.4]
  assign _T_4246 = _T_4244 | _T_4245; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51320.4]
  assign _T_4247 = _T_4224 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51321.4]
  assign _T_4248 = _T_4191 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51322.4]
  assign _T_4249 = _T_4247 | _T_4248; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51323.4]
  assign _T_4250 = _T_4225 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51324.4]
  assign _T_4251 = _T_4192 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51325.4]
  assign _T_4252 = _T_4250 | _T_4251; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51326.4]
  assign _T_4253 = _T_4226 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51327.4]
  assign _T_4254 = _T_4193 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51328.4]
  assign _T_4255 = _T_4253 | _T_4254; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51329.4]
  assign _T_4256 = _T_4227 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51330.4]
  assign _T_4257 = _T_4194 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51331.4]
  assign _T_4258 = _T_4256 | _T_4257; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51332.4]
  assign _T_4259 = _T_4228 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51333.4]
  assign _T_4260 = _T_4195 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51334.4]
  assign _T_4261 = _T_4259 | _T_4260; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51335.4]
  assign _T_4262 = _T_4229 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51336.4]
  assign _T_4263 = _T_4196 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51337.4]
  assign _T_4264 = _T_4262 | _T_4263; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51338.4]
  assign _T_4265 = _T_4230 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51339.4]
  assign _T_4266 = _T_4197 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51340.4]
  assign _T_4267 = _T_4265 | _T_4266; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51341.4]
  assign _T_4268 = _T_4231 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51342.4]
  assign _T_4269 = _T_4198 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51343.4]
  assign _T_4270 = _T_4268 | _T_4269; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51344.4]
  assign _T_4271 = _T_4232 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51345.4]
  assign _T_4272 = _T_4199 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51346.4]
  assign _T_4273 = _T_4271 | _T_4272; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51347.4]
  assign _T_4274 = _T_4233 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51348.4]
  assign _T_4275 = _T_4200 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@51349.4]
  assign _T_4276 = _T_4274 | _T_4275; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@51350.4]
  assign _T_4278 = _T_4240 & _T_4243; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51352.4]
  assign _T_4279 = _T_4278 & _T_4246; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51353.4]
  assign _T_4280 = _T_4279 & _T_4249; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51354.4]
  assign _T_4281 = _T_4280 & _T_4252; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51355.4]
  assign _T_4282 = _T_4281 & _T_4255; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51356.4]
  assign _T_4283 = _T_4282 & _T_4258; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51357.4]
  assign _T_4284 = _T_4283 & _T_4261; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51358.4]
  assign _T_4285 = _T_4284 & _T_4264; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51359.4]
  assign _T_4286 = _T_4285 & _T_4267; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51360.4]
  assign _T_4287 = _T_4286 & _T_4270; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51361.4]
  assign _T_4288 = _T_4287 & _T_4273; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51362.4]
  assign _T_4289 = _T_4288 & _T_4276; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51363.4]
  assign _T_4291 = _T_4289 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@51365.4]
  assign _T_4292 = _T_4291 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@51366.4]
  assign _T_4293 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51371.4]
  assign _T_4294 = _T_4293 | auto_out_2_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51372.4]
  assign _T_4295 = _T_4294 | auto_out_3_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51373.4]
  assign _T_4296 = _T_4295 | auto_out_4_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51374.4]
  assign _T_4297 = _T_4296 | auto_out_5_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51375.4]
  assign _T_4298 = _T_4297 | auto_out_6_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51376.4]
  assign _T_4299 = _T_4298 | auto_out_7_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51377.4]
  assign _T_4300 = _T_4299 | auto_out_8_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51378.4]
  assign _T_4301 = _T_4300 | auto_out_9_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51379.4]
  assign _T_4302 = _T_4301 | auto_out_10_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51380.4]
  assign _T_4303 = _T_4302 | auto_out_11_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51381.4]
  assign _T_4304 = _T_4303 | auto_out_12_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51382.4]
  assign _T_4305 = _T_4304 | auto_out_13_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51383.4]
  assign _T_4306 = _T_4305 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51384.4]
  assign _T_4320 = _T_4306 | _T_4234; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@51398.4]
  assign _T_4322 = _T_4320 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51400.4]
  assign _T_4323 = _T_4322 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51401.4]
  assign _T_4324 = _T_4187 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51406.4]
  assign _T_4325 = _T_4188 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51407.4]
  assign _T_4326 = _T_4189 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51408.4]
  assign _T_4327 = _T_4190 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51409.4]
  assign _T_4328 = _T_4191 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51410.4]
  assign _T_4329 = _T_4192 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51411.4]
  assign _T_4330 = _T_4193 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51412.4]
  assign _T_4331 = _T_4194 ? beatsDO_7 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51413.4]
  assign _T_4332 = _T_4195 ? beatsDO_8 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51414.4]
  assign _T_4333 = _T_4196 ? beatsDO_9 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51415.4]
  assign _T_4334 = _T_4197 ? beatsDO_10 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51416.4]
  assign _T_4335 = _T_4198 ? beatsDO_11 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51417.4]
  assign _T_4336 = _T_4199 ? beatsDO_12 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51418.4]
  assign _T_4337 = _T_4200 ? beatsDO_13 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@51419.4]
  assign _GEN_11 = {{6'd0}, _T_4325}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51420.4]
  assign _T_4338 = _T_4324 | _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51420.4]
  assign _GEN_12 = {{6'd0}, _T_4326}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51421.4]
  assign _T_4339 = _T_4338 | _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51421.4]
  assign _GEN_13 = {{6'd0}, _T_4327}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51422.4]
  assign _T_4340 = _T_4339 | _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51422.4]
  assign _GEN_14 = {{6'd0}, _T_4328}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51423.4]
  assign _T_4341 = _T_4340 | _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51423.4]
  assign _GEN_15 = {{6'd0}, _T_4329}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51424.4]
  assign _T_4342 = _T_4341 | _GEN_15; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51424.4]
  assign _GEN_16 = {{6'd0}, _T_4330}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51425.4]
  assign _T_4343 = _T_4342 | _GEN_16; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51425.4]
  assign _GEN_17 = {{6'd0}, _T_4331}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51426.4]
  assign _T_4344 = _T_4343 | _GEN_17; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51426.4]
  assign _GEN_18 = {{6'd0}, _T_4332}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51427.4]
  assign _T_4345 = _T_4344 | _GEN_18; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51427.4]
  assign _GEN_19 = {{6'd0}, _T_4333}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.4]
  assign _T_4346 = _T_4345 | _GEN_19; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.4]
  assign _GEN_20 = {{6'd0}, _T_4334}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.4]
  assign _T_4347 = _T_4346 | _GEN_20; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.4]
  assign _GEN_21 = {{6'd0}, _T_4335}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.4]
  assign _T_4348 = _T_4347 | _GEN_21; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.4]
  assign _GEN_22 = {{6'd0}, _T_4336}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51431.4]
  assign _T_4349 = _T_4348 | _GEN_22; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51431.4]
  assign _GEN_23 = {{6'd0}, _T_4337}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.4]
  assign _T_4350 = _T_4349 | _GEN_23; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.4]
  assign _T_4547 = _T_4408_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.4]
  assign _T_4548 = _T_4408_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51501.4]
  assign _T_4561 = _T_4547 | _T_4548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51514.4]
  assign _T_4549 = _T_4408_2 ? auto_out_2_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51502.4]
  assign _T_4562 = _T_4561 | _T_4549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51515.4]
  assign _T_4550 = _T_4408_3 ? auto_out_3_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51503.4]
  assign _T_4563 = _T_4562 | _T_4550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51516.4]
  assign _T_4551 = _T_4408_4 ? auto_out_4_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51504.4]
  assign _T_4564 = _T_4563 | _T_4551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51517.4]
  assign _T_4552 = _T_4408_5 ? auto_out_5_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51505.4]
  assign _T_4565 = _T_4564 | _T_4552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51518.4]
  assign _T_4553 = _T_4408_6 ? auto_out_6_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51506.4]
  assign _T_4566 = _T_4565 | _T_4553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51519.4]
  assign _T_4554 = _T_4408_7 ? auto_out_7_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51507.4]
  assign _T_4567 = _T_4566 | _T_4554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51520.4]
  assign _T_4555 = _T_4408_8 ? auto_out_8_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51508.4]
  assign _T_4568 = _T_4567 | _T_4555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51521.4]
  assign _T_4556 = _T_4408_9 ? auto_out_9_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51509.4]
  assign _T_4569 = _T_4568 | _T_4556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51522.4]
  assign _T_4557 = _T_4408_10 ? auto_out_10_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51510.4]
  assign _T_4570 = _T_4569 | _T_4557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51523.4]
  assign _T_4558 = _T_4408_11 ? auto_out_11_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51511.4]
  assign _T_4571 = _T_4570 | _T_4558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51524.4]
  assign _T_4559 = _T_4408_12 ? auto_out_12_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51512.4]
  assign _T_4572 = _T_4571 | _T_4559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51525.4]
  assign _T_4560 = _T_4408_13 ? auto_out_13_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51513.4]
  assign _T_4573 = _T_4572 | _T_4560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@51526.4]
  assign in_0_d_valid = _T_4094 ? _T_4305 : _T_4573; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51529.4]
  assign _T_4351 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@51433.4]
  assign _GEN_24 = {{9'd0}, _T_4351}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51434.4]
  assign _T_4352 = _T_4093 - _GEN_24; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51434.4]
  assign _T_4353 = $unsigned(_T_4352); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51435.4]
  assign _T_4354 = _T_4353[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51436.4]
  assign _T_4487_0 = _T_4094 ? _T_4153 : _T_4408_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_1 = _T_4094 ? _T_4154 : _T_4408_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_2 = _T_4094 ? _T_4155 : _T_4408_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_3 = _T_4094 ? _T_4156 : _T_4408_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_4 = _T_4094 ? _T_4157 : _T_4408_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_5 = _T_4094 ? _T_4158 : _T_4408_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_6 = _T_4094 ? _T_4159 : _T_4408_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_7 = _T_4094 ? _T_4160 : _T_4408_7; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_8 = _T_4094 ? _T_4161 : _T_4408_8; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_9 = _T_4094 ? _T_4162 : _T_4408_9; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_10 = _T_4094 ? _T_4163 : _T_4408_10; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_11 = _T_4094 ? _T_4164 : _T_4408_11; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_12 = _T_4094 ? _T_4165 : _T_4408_12; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign _T_4487_13 = _T_4094 ? _T_4166 : _T_4408_13; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51458.4]
  assign auto_in_a_ready = _T_3194 | _T_3182; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_valid = _T_4094 ? _T_4305 : _T_4573; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_opcode = _T_4702[44:42]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_param = _T_4702[41:40]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_size = _T_4702[39:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_source = _T_4702[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_sink = _T_4702[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_denied = _T_4702[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_data = _T_4702[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_in_d_bits_corrupt = _T_4702[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49892.4]
  assign auto_out_13_a_valid = auto_in_a_valid & requestAIO_0_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_13_d_ready = auto_in_d_ready & _T_4487_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49891.4]
  assign auto_out_12_a_valid = auto_in_a_valid & requestAIO_0_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_12_d_ready = auto_in_d_ready & _T_4487_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49890.4]
  assign auto_out_11_a_valid = auto_in_a_valid & requestAIO_0_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_11_d_ready = auto_in_d_ready & _T_4487_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49889.4]
  assign auto_out_10_a_valid = auto_in_a_valid & requestAIO_0_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_10_d_ready = auto_in_d_ready & _T_4487_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49888.4]
  assign auto_out_9_a_valid = auto_in_a_valid & requestAIO_0_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_9_d_ready = auto_in_d_ready & _T_4487_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49887.4]
  assign auto_out_8_a_valid = auto_in_a_valid & requestAIO_0_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_8_d_ready = auto_in_d_ready & _T_4487_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49886.4]
  assign auto_out_7_a_valid = auto_in_a_valid & requestAIO_0_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_address = auto_in_a_bits_address[29:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_7_d_ready = auto_in_d_ready & _T_4487_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49885.4]
  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_6_d_ready = auto_in_d_ready & _T_4487_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49884.4]
  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_5_d_ready = auto_in_d_ready & _T_4487_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49883.4]
  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_4_d_ready = auto_in_d_ready & _T_4487_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49882.4]
  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_3_d_ready = auto_in_d_ready & _T_4487_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49881.4]
  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_2_d_ready = auto_in_d_ready & _T_4487_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49880.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_4487_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49879.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address[13:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_4487_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49878.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49815.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49816.4]
  assign TLMonitor_io_in_a_ready = _T_3194 | _T_3182; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_valid = _T_4094 ? _T_4305 : _T_4573; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_4702[44:42]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_param = _T_4702[41:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_size = _T_4702[39:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_source = _T_4702[35]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_sink = _T_4702[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_denied = _T_4702[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_4702[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.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_4093 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_4116 = _RAND_1[13:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_4408_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_4408_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_4408_2 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_4408_3 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_4408_4 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_4408_5 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_4408_6 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_4408_7 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_4408_8 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_4408_9 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_4408_10 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_4408_11 = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_4408_12 = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_4408_13 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_4093 <= 10'h0;
    end else begin
      if (_T_4095) begin
        _T_4093 <= _T_4350;
      end else begin
        _T_4093 <= _T_4354;
      end
    end
    if (reset) begin
      _T_4116 <= 14'h3fff;
    end else begin
      if (_T_4137) begin
        _T_4116 <= _T_4150;
      end
    end
    if (reset) begin
      _T_4408_0 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_0 <= _T_4187;
      end
    end
    if (reset) begin
      _T_4408_1 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_1 <= _T_4188;
      end
    end
    if (reset) begin
      _T_4408_2 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_2 <= _T_4189;
      end
    end
    if (reset) begin
      _T_4408_3 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_3 <= _T_4190;
      end
    end
    if (reset) begin
      _T_4408_4 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_4 <= _T_4191;
      end
    end
    if (reset) begin
      _T_4408_5 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_5 <= _T_4192;
      end
    end
    if (reset) begin
      _T_4408_6 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_6 <= _T_4193;
      end
    end
    if (reset) begin
      _T_4408_7 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_7 <= _T_4194;
      end
    end
    if (reset) begin
      _T_4408_8 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_8 <= _T_4195;
      end
    end
    if (reset) begin
      _T_4408_9 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_9 <= _T_4196;
      end
    end
    if (reset) begin
      _T_4408_10 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_10 <= _T_4197;
      end
    end
    if (reset) begin
      _T_4408_11 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_11 <= _T_4198;
      end
    end
    if (reset) begin
      _T_4408_12 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_12 <= _T_4199;
      end
    end
    if (reset) begin
      _T_4408_13 <= 1'h0;
    end else begin
      if (_T_4094) begin
        _T_4408_13 <= _T_4200;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4113) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51191.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_4113) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51192.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4292) 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@51368.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_4292) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@51369.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4323) 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@51403.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_4323) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51404.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_28( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51684.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51685.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51686.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@53237.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@51703.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51708.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51710.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@51711.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51712.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@51713.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@51713.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51714.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51716.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51717.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@51719.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@51720.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51721.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51722.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@51723.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51725.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51726.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51728.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51729.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51730.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51731.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@51732.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51733.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51734.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51735.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51736.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51737.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51738.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51739.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51740.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51741.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51742.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51743.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51744.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51745.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51746.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51747.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51772.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51775.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51776.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51777.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51778.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51779.8]
  wire [30:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51780.8]
  wire [31:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51781.8]
  wire [31:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51782.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51783.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51784.8]
  wire [30:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51785.8]
  wire [31:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51786.8]
  wire [31:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51787.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51788.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51789.8]
  wire [30:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.8]
  wire [31:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51791.8]
  wire [31:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51792.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51793.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51794.8]
  wire [30:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51795.8]
  wire [31:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51796.8]
  wire [31:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51797.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51798.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51799.8]
  wire [30:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51800.8]
  wire [31:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51801.8]
  wire [31:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51802.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51803.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51804.8]
  wire [30:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51805.8]
  wire [31:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51806.8]
  wire [31:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51807.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51808.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51809.8]
  wire [30:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51810.8]
  wire [31:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51811.8]
  wire [31:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51812.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51813.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51814.8]
  wire [30:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51815.8]
  wire [31:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51816.8]
  wire [31:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51817.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51818.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51819.8]
  wire  _T_149; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51832.8]
  wire  _T_154; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51845.8]
  wire  _T_155; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51846.8]
  wire  _T_158; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51853.8]
  wire  _T_159; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51854.8]
  wire  _T_161; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51860.8]
  wire  _T_162; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51861.8]
  wire  _T_163; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51866.8]
  wire  _T_165; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51868.8]
  wire  _T_166; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51869.8]
  wire [3:0] _T_167; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51874.8]
  wire  _T_168; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51875.8]
  wire  _T_170; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51877.8]
  wire  _T_171; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51878.8]
  wire  _T_172; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51883.8]
  wire  _T_174; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51885.8]
  wire  _T_175; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51886.8]
  wire  _T_176; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51892.6]
  wire  _T_253; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51994.8]
  wire  _T_255; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51996.8]
  wire  _T_256; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51997.8]
  wire  _T_266; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52020.6]
  wire  _T_268; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52023.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52031.8]
  wire  _T_278; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52033.8]
  wire  _T_321; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52076.8]
  wire  _T_322; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52077.8]
  wire  _T_323; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52078.8]
  wire  _T_324; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52079.8]
  wire  _T_325; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52080.8]
  wire  _T_326; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52081.8]
  wire  _T_327; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52082.8]
  wire  _T_328; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52083.8]
  wire  _T_330; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52085.8]
  wire  _T_332; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52087.8]
  wire  _T_333; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52088.8]
  wire  _T_340; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52107.8]
  wire  _T_342; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52109.8]
  wire  _T_343; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52110.8]
  wire  _T_344; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52115.8]
  wire  _T_346; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52117.8]
  wire  _T_347; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52118.8]
  wire  _T_352; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52132.6]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52186.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52187.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52188.8]
  wire  _T_408; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52189.8]
  wire  _T_417; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52198.8]
  wire  _T_420; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52201.8]
  wire  _T_421; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52202.8]
  wire  _T_436; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52238.6]
  wire  _T_484; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52287.8]
  wire  _T_485; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52288.8]
  wire  _T_486; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52289.8]
  wire  _T_501; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52304.8]
  wire  _T_504; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52307.8]
  wire  _T_505; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52308.8]
  wire [3:0] _T_516; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52335.8]
  wire [3:0] _T_517; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52336.8]
  wire  _T_518; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52337.8]
  wire  _T_520; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52339.8]
  wire  _T_521; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.8]
  wire  _T_522; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52346.6]
  wire  _T_524; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52349.8]
  wire  _T_532; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52357.8]
  wire  _T_585; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52410.8]
  wire  _T_586; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52411.8]
  wire  _T_593; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52430.8]
  wire  _T_595; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52432.8]
  wire  _T_596; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52433.8]
  wire  _T_601; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52447.6]
  wire  _T_672; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52531.8]
  wire  _T_674; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52533.8]
  wire  _T_675; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52534.8]
  wire  _T_680; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52548.6]
  wire  _T_743; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52612.8]
  wire  _T_744; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52613.8]
  wire  _T_759; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52651.6]
  wire  _T_761; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52653.6]
  wire  _T_762; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52654.6]
  wire  _T_764; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@52660.6]
  wire  _T_773; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52665.6]
  wire  _T_775; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52667.6]
  wire  _T_777; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52670.8]
  wire  _T_778; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52671.8]
  wire  _T_779; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52676.8]
  wire  _T_781; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52678.8]
  wire  _T_782; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52679.8]
  wire  _T_783; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52684.8]
  wire  _T_785; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52686.8]
  wire  _T_786; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52687.8]
  wire  _T_787; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52692.8]
  wire  _T_789; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52694.8]
  wire  _T_790; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52695.8]
  wire  _T_791; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52700.8]
  wire  _T_793; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.8]
  wire  _T_794; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52703.8]
  wire  _T_795; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52709.6]
  wire  _T_806; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52733.8]
  wire  _T_808; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52735.8]
  wire  _T_809; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52736.8]
  wire  _T_810; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52741.8]
  wire  _T_812; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52743.8]
  wire  _T_813; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52744.8]
  wire  _T_823; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52767.6]
  wire  _T_843; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52808.8]
  wire  _T_845; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52810.8]
  wire  _T_846; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52811.8]
  wire  _T_852; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52826.6]
  wire  _T_869; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52861.6]
  wire  _T_887; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52897.6]
  wire  _T_916; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52957.4]
  wire [9:0] _T_921; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52962.4]
  wire  _T_922; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52963.4]
  wire  _T_923; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52964.4]
  reg [9:0] _T_926; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52966.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_927; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52967.4]
  wire [10:0] _T_928; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52968.4]
  wire [9:0] _T_929; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52969.4]
  wire  _T_930; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52970.4]
  reg [2:0] _T_939; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52981.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_941; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52982.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_943; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52983.4]
  reg [31:0] _RAND_3;
  reg  _T_945; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52984.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_947; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52985.4]
  reg [31:0] _RAND_5;
  wire  _T_948; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52986.4]
  wire  _T_949; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52987.4]
  wire  _T_950; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52989.6]
  wire  _T_952; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52991.6]
  wire  _T_953; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52992.6]
  wire  _T_954; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52997.6]
  wire  _T_956; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52999.6]
  wire  _T_957; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53000.6]
  wire  _T_958; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53005.6]
  wire  _T_960; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53007.6]
  wire  _T_961; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53008.6]
  wire  _T_962; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53013.6]
  wire  _T_964; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53015.6]
  wire  _T_965; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53016.6]
  wire  _T_966; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53021.6]
  wire  _T_968; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53023.6]
  wire  _T_969; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53024.6]
  wire  _T_971; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53031.4]
  wire  _T_972; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53039.4]
  wire [26:0] _T_974; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53041.4]
  wire [11:0] _T_975; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53042.4]
  wire [11:0] _T_976; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53043.4]
  wire [9:0] _T_977; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53044.4]
  wire  _T_978; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53045.4]
  reg [9:0] _T_981; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53047.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_982; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53048.4]
  wire [10:0] _T_983; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53049.4]
  wire [9:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53050.4]
  wire  _T_985; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53051.4]
  reg [2:0] _T_994; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53062.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_996; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53063.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_998; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53064.4]
  reg [31:0] _RAND_9;
  reg  _T_1000; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53065.4]
  reg [31:0] _RAND_10;
  reg  _T_1002; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53066.4]
  reg [31:0] _RAND_11;
  reg  _T_1004; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53067.4]
  reg [31:0] _RAND_12;
  wire  _T_1005; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53068.4]
  wire  _T_1006; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53069.4]
  wire  _T_1007; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53071.6]
  wire  _T_1009; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53073.6]
  wire  _T_1010; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53074.6]
  wire  _T_1011; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53079.6]
  wire  _T_1013; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53081.6]
  wire  _T_1014; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53082.6]
  wire  _T_1015; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53087.6]
  wire  _T_1017; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53089.6]
  wire  _T_1018; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53090.6]
  wire  _T_1019; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53095.6]
  wire  _T_1021; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53097.6]
  wire  _T_1022; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53098.6]
  wire  _T_1023; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53103.6]
  wire  _T_1025; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53105.6]
  wire  _T_1026; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53106.6]
  wire  _T_1027; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53111.6]
  wire  _T_1029; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53113.6]
  wire  _T_1030; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53114.6]
  wire  _T_1032; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53121.4]
  reg [1:0] _T_1034; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53130.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1045; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53140.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1046; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53141.4]
  wire [10:0] _T_1047; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53142.4]
  wire [9:0] _T_1048; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53143.4]
  wire  _T_1049; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53144.4]
  reg [9:0] _T_1066; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53163.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1067; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53164.4]
  wire [10:0] _T_1068; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53165.4]
  wire [9:0] _T_1069; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53166.4]
  wire  _T_1070; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53167.4]
  wire  _T_1081; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53182.4]
  wire [1:0] _T_1083; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@53185.6]
  wire [1:0] _T_1084; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@53187.6]
  wire  _T_1085; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@53188.6]
  wire  _T_1086; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53189.6]
  wire  _T_1088; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53191.6]
  wire  _T_1089; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53192.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@53184.4]
  wire  _T_1094; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53203.4]
  wire  _T_1096; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@53205.4]
  wire  _T_1097; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@53206.4]
  wire [1:0] _T_1098; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@53208.6]
  wire [1:0] _T_1099; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53210.6]
  wire [1:0] _T_1100; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@53211.6]
  wire  _T_1101; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@53212.6]
  wire  _T_1103; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53214.6]
  wire  _T_1104; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53215.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@53207.4]
  wire  _T_1105; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53221.4]
  wire  _T_1106; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@53222.4]
  wire  _T_1107; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53223.4]
  wire  _T_1108; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53224.4]
  wire  _T_1110; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53226.4]
  wire  _T_1111; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53227.4]
  wire [1:0] _T_1112; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53232.4]
  wire [1:0] _T_1113; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53233.4]
  wire [1:0] _T_1114; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53234.4]
  reg [31:0] _T_1116; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53236.4]
  reg [31:0] _RAND_16;
  wire  _T_1117; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@53239.4]
  wire  _T_1118; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53240.4]
  wire  _T_1119; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53241.4]
  wire  _T_1120; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53242.4]
  wire  _T_1121; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@53243.4]
  wire  _T_1122; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@53244.4]
  wire  _T_1124; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53246.4]
  wire  _T_1125; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53247.4]
  wire [31:0] _T_1127; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53253.4]
  wire  _T_1130; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53257.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51834.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51954.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52090.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52204.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52310.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52413.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52615.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52673.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52715.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52773.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52832.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52867.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52903.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@53237.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@51703.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51708.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@51710.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@51711.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51712.6]
  assign _GEN_18 = {{19'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@51713.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@51713.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51714.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51716.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51717.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@51719.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@51720.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51721.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51722.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@51723.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51725.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51726.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51728.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51729.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51730.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51731.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@51732.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51733.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51734.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51735.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51736.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51737.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51738.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51739.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51740.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51741.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51742.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@51743.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@51744.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51745.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51746.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@51747.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51772.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51775.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51776.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51777.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51778.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51779.8]
  assign _T_97 = io_in_a_bits_address ^ 31'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51780.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51781.8]
  assign _T_99 = $signed(_T_98) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51782.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51783.8]
  assign _T_101 = $signed(_T_100) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51784.8]
  assign _T_102 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51785.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51786.8]
  assign _T_104 = $signed(_T_103) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51787.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51788.8]
  assign _T_106 = $signed(_T_105) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51789.8]
  assign _T_107 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51791.8]
  assign _T_109 = $signed(_T_108) & $signed(-32'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51792.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51793.8]
  assign _T_111 = $signed(_T_110) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51794.8]
  assign _T_112 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51795.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51796.8]
  assign _T_114 = $signed(_T_113) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51797.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51798.8]
  assign _T_116 = $signed(_T_115) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51799.8]
  assign _T_117 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51800.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51801.8]
  assign _T_119 = $signed(_T_118) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51802.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51803.8]
  assign _T_121 = $signed(_T_120) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51804.8]
  assign _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51805.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51806.8]
  assign _T_124 = $signed(_T_123) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51807.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51808.8]
  assign _T_126 = $signed(_T_125) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51809.8]
  assign _T_127 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51810.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51811.8]
  assign _T_129 = $signed(_T_128) & $signed(-32'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51812.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51813.8]
  assign _T_131 = $signed(_T_130) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51814.8]
  assign _T_132 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@51815.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@51816.8]
  assign _T_134 = $signed(_T_133) & $signed(-32'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51817.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@51818.8]
  assign _T_136 = $signed(_T_135) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@51819.8]
  assign _T_149 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51832.8]
  assign _T_154 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51845.8]
  assign _T_155 = _T_154 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51846.8]
  assign _T_158 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51853.8]
  assign _T_159 = _T_158 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51854.8]
  assign _T_161 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51860.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51861.8]
  assign _T_163 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51866.8]
  assign _T_165 = _T_163 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51868.8]
  assign _T_166 = _T_165 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51869.8]
  assign _T_167 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51874.8]
  assign _T_168 = _T_167 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51875.8]
  assign _T_170 = _T_168 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51877.8]
  assign _T_171 = _T_170 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51878.8]
  assign _T_172 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51883.8]
  assign _T_174 = _T_172 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51885.8]
  assign _T_175 = _T_174 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51886.8]
  assign _T_176 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51892.6]
  assign _T_253 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51994.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51996.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51997.8]
  assign _T_266 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52020.6]
  assign _T_268 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52023.8]
  assign _T_276 = _T_268 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52031.8]
  assign _T_278 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52033.8]
  assign _T_321 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52076.8]
  assign _T_322 = _T_321 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52077.8]
  assign _T_323 = _T_322 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52078.8]
  assign _T_324 = _T_323 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52079.8]
  assign _T_325 = _T_324 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52080.8]
  assign _T_326 = _T_325 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52081.8]
  assign _T_327 = _T_326 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52082.8]
  assign _T_328 = _T_278 & _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52083.8]
  assign _T_330 = _T_276 | _T_328; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52085.8]
  assign _T_332 = _T_330 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52087.8]
  assign _T_333 = _T_332 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52088.8]
  assign _T_340 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52107.8]
  assign _T_342 = _T_340 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52109.8]
  assign _T_343 = _T_342 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52110.8]
  assign _T_344 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52115.8]
  assign _T_346 = _T_344 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52117.8]
  assign _T_347 = _T_346 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52118.8]
  assign _T_352 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52132.6]
  assign _T_405 = _T_323 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52186.8]
  assign _T_406 = _T_405 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52187.8]
  assign _T_407 = _T_406 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52188.8]
  assign _T_408 = _T_278 & _T_407; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52189.8]
  assign _T_417 = _T_276 | _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52198.8]
  assign _T_420 = _T_417 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52201.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52202.8]
  assign _T_436 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52238.6]
  assign _T_484 = _T_323 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52287.8]
  assign _T_485 = _T_484 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52288.8]
  assign _T_486 = _T_278 & _T_485; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52289.8]
  assign _T_501 = _T_276 | _T_486; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52304.8]
  assign _T_504 = _T_501 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52307.8]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52308.8]
  assign _T_516 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52335.8]
  assign _T_517 = io_in_a_bits_mask & _T_516; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52336.8]
  assign _T_518 = _T_517 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52337.8]
  assign _T_520 = _T_518 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52339.8]
  assign _T_521 = _T_520 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.8]
  assign _T_522 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52346.6]
  assign _T_524 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52349.8]
  assign _T_532 = _T_524 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52357.8]
  assign _T_585 = _T_532 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52410.8]
  assign _T_586 = _T_585 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52411.8]
  assign _T_593 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52430.8]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52432.8]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52433.8]
  assign _T_601 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52447.6]
  assign _T_672 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52531.8]
  assign _T_674 = _T_672 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52533.8]
  assign _T_675 = _T_674 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52534.8]
  assign _T_680 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52548.6]
  assign _T_743 = _T_276 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52612.8]
  assign _T_744 = _T_743 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52613.8]
  assign _T_759 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52651.6]
  assign _T_761 = _T_759 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52653.6]
  assign _T_762 = _T_761 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52654.6]
  assign _T_764 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@52660.6]
  assign _T_773 = io_in_d_bits_source | _T_764; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52665.6]
  assign _T_775 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52667.6]
  assign _T_777 = _T_773 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52670.8]
  assign _T_778 = _T_777 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52671.8]
  assign _T_779 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52676.8]
  assign _T_781 = _T_779 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52678.8]
  assign _T_782 = _T_781 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52679.8]
  assign _T_783 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52684.8]
  assign _T_785 = _T_783 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52686.8]
  assign _T_786 = _T_785 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52687.8]
  assign _T_787 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52692.8]
  assign _T_789 = _T_787 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52694.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52695.8]
  assign _T_791 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52700.8]
  assign _T_793 = _T_791 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.8]
  assign _T_794 = _T_793 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52703.8]
  assign _T_795 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52709.6]
  assign _T_806 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52733.8]
  assign _T_808 = _T_806 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52735.8]
  assign _T_809 = _T_808 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52736.8]
  assign _T_810 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52741.8]
  assign _T_812 = _T_810 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52743.8]
  assign _T_813 = _T_812 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52744.8]
  assign _T_823 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52767.6]
  assign _T_843 = _T_791 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52808.8]
  assign _T_845 = _T_843 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52810.8]
  assign _T_846 = _T_845 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52811.8]
  assign _T_852 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52826.6]
  assign _T_869 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52861.6]
  assign _T_887 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52897.6]
  assign _T_916 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52957.4]
  assign _T_921 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52962.4]
  assign _T_922 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52963.4]
  assign _T_923 = _T_922 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52964.4]
  assign _T_927 = _T_926 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52967.4]
  assign _T_928 = $unsigned(_T_927); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52968.4]
  assign _T_929 = _T_928[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52969.4]
  assign _T_930 = _T_926 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52970.4]
  assign _T_948 = _T_930 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52986.4]
  assign _T_949 = io_in_a_valid & _T_948; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52987.4]
  assign _T_950 = io_in_a_bits_opcode == _T_939; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52989.6]
  assign _T_952 = _T_950 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52991.6]
  assign _T_953 = _T_952 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52992.6]
  assign _T_954 = io_in_a_bits_param == _T_941; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52997.6]
  assign _T_956 = _T_954 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52999.6]
  assign _T_957 = _T_956 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53000.6]
  assign _T_958 = io_in_a_bits_size == _T_943; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53005.6]
  assign _T_960 = _T_958 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53007.6]
  assign _T_961 = _T_960 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53008.6]
  assign _T_962 = io_in_a_bits_source == _T_945; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53013.6]
  assign _T_964 = _T_962 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53015.6]
  assign _T_965 = _T_964 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53016.6]
  assign _T_966 = io_in_a_bits_address == _T_947; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53021.6]
  assign _T_968 = _T_966 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53023.6]
  assign _T_969 = _T_968 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53024.6]
  assign _T_971 = _T_916 & _T_930; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53031.4]
  assign _T_972 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53039.4]
  assign _T_974 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53041.4]
  assign _T_975 = _T_974[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53042.4]
  assign _T_976 = ~ _T_975; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53043.4]
  assign _T_977 = _T_976[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53044.4]
  assign _T_978 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53045.4]
  assign _T_982 = _T_981 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53048.4]
  assign _T_983 = $unsigned(_T_982); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53049.4]
  assign _T_984 = _T_983[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53050.4]
  assign _T_985 = _T_981 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53051.4]
  assign _T_1005 = _T_985 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53068.4]
  assign _T_1006 = io_in_d_valid & _T_1005; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53069.4]
  assign _T_1007 = io_in_d_bits_opcode == _T_994; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53071.6]
  assign _T_1009 = _T_1007 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53073.6]
  assign _T_1010 = _T_1009 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53074.6]
  assign _T_1011 = io_in_d_bits_param == _T_996; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53079.6]
  assign _T_1013 = _T_1011 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53081.6]
  assign _T_1014 = _T_1013 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53082.6]
  assign _T_1015 = io_in_d_bits_size == _T_998; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53087.6]
  assign _T_1017 = _T_1015 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53089.6]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53090.6]
  assign _T_1019 = io_in_d_bits_source == _T_1000; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53095.6]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53097.6]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53098.6]
  assign _T_1023 = io_in_d_bits_sink == _T_1002; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53103.6]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53105.6]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53106.6]
  assign _T_1027 = io_in_d_bits_denied == _T_1004; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53111.6]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53113.6]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53114.6]
  assign _T_1032 = _T_972 & _T_985; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53121.4]
  assign _T_1046 = _T_1045 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53141.4]
  assign _T_1047 = $unsigned(_T_1046); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53142.4]
  assign _T_1048 = _T_1047[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53143.4]
  assign _T_1049 = _T_1045 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53144.4]
  assign _T_1067 = _T_1066 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53164.4]
  assign _T_1068 = $unsigned(_T_1067); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53165.4]
  assign _T_1069 = _T_1068[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53166.4]
  assign _T_1070 = _T_1066 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53167.4]
  assign _T_1081 = _T_916 & _T_1049; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53182.4]
  assign _T_1083 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@53185.6]
  assign _T_1084 = _T_1034 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@53187.6]
  assign _T_1085 = _T_1084[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@53188.6]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53189.6]
  assign _T_1088 = _T_1086 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53191.6]
  assign _T_1089 = _T_1088 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53192.6]
  assign _GEN_15 = _T_1081 ? _T_1083 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@53184.4]
  assign _T_1094 = _T_972 & _T_1070; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53203.4]
  assign _T_1096 = _T_775 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@53205.4]
  assign _T_1097 = _T_1094 & _T_1096; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@53206.4]
  assign _T_1098 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@53208.6]
  assign _T_1099 = _GEN_15 | _T_1034; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53210.6]
  assign _T_1100 = _T_1099 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@53211.6]
  assign _T_1101 = _T_1100[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@53212.6]
  assign _T_1103 = _T_1101 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53214.6]
  assign _T_1104 = _T_1103 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53215.6]
  assign _GEN_16 = _T_1097 ? _T_1098 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@53207.4]
  assign _T_1105 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53221.4]
  assign _T_1106 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@53222.4]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53223.4]
  assign _T_1108 = _T_1105 | _T_1107; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53224.4]
  assign _T_1110 = _T_1108 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53226.4]
  assign _T_1111 = _T_1110 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53227.4]
  assign _T_1112 = _T_1034 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53232.4]
  assign _T_1113 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53233.4]
  assign _T_1114 = _T_1112 & _T_1113; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53234.4]
  assign _T_1117 = _T_1034 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@53239.4]
  assign _T_1118 = _T_1117 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53240.4]
  assign _T_1119 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53241.4]
  assign _T_1120 = _T_1118 | _T_1119; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53242.4]
  assign _T_1121 = _T_1116 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@53243.4]
  assign _T_1122 = _T_1120 | _T_1121; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@53244.4]
  assign _T_1124 = _T_1122 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53246.4]
  assign _T_1125 = _T_1124 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53247.4]
  assign _T_1127 = _T_1116 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53253.4]
  assign _T_1130 = _T_916 | _T_972; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53257.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51834.10]
  assign _GEN_35 = io_in_a_valid & _T_176; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51954.10]
  assign _GEN_53 = io_in_a_valid & _T_266; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52090.10]
  assign _GEN_65 = io_in_a_valid & _T_352; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52204.10]
  assign _GEN_75 = io_in_a_valid & _T_436; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52310.10]
  assign _GEN_85 = io_in_a_valid & _T_522; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52413.10]
  assign _GEN_95 = io_in_a_valid & _T_601; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.10]
  assign _GEN_105 = io_in_a_valid & _T_680; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52615.10]
  assign _GEN_115 = io_in_d_valid & _T_775; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52673.10]
  assign _GEN_125 = io_in_d_valid & _T_795; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52715.10]
  assign _GEN_137 = io_in_d_valid & _T_823; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52773.10]
  assign _GEN_149 = io_in_d_valid & _T_852; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52832.10]
  assign _GEN_155 = io_in_d_valid & _T_869; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52867.10]
  assign _GEN_161 = io_in_d_valid & _T_887; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52903.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_926 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_939 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_941 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_943 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_945 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_947 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_981 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_994 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_996 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_998 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1000 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1002 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1004 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1034 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1045 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1066 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1116 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_926 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_930) begin
          if (_T_923) begin
            _T_926 <= _T_921;
          end else begin
            _T_926 <= 10'h0;
          end
        end else begin
          _T_926 <= _T_929;
        end
      end
    end
    if (_T_971) begin
      _T_939 <= io_in_a_bits_opcode;
    end
    if (_T_971) begin
      _T_941 <= io_in_a_bits_param;
    end
    if (_T_971) begin
      _T_943 <= io_in_a_bits_size;
    end
    if (_T_971) begin
      _T_945 <= io_in_a_bits_source;
    end
    if (_T_971) begin
      _T_947 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_981 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_985) begin
          if (_T_978) begin
            _T_981 <= _T_977;
          end else begin
            _T_981 <= 10'h0;
          end
        end else begin
          _T_981 <= _T_984;
        end
      end
    end
    if (_T_1032) begin
      _T_994 <= io_in_d_bits_opcode;
    end
    if (_T_1032) begin
      _T_996 <= io_in_d_bits_param;
    end
    if (_T_1032) begin
      _T_998 <= io_in_d_bits_size;
    end
    if (_T_1032) begin
      _T_1000 <= io_in_d_bits_source;
    end
    if (_T_1032) begin
      _T_1002 <= io_in_d_bits_sink;
    end
    if (_T_1032) begin
      _T_1004 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1034 <= 2'h0;
    end else begin
      _T_1034 <= _T_1114;
    end
    if (reset) begin
      _T_1045 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_1049) begin
          if (_T_923) begin
            _T_1045 <= _T_921;
          end else begin
            _T_1045 <= 10'h0;
          end
        end else begin
          _T_1045 <= _T_1048;
        end
      end
    end
    if (reset) begin
      _T_1066 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_1070) begin
          if (_T_978) begin
            _T_1066 <= _T_977;
          end else begin
            _T_1066 <= 10'h0;
          end
        end else begin
          _T_1066 <= _T_1069;
        end
      end
    end
    if (reset) begin
      _T_1116 <= 32'h0;
    end else begin
      if (_T_1130) begin
        _T_1116 <= 32'h0;
      end else begin
        _T_1116 <= _T_1127;
      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@51699.8]
        end
    `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@51700.8]
        end
    `ifdef STOP_COND
      end
    `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@51769.8]
        end
    `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@51770.8]
        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 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@51834.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51835.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 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@51841.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_155) 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@51848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_155) begin
          $fatal; // @[Monitor.scala 51: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_19 & _T_159) 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@51856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_159) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_162) 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@51863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_162) begin
          $fatal; // @[Monitor.scala 53: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_19 & _T_166) 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@51871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_166) begin
          $fatal; // @[Monitor.scala 54: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_19 & _T_171) 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@51880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_171) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_175) 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@51888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_175) begin
          $fatal; // @[Monitor.scala 56: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 (_GEN_35 & _T_149) 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@51954.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51955.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 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@51961.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_155) 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@51968.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_155) begin
          $fatal; // @[Monitor.scala 62: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_35 & _T_159) 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@51976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_159) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_162) 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@51983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_162) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_166) 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@51991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_166) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_256) 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@51999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_256) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_171) 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@52008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_171) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_175) 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@52016.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_175) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52017.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_333) 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@52090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_333) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_155) 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@52097.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_155) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_162) 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@52104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_162) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_343) 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@52112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_343) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_347) 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@52120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_347) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_175) 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@52128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_175) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_421) 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@52204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_421) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_155) 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@52211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_155) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_162) 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@52218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_162) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_343) 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@52226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_343) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_347) 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@52234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_347) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_505) 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@52310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_505) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_155) 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@52317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_155) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_162) 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@52324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_162) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_343) 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@52332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_343) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_521) 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@52342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_521) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52343.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_586) 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@52413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_586) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_155) 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@52420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_155) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_162) 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@52427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_162) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_596) 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@52435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_596) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_347) 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@52443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_347) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_586) 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@52514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_586) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_155) 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@52521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_155) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_162) 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@52528.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_162) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52529.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_675) 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@52536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_675) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_347) 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@52544.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_347) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_744) 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@52615.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_744) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_155) 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@52622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_155) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_162) 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@52629.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_162) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_347) 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@52637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_347) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_175) 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@52645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_175) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52646.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_762) 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@52656.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_762) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52657.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_778) 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@52673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_778) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_782) 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@52681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_782) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_786) 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@52689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_786) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_790) 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@52697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_790) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_794) 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@52705.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_794) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52706.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_778) 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@52715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_778) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_149) 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@52722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_149) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_782) 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@52730.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_782) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52731.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_809) 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@52738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_809) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_813) 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@52746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_813) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_790) 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@52754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_790) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@52763.10]
        end
    `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@52764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_778) 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@52773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_778) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_149) 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@52780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_149) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_782) 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@52788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_782) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_809) 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@52796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_809) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_813) 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@52804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_813) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_846) 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@52813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_846) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@52822.10]
        end
    `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@52823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_778) 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@52832.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_778) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_786) 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@52840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_786) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_790) 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@52848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_790) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@52857.10]
        end
    `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@52858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_778) 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@52867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_778) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_786) 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@52875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_786) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_846) 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@52884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_846) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@52893.10]
        end
    `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@52894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_778) 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@52903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_778) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_786) 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@52911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_786) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_790) 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@52919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_790) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@52928.10]
        end
    `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@52929.10]
        end
    `ifdef STOP_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@52938.6]
        end
    `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@52939.6]
        end
    `ifdef STOP_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@52946.6]
        end
    `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@52947.6]
        end
    `ifdef STOP_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@52954.6]
        end
    `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@52955.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_953) 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@52994.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_953) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52995.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_957) 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@53002.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_957) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53003.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_961) 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@53010.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_961) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53011.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_965) 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@53018.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_965) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53019.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_969) 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@53026.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_969) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53027.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1010) 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@53076.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1010) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53077.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1014) 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@53084.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1014) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53085.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1018) 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@53092.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1018) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53093.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1022) 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@53100.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1022) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53101.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1026) 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@53108.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1026) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53109.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1030) 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@53116.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1030) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53117.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_1089) 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@53194.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1081 & _T_1089) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53195.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1097 & _T_1104) 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@53217.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1097 & _T_1104) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53218.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1111) 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@53229.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1111) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53230.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125) 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@53249.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1125) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53250.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53262.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53263.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53264.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input  [30:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output [30:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [30:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_4;
  wire [30:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire [30:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_5;
  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53267.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53268.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53269.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@53270.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@53271.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53272.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53273.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@53274.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53275.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53278.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53293.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53299.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53302.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@53267.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@53267.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@53267.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@53267.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@53267.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@53267.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@53267.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@53267.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@53271.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53272.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53273.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@53274.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53275.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53278.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53293.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53299.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53302.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53309.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53307.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53318.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53317.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53316.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53315.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53314.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53313.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53312.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53311.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[30: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@53267.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@53267.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@53267.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@53267.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@53267.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@53267.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@53267.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@53267.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@53390.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53391.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53392.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53393.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [30:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [30:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.4]
  TLMonitor_28 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53400.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@53441.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@53455.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@53440.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53440.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53402.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53403.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53436.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53442.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53443.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53444.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53452.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53451.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53450.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53449.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53448.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53447.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53446.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53445.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53454.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53456.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53457.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53458.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53466.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53465.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53464.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53463.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53462.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53461.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53460.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53459.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@53468.4]
endmodule
module TLMonitor_29( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53483.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53484.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53485.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@55036.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@53502.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53507.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53509.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53510.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53511.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53513.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53515.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53516.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@53518.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53519.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53520.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53521.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53522.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53524.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53525.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53527.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53528.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53529.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53530.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53531.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53532.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53533.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53534.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53535.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53536.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53537.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53538.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53539.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53540.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53542.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53543.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@53544.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@53545.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@53546.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53571.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53574.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53575.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53576.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53577.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53578.8]
  wire [30:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53579.8]
  wire [31:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53580.8]
  wire [31:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53581.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53582.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53583.8]
  wire [30:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53584.8]
  wire [31:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53585.8]
  wire [31:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53586.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53587.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53588.8]
  wire [30:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53589.8]
  wire [31:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53590.8]
  wire [31:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53591.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53592.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53593.8]
  wire [30:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53594.8]
  wire [31:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53595.8]
  wire [31:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53596.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53597.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53598.8]
  wire [30:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.8]
  wire [31:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53600.8]
  wire [31:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53601.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53602.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53603.8]
  wire [30:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53604.8]
  wire [31:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53605.8]
  wire [31:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53606.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53607.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53608.8]
  wire [30:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53609.8]
  wire [31:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53610.8]
  wire [31:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53611.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53612.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53613.8]
  wire [30:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53614.8]
  wire [31:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53615.8]
  wire [31:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53616.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53617.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53618.8]
  wire  _T_137; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53619.8]
  wire  _T_138; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53620.8]
  wire  _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53621.8]
  wire  _T_140; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53622.8]
  wire  _T_149; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53631.8]
  wire  _T_154; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53644.8]
  wire  _T_155; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53645.8]
  wire  _T_158; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53652.8]
  wire  _T_159; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53653.8]
  wire  _T_161; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53659.8]
  wire  _T_162; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53660.8]
  wire  _T_163; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53665.8]
  wire  _T_165; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53667.8]
  wire  _T_166; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53668.8]
  wire [3:0] _T_167; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53673.8]
  wire  _T_168; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53674.8]
  wire  _T_170; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53676.8]
  wire  _T_171; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53677.8]
  wire  _T_172; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53682.8]
  wire  _T_174; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53684.8]
  wire  _T_175; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53685.8]
  wire  _T_176; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53691.6]
  wire  _T_253; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53793.8]
  wire  _T_255; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53795.8]
  wire  _T_256; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53796.8]
  wire  _T_266; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53819.6]
  wire  _T_268; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53822.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53830.8]
  wire  _T_278; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53832.8]
  wire  _T_321; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53875.8]
  wire  _T_322; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53876.8]
  wire  _T_323; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53877.8]
  wire  _T_324; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53878.8]
  wire  _T_325; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53879.8]
  wire  _T_326; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53880.8]
  wire  _T_327; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53881.8]
  wire  _T_328; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53882.8]
  wire  _T_330; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53884.8]
  wire  _T_332; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53886.8]
  wire  _T_333; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53887.8]
  wire  _T_340; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53906.8]
  wire  _T_342; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53908.8]
  wire  _T_343; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53909.8]
  wire  _T_344; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53914.8]
  wire  _T_346; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53916.8]
  wire  _T_347; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53917.8]
  wire  _T_352; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53931.6]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53985.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53986.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53987.8]
  wire  _T_408; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53988.8]
  wire  _T_417; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53997.8]
  wire  _T_420; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54000.8]
  wire  _T_421; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54001.8]
  wire  _T_436; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54037.6]
  wire  _T_484; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54086.8]
  wire  _T_485; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54087.8]
  wire  _T_486; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54088.8]
  wire  _T_501; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54103.8]
  wire  _T_504; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54106.8]
  wire  _T_505; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54107.8]
  wire [3:0] _T_516; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.8]
  wire [3:0] _T_517; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54135.8]
  wire  _T_518; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54136.8]
  wire  _T_520; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.8]
  wire  _T_521; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54139.8]
  wire  _T_522; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54145.6]
  wire  _T_524; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54148.8]
  wire  _T_571; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54195.8]
  wire  _T_572; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54196.8]
  wire  _T_573; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54197.8]
  wire  _T_574; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54198.8]
  wire  _T_585; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54209.8]
  wire  _T_586; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54210.8]
  wire  _T_593; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54229.8]
  wire  _T_595; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54231.8]
  wire  _T_596; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54232.8]
  wire  _T_601; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54246.6]
  wire  _T_672; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54330.8]
  wire  _T_674; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54332.8]
  wire  _T_675; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54333.8]
  wire  _T_680; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54347.6]
  wire  _T_743; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54411.8]
  wire  _T_744; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54412.8]
  wire  _T_759; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54450.6]
  wire  _T_761; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54452.6]
  wire  _T_762; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54453.6]
  wire  _T_764; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@54459.6]
  wire  _T_773; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54464.6]
  wire  _T_775; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54466.6]
  wire  _T_777; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54469.8]
  wire  _T_778; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54470.8]
  wire  _T_779; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54475.8]
  wire  _T_781; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54477.8]
  wire  _T_782; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54478.8]
  wire  _T_783; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54483.8]
  wire  _T_785; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54485.8]
  wire  _T_786; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54486.8]
  wire  _T_787; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54491.8]
  wire  _T_789; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54493.8]
  wire  _T_790; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54494.8]
  wire  _T_791; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54499.8]
  wire  _T_793; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54501.8]
  wire  _T_794; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54502.8]
  wire  _T_795; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54508.6]
  wire  _T_806; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54532.8]
  wire  _T_808; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54534.8]
  wire  _T_809; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54535.8]
  wire  _T_810; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54540.8]
  wire  _T_812; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.8]
  wire  _T_813; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54543.8]
  wire  _T_823; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54566.6]
  wire  _T_843; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54607.8]
  wire  _T_845; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54609.8]
  wire  _T_846; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54610.8]
  wire  _T_852; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54625.6]
  wire  _T_869; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54660.6]
  wire  _T_887; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54696.6]
  wire  _T_916; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54756.4]
  wire [9:0] _T_921; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54761.4]
  wire  _T_922; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54762.4]
  wire  _T_923; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54763.4]
  reg [9:0] _T_926; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_927; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54766.4]
  wire [10:0] _T_928; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
  wire [9:0] _T_929; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54768.4]
  wire  _T_930; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54769.4]
  reg [2:0] _T_939; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54780.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_941; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54781.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_943; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54782.4]
  reg [31:0] _RAND_3;
  reg  _T_945; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54783.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_947; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54784.4]
  reg [31:0] _RAND_5;
  wire  _T_948; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54785.4]
  wire  _T_949; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54786.4]
  wire  _T_950; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54788.6]
  wire  _T_952; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54790.6]
  wire  _T_953; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54791.6]
  wire  _T_954; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54796.6]
  wire  _T_956; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54798.6]
  wire  _T_957; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54799.6]
  wire  _T_958; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54804.6]
  wire  _T_960; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54806.6]
  wire  _T_961; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54807.6]
  wire  _T_962; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54812.6]
  wire  _T_964; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54814.6]
  wire  _T_965; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54815.6]
  wire  _T_966; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54820.6]
  wire  _T_968; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54822.6]
  wire  _T_969; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54823.6]
  wire  _T_971; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54830.4]
  wire  _T_972; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54838.4]
  wire [26:0] _T_974; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54840.4]
  wire [11:0] _T_975; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54841.4]
  wire [11:0] _T_976; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54842.4]
  wire [9:0] _T_977; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54843.4]
  wire  _T_978; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54844.4]
  reg [9:0] _T_981; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54846.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_982; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54847.4]
  wire [10:0] _T_983; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54848.4]
  wire [9:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54849.4]
  wire  _T_985; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54850.4]
  reg [2:0] _T_994; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54861.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_996; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54862.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_998; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54863.4]
  reg [31:0] _RAND_9;
  reg  _T_1000; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54864.4]
  reg [31:0] _RAND_10;
  reg  _T_1002; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54865.4]
  reg [31:0] _RAND_11;
  reg  _T_1004; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54866.4]
  reg [31:0] _RAND_12;
  wire  _T_1005; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54867.4]
  wire  _T_1006; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54868.4]
  wire  _T_1007; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54870.6]
  wire  _T_1009; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54872.6]
  wire  _T_1010; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54873.6]
  wire  _T_1011; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54878.6]
  wire  _T_1013; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54880.6]
  wire  _T_1014; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54881.6]
  wire  _T_1015; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54886.6]
  wire  _T_1017; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54888.6]
  wire  _T_1018; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54889.6]
  wire  _T_1019; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54894.6]
  wire  _T_1021; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54896.6]
  wire  _T_1022; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54897.6]
  wire  _T_1023; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54902.6]
  wire  _T_1025; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54904.6]
  wire  _T_1026; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54905.6]
  wire  _T_1027; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54910.6]
  wire  _T_1029; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54912.6]
  wire  _T_1030; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54913.6]
  wire  _T_1032; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54920.4]
  reg [1:0] _T_1034; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54929.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1045; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54939.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1046; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54940.4]
  wire [10:0] _T_1047; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54941.4]
  wire [9:0] _T_1048; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54942.4]
  wire  _T_1049; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54943.4]
  reg [9:0] _T_1066; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54962.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1067; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54963.4]
  wire [10:0] _T_1068; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54964.4]
  wire [9:0] _T_1069; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54965.4]
  wire  _T_1070; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54966.4]
  wire  _T_1081; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54981.4]
  wire [1:0] _T_1083; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54984.6]
  wire [1:0] _T_1084; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54986.6]
  wire  _T_1085; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54987.6]
  wire  _T_1086; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54988.6]
  wire  _T_1088; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54990.6]
  wire  _T_1089; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54991.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54983.4]
  wire  _T_1094; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55002.4]
  wire  _T_1096; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@55004.4]
  wire  _T_1097; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55005.4]
  wire [1:0] _T_1098; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@55007.6]
  wire [1:0] _T_1099; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@55009.6]
  wire [1:0] _T_1100; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@55010.6]
  wire  _T_1101; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@55011.6]
  wire  _T_1103; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55013.6]
  wire  _T_1104; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55014.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@55006.4]
  wire  _T_1105; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55020.4]
  wire  _T_1106; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55021.4]
  wire  _T_1107; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.4]
  wire  _T_1108; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55023.4]
  wire  _T_1110; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55025.4]
  wire  _T_1111; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55026.4]
  wire [1:0] _T_1112; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55031.4]
  wire [1:0] _T_1113; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55032.4]
  wire [1:0] _T_1114; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55033.4]
  reg [31:0] _T_1116; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55035.4]
  reg [31:0] _RAND_16;
  wire  _T_1117; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@55038.4]
  wire  _T_1118; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55039.4]
  wire  _T_1119; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55040.4]
  wire  _T_1120; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55041.4]
  wire  _T_1121; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@55042.4]
  wire  _T_1122; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55043.4]
  wire  _T_1124; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55045.4]
  wire  _T_1125; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55046.4]
  wire [31:0] _T_1127; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55052.4]
  wire  _T_1130; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55056.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53633.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53753.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53889.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54003.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54109.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54212.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54313.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54414.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54472.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54514.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54572.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54631.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54666.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54702.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@55036.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@53502.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53507.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53509.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53510.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53511.6]
  assign _GEN_18 = {{19'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53513.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53515.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53516.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@53518.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@53519.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53520.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53521.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53522.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53524.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53525.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53527.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53528.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53529.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53530.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53531.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53532.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53533.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53534.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53535.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53536.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53537.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53538.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53539.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53540.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@53542.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53543.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@53544.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@53545.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@53546.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53571.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53574.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53575.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53576.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53577.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53578.8]
  assign _T_97 = io_in_a_bits_address ^ 31'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53579.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53580.8]
  assign _T_99 = $signed(_T_98) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53581.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53582.8]
  assign _T_101 = $signed(_T_100) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53583.8]
  assign _T_102 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53584.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53585.8]
  assign _T_104 = $signed(_T_103) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53586.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53587.8]
  assign _T_106 = $signed(_T_105) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53588.8]
  assign _T_107 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53589.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53590.8]
  assign _T_109 = $signed(_T_108) & $signed(-32'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53591.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53592.8]
  assign _T_111 = $signed(_T_110) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53593.8]
  assign _T_112 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53594.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53595.8]
  assign _T_114 = $signed(_T_113) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53596.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53597.8]
  assign _T_116 = $signed(_T_115) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53598.8]
  assign _T_117 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53600.8]
  assign _T_119 = $signed(_T_118) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53601.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53602.8]
  assign _T_121 = $signed(_T_120) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53603.8]
  assign _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53604.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53605.8]
  assign _T_124 = $signed(_T_123) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53606.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53607.8]
  assign _T_126 = $signed(_T_125) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53608.8]
  assign _T_127 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53609.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53610.8]
  assign _T_129 = $signed(_T_128) & $signed(-32'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53611.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53612.8]
  assign _T_131 = $signed(_T_130) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53613.8]
  assign _T_132 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@53614.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@53615.8]
  assign _T_134 = $signed(_T_133) & $signed(-32'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53616.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@53617.8]
  assign _T_136 = $signed(_T_135) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@53618.8]
  assign _T_137 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53619.8]
  assign _T_138 = _T_137 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53620.8]
  assign _T_139 = _T_138 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53621.8]
  assign _T_140 = _T_139 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53622.8]
  assign _T_149 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53631.8]
  assign _T_154 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53644.8]
  assign _T_155 = _T_154 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53645.8]
  assign _T_158 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53652.8]
  assign _T_159 = _T_158 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53653.8]
  assign _T_161 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53659.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53660.8]
  assign _T_163 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53665.8]
  assign _T_165 = _T_163 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53667.8]
  assign _T_166 = _T_165 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53668.8]
  assign _T_167 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53673.8]
  assign _T_168 = _T_167 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53674.8]
  assign _T_170 = _T_168 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53676.8]
  assign _T_171 = _T_170 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53677.8]
  assign _T_172 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53682.8]
  assign _T_174 = _T_172 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53684.8]
  assign _T_175 = _T_174 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53685.8]
  assign _T_176 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53691.6]
  assign _T_253 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53793.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53795.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53796.8]
  assign _T_266 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53819.6]
  assign _T_268 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53822.8]
  assign _T_276 = _T_268 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53830.8]
  assign _T_278 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53832.8]
  assign _T_321 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53875.8]
  assign _T_322 = _T_321 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53876.8]
  assign _T_323 = _T_322 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53877.8]
  assign _T_324 = _T_323 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53878.8]
  assign _T_325 = _T_324 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53879.8]
  assign _T_326 = _T_325 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53880.8]
  assign _T_327 = _T_326 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53881.8]
  assign _T_328 = _T_278 & _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53882.8]
  assign _T_330 = _T_276 | _T_328; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53884.8]
  assign _T_332 = _T_330 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53886.8]
  assign _T_333 = _T_332 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53887.8]
  assign _T_340 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53906.8]
  assign _T_342 = _T_340 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53908.8]
  assign _T_343 = _T_342 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53909.8]
  assign _T_344 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53914.8]
  assign _T_346 = _T_344 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53916.8]
  assign _T_347 = _T_346 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53917.8]
  assign _T_352 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53931.6]
  assign _T_405 = _T_323 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53985.8]
  assign _T_406 = _T_405 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53986.8]
  assign _T_407 = _T_406 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53987.8]
  assign _T_408 = _T_278 & _T_407; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53988.8]
  assign _T_417 = _T_276 | _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53997.8]
  assign _T_420 = _T_417 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54000.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54001.8]
  assign _T_436 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54037.6]
  assign _T_484 = _T_323 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54086.8]
  assign _T_485 = _T_484 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54087.8]
  assign _T_486 = _T_278 & _T_485; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54088.8]
  assign _T_501 = _T_276 | _T_486; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54103.8]
  assign _T_504 = _T_501 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54106.8]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54107.8]
  assign _T_516 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.8]
  assign _T_517 = io_in_a_bits_mask & _T_516; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54135.8]
  assign _T_518 = _T_517 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54136.8]
  assign _T_520 = _T_518 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.8]
  assign _T_521 = _T_520 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54139.8]
  assign _T_522 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54145.6]
  assign _T_524 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54148.8]
  assign _T_571 = _T_140 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54195.8]
  assign _T_572 = _T_571 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54196.8]
  assign _T_573 = _T_572 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54197.8]
  assign _T_574 = _T_524 & _T_573; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54198.8]
  assign _T_585 = _T_574 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54209.8]
  assign _T_586 = _T_585 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54210.8]
  assign _T_593 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54229.8]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54231.8]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54232.8]
  assign _T_601 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54246.6]
  assign _T_672 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54330.8]
  assign _T_674 = _T_672 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54332.8]
  assign _T_675 = _T_674 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54333.8]
  assign _T_680 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54347.6]
  assign _T_743 = _T_276 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54411.8]
  assign _T_744 = _T_743 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54412.8]
  assign _T_759 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54450.6]
  assign _T_761 = _T_759 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54452.6]
  assign _T_762 = _T_761 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54453.6]
  assign _T_764 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@54459.6]
  assign _T_773 = io_in_d_bits_source | _T_764; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54464.6]
  assign _T_775 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54466.6]
  assign _T_777 = _T_773 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54469.8]
  assign _T_778 = _T_777 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54470.8]
  assign _T_779 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54475.8]
  assign _T_781 = _T_779 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54477.8]
  assign _T_782 = _T_781 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54478.8]
  assign _T_783 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54483.8]
  assign _T_785 = _T_783 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54485.8]
  assign _T_786 = _T_785 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54486.8]
  assign _T_787 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54491.8]
  assign _T_789 = _T_787 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54493.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54494.8]
  assign _T_791 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54499.8]
  assign _T_793 = _T_791 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54501.8]
  assign _T_794 = _T_793 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54502.8]
  assign _T_795 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54508.6]
  assign _T_806 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54532.8]
  assign _T_808 = _T_806 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54534.8]
  assign _T_809 = _T_808 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54535.8]
  assign _T_810 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54540.8]
  assign _T_812 = _T_810 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.8]
  assign _T_813 = _T_812 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54543.8]
  assign _T_823 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54566.6]
  assign _T_843 = _T_791 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54607.8]
  assign _T_845 = _T_843 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54609.8]
  assign _T_846 = _T_845 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54610.8]
  assign _T_852 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54625.6]
  assign _T_869 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54660.6]
  assign _T_887 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54696.6]
  assign _T_916 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54756.4]
  assign _T_921 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54761.4]
  assign _T_922 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54762.4]
  assign _T_923 = _T_922 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54763.4]
  assign _T_927 = _T_926 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54766.4]
  assign _T_928 = $unsigned(_T_927); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
  assign _T_929 = _T_928[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54768.4]
  assign _T_930 = _T_926 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54769.4]
  assign _T_948 = _T_930 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54785.4]
  assign _T_949 = io_in_a_valid & _T_948; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54786.4]
  assign _T_950 = io_in_a_bits_opcode == _T_939; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54788.6]
  assign _T_952 = _T_950 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54790.6]
  assign _T_953 = _T_952 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54791.6]
  assign _T_954 = io_in_a_bits_param == _T_941; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54796.6]
  assign _T_956 = _T_954 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54798.6]
  assign _T_957 = _T_956 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54799.6]
  assign _T_958 = io_in_a_bits_size == _T_943; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54804.6]
  assign _T_960 = _T_958 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54806.6]
  assign _T_961 = _T_960 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54807.6]
  assign _T_962 = io_in_a_bits_source == _T_945; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54812.6]
  assign _T_964 = _T_962 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54814.6]
  assign _T_965 = _T_964 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54815.6]
  assign _T_966 = io_in_a_bits_address == _T_947; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54820.6]
  assign _T_968 = _T_966 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54822.6]
  assign _T_969 = _T_968 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54823.6]
  assign _T_971 = _T_916 & _T_930; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54830.4]
  assign _T_972 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54838.4]
  assign _T_974 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54840.4]
  assign _T_975 = _T_974[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54841.4]
  assign _T_976 = ~ _T_975; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54842.4]
  assign _T_977 = _T_976[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54843.4]
  assign _T_978 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54844.4]
  assign _T_982 = _T_981 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54847.4]
  assign _T_983 = $unsigned(_T_982); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54848.4]
  assign _T_984 = _T_983[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54849.4]
  assign _T_985 = _T_981 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54850.4]
  assign _T_1005 = _T_985 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54867.4]
  assign _T_1006 = io_in_d_valid & _T_1005; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54868.4]
  assign _T_1007 = io_in_d_bits_opcode == _T_994; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54870.6]
  assign _T_1009 = _T_1007 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54872.6]
  assign _T_1010 = _T_1009 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54873.6]
  assign _T_1011 = io_in_d_bits_param == _T_996; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54878.6]
  assign _T_1013 = _T_1011 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54880.6]
  assign _T_1014 = _T_1013 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54881.6]
  assign _T_1015 = io_in_d_bits_size == _T_998; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54886.6]
  assign _T_1017 = _T_1015 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54888.6]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54889.6]
  assign _T_1019 = io_in_d_bits_source == _T_1000; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54894.6]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54896.6]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54897.6]
  assign _T_1023 = io_in_d_bits_sink == _T_1002; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54902.6]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54904.6]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54905.6]
  assign _T_1027 = io_in_d_bits_denied == _T_1004; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54910.6]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54912.6]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54913.6]
  assign _T_1032 = _T_972 & _T_985; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54920.4]
  assign _T_1046 = _T_1045 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54940.4]
  assign _T_1047 = $unsigned(_T_1046); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54941.4]
  assign _T_1048 = _T_1047[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54942.4]
  assign _T_1049 = _T_1045 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54943.4]
  assign _T_1067 = _T_1066 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54963.4]
  assign _T_1068 = $unsigned(_T_1067); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54964.4]
  assign _T_1069 = _T_1068[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54965.4]
  assign _T_1070 = _T_1066 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54966.4]
  assign _T_1081 = _T_916 & _T_1049; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54981.4]
  assign _T_1083 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54984.6]
  assign _T_1084 = _T_1034 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54986.6]
  assign _T_1085 = _T_1084[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54987.6]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54988.6]
  assign _T_1088 = _T_1086 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54990.6]
  assign _T_1089 = _T_1088 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54991.6]
  assign _GEN_15 = _T_1081 ? _T_1083 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54983.4]
  assign _T_1094 = _T_972 & _T_1070; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55002.4]
  assign _T_1096 = _T_775 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@55004.4]
  assign _T_1097 = _T_1094 & _T_1096; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55005.4]
  assign _T_1098 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@55007.6]
  assign _T_1099 = _GEN_15 | _T_1034; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@55009.6]
  assign _T_1100 = _T_1099 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@55010.6]
  assign _T_1101 = _T_1100[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@55011.6]
  assign _T_1103 = _T_1101 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55013.6]
  assign _T_1104 = _T_1103 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55014.6]
  assign _GEN_16 = _T_1097 ? _T_1098 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@55006.4]
  assign _T_1105 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55020.4]
  assign _T_1106 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55021.4]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.4]
  assign _T_1108 = _T_1105 | _T_1107; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55023.4]
  assign _T_1110 = _T_1108 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55025.4]
  assign _T_1111 = _T_1110 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55026.4]
  assign _T_1112 = _T_1034 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55031.4]
  assign _T_1113 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55032.4]
  assign _T_1114 = _T_1112 & _T_1113; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55033.4]
  assign _T_1117 = _T_1034 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@55038.4]
  assign _T_1118 = _T_1117 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55039.4]
  assign _T_1119 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55040.4]
  assign _T_1120 = _T_1118 | _T_1119; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55041.4]
  assign _T_1121 = _T_1116 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@55042.4]
  assign _T_1122 = _T_1120 | _T_1121; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55043.4]
  assign _T_1124 = _T_1122 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55045.4]
  assign _T_1125 = _T_1124 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55046.4]
  assign _T_1127 = _T_1116 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55052.4]
  assign _T_1130 = _T_916 | _T_972; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55056.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53633.10]
  assign _GEN_35 = io_in_a_valid & _T_176; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53753.10]
  assign _GEN_53 = io_in_a_valid & _T_266; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53889.10]
  assign _GEN_65 = io_in_a_valid & _T_352; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54003.10]
  assign _GEN_75 = io_in_a_valid & _T_436; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54109.10]
  assign _GEN_85 = io_in_a_valid & _T_522; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54212.10]
  assign _GEN_95 = io_in_a_valid & _T_601; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54313.10]
  assign _GEN_105 = io_in_a_valid & _T_680; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54414.10]
  assign _GEN_115 = io_in_d_valid & _T_775; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54472.10]
  assign _GEN_125 = io_in_d_valid & _T_795; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54514.10]
  assign _GEN_137 = io_in_d_valid & _T_823; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54572.10]
  assign _GEN_149 = io_in_d_valid & _T_852; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54631.10]
  assign _GEN_155 = io_in_d_valid & _T_869; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54666.10]
  assign _GEN_161 = io_in_d_valid & _T_887; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54702.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_926 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_939 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_941 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_943 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_945 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_947 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_981 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_994 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_996 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_998 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1000 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1002 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1004 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1034 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1045 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1066 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1116 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_926 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_930) begin
          if (_T_923) begin
            _T_926 <= _T_921;
          end else begin
            _T_926 <= 10'h0;
          end
        end else begin
          _T_926 <= _T_929;
        end
      end
    end
    if (_T_971) begin
      _T_939 <= io_in_a_bits_opcode;
    end
    if (_T_971) begin
      _T_941 <= io_in_a_bits_param;
    end
    if (_T_971) begin
      _T_943 <= io_in_a_bits_size;
    end
    if (_T_971) begin
      _T_945 <= io_in_a_bits_source;
    end
    if (_T_971) begin
      _T_947 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_981 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_985) begin
          if (_T_978) begin
            _T_981 <= _T_977;
          end else begin
            _T_981 <= 10'h0;
          end
        end else begin
          _T_981 <= _T_984;
        end
      end
    end
    if (_T_1032) begin
      _T_994 <= io_in_d_bits_opcode;
    end
    if (_T_1032) begin
      _T_996 <= io_in_d_bits_param;
    end
    if (_T_1032) begin
      _T_998 <= io_in_d_bits_size;
    end
    if (_T_1032) begin
      _T_1000 <= io_in_d_bits_source;
    end
    if (_T_1032) begin
      _T_1002 <= io_in_d_bits_sink;
    end
    if (_T_1032) begin
      _T_1004 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1034 <= 2'h0;
    end else begin
      _T_1034 <= _T_1114;
    end
    if (reset) begin
      _T_1045 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_1049) begin
          if (_T_923) begin
            _T_1045 <= _T_921;
          end else begin
            _T_1045 <= 10'h0;
          end
        end else begin
          _T_1045 <= _T_1048;
        end
      end
    end
    if (reset) begin
      _T_1066 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_1070) begin
          if (_T_978) begin
            _T_1066 <= _T_977;
          end else begin
            _T_1066 <= 10'h0;
          end
        end else begin
          _T_1066 <= _T_1069;
        end
      end
    end
    if (reset) begin
      _T_1116 <= 32'h0;
    end else begin
      if (_T_1130) begin
        _T_1116 <= 32'h0;
      end else begin
        _T_1116 <= _T_1127;
      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@53498.8]
        end
    `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@53499.8]
        end
    `ifdef STOP_COND
      end
    `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@53568.8]
        end
    `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@53569.8]
        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 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@53633.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53634.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 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@53640.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_155) 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@53647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_155) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_159) 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@53655.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_159) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_162) 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@53662.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_162) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_166) 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@53670.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_166) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53671.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_171) 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@53679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_171) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_175) 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@53687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_175) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53688.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 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@53753.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53754.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 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@53760.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_155) 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@53767.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_155) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_159) 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@53775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_159) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_162) 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@53782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_162) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_166) 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@53790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_166) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_256) 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@53798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_256) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_171) 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@53807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_171) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53808.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_175) 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@53815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_175) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_333) 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@53889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_333) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_155) 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@53896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_155) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_162) 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@53903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_162) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_343) 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@53911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_343) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_347) 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@53919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_347) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_175) 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@53927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_175) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_421) 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@54003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_421) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_155) 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@54010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_155) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_162) 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@54017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_162) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_343) 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@54025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_343) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_347) 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@54033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_347) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_505) 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@54109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_505) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_155) 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@54116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_155) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_162) 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@54123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_162) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_343) 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@54131.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_343) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_521) 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@54141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_521) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_586) 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@54212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_586) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_155) 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@54219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_155) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_162) 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@54226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_162) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_596) 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@54234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_596) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_347) 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@54242.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_347) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_586) 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@54313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_586) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_155) 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@54320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_155) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_162) 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@54327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_162) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_675) 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@54335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_675) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_347) 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@54343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_347) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_744) 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@54414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_744) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_155) 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@54421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_155) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_162) 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@54428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_162) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_347) 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@54436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_347) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_175) 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@54444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_175) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54445.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_762) 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@54455.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_762) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54456.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_778) 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@54472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_778) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_782) 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@54480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_782) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_786) 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@54488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_786) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_790) 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@54496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_790) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_794) 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@54504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_794) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_778) 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@54514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_778) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_149) 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@54521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_149) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_782) 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@54529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_782) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_809) 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@54537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_809) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_813) 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@54545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_813) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_790) 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@54553.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_790) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54554.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@54562.10]
        end
    `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@54563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_778) 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@54572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_778) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_149) 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@54579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_149) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_782) 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@54587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_782) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_809) 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@54595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_809) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_813) 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@54603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_813) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_846) 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@54612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_846) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@54621.10]
        end
    `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@54622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_778) 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@54631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_778) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_786) 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@54639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_786) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_790) 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@54647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_790) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@54656.10]
        end
    `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@54657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_778) 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@54666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_778) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_786) 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@54674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_786) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_846) 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@54683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_846) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@54692.10]
        end
    `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@54693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_778) 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@54702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_778) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_786) 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@54710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_786) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_790) 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@54718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_790) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@54727.10]
        end
    `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@54728.10]
        end
    `ifdef STOP_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@54737.6]
        end
    `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@54738.6]
        end
    `ifdef STOP_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@54745.6]
        end
    `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@54746.6]
        end
    `ifdef STOP_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@54753.6]
        end
    `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@54754.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_953) 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@54793.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_953) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54794.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_957) 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@54801.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_957) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54802.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_961) 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@54809.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_961) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54810.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_965) 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@54817.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_965) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54818.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_969) 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@54825.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_969) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54826.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1010) 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@54875.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1010) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54876.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1014) 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@54883.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1014) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54884.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1018) 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@54891.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1018) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54892.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1022) 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@54899.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1022) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54900.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1026) 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@54907.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1026) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54908.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1030) 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@54915.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1030) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54916.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_1089) 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@54993.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1081 & _T_1089) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54994.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1097 & _T_1104) 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@55016.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1097 & _T_1104) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55017.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1111) 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@55028.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1111) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55029.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125) 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@55048.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1125) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55049.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLAtomicAutomata_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55061.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55062.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55063.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55064.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.4]
  reg [1:0] _T_258_0_state; // @[AtomicAutomata.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55118.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_269_0_bits_opcode; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_269_0_bits_param; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_269_0_bits_size; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_3;
  reg  _T_269_0_bits_source; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_269_0_bits_address; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_5;
  reg [3:0] _T_269_0_bits_mask; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_6;
  reg [31:0] _T_269_0_bits_data; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_7;
  reg  _T_269_0_bits_corrupt; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_269_0_fifoId; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_269_0_lut; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55119.4]
  reg [31:0] _RAND_10;
  reg [31:0] _T_276_0_data; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55120.4]
  reg [31:0] _RAND_11;
  reg  _T_276_0_denied; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55120.4]
  reg [31:0] _RAND_12;
  reg  _T_276_0_corrupt; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55120.4]
  reg [31:0] _RAND_13;
  wire  _T_280; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@55121.4]
  wire  _T_281; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@55122.4]
  wire  _T_282; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55123.4]
  wire  _T_284; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55125.4]
  wire  _T_285; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55126.4]
  wire  _T_287; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55128.4]
  wire [30:0] _T_290; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55131.4]
  wire [31:0] _T_291; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55132.4]
  wire [31:0] _T_292; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55133.4]
  wire [31:0] _T_293; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55134.4]
  wire  _T_294; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55135.4]
  wire  _T_295; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55136.4]
  wire [30:0] _T_307; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55148.4]
  wire [31:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55149.4]
  wire [31:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55150.4]
  wire [31:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55151.4]
  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55152.4]
  wire  _T_350; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@55191.4]
  wire  _T_351; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@55192.4]
  wire  _T_352; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55193.4]
  wire  _T_353; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@55194.4]
  wire [30:0] _T_368; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55209.4]
  wire [31:0] _T_369; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55210.4]
  wire [31:0] _T_370; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55211.4]
  wire [31:0] _T_371; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55212.4]
  wire  _T_372; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55213.4]
  wire [30:0] _T_373; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55214.4]
  wire [31:0] _T_374; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55215.4]
  wire [31:0] _T_375; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55216.4]
  wire [31:0] _T_376; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55217.4]
  wire  _T_377; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55218.4]
  wire [30:0] _T_378; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55219.4]
  wire [31:0] _T_379; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55220.4]
  wire [31:0] _T_380; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55221.4]
  wire [31:0] _T_381; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55222.4]
  wire  _T_382; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55223.4]
  wire [30:0] _T_383; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55224.4]
  wire [31:0] _T_384; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55225.4]
  wire [31:0] _T_385; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55226.4]
  wire [31:0] _T_386; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55227.4]
  wire  _T_387; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55228.4]
  wire [30:0] _T_388; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55229.4]
  wire [31:0] _T_389; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55230.4]
  wire [31:0] _T_390; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55231.4]
  wire [31:0] _T_391; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55232.4]
  wire  _T_392; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55233.4]
  wire [30:0] _T_393; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55234.4]
  wire [31:0] _T_394; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55235.4]
  wire [31:0] _T_395; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.4]
  wire [31:0] _T_396; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55237.4]
  wire  _T_397; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55238.4]
  wire [30:0] _T_403; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55244.4]
  wire [31:0] _T_404; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55245.4]
  wire [31:0] _T_405; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55246.4]
  wire [31:0] _T_406; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55247.4]
  wire  _T_407; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55248.4]
  wire [30:0] _T_408; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55249.4]
  wire [31:0] _T_409; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55250.4]
  wire [31:0] _T_410; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55251.4]
  wire [31:0] _T_411; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55252.4]
  wire  _T_412; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55253.4]
  wire [30:0] _T_413; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55254.4]
  wire [31:0] _T_414; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55255.4]
  wire [31:0] _T_415; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55256.4]
  wire [31:0] _T_416; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55257.4]
  wire  _T_417; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55258.4]
  wire [30:0] _T_418; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55259.4]
  wire [31:0] _T_419; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55260.4]
  wire [31:0] _T_420; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55261.4]
  wire [31:0] _T_421; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55262.4]
  wire  _T_422; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55263.4]
  wire [1:0] _T_424; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55264.4]
  wire [2:0] _T_425; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55265.4]
  wire [2:0] _T_426; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55266.4]
  wire [3:0] _T_427; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55267.4]
  wire [3:0] _T_428; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55268.4]
  wire [2:0] _T_430; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55270.4]
  wire [3:0] _T_431; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55271.4]
  wire [1:0] _T_432; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55272.4]
  wire [3:0] _T_433; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55273.4]
  wire [2:0] _T_435; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55275.4]
  wire [2:0] _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55276.4]
  wire [2:0] _T_436; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55276.4]
  wire [2:0] _T_437; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55277.4]
  wire [3:0] _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55278.4]
  wire [3:0] _T_438; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55278.4]
  wire [3:0] _T_439; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55279.4]
  wire [3:0] _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55280.4]
  wire [3:0] _T_440; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55280.4]
  wire [3:0] _GEN_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55281.4]
  wire [3:0] _T_441; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55281.4]
  wire [3:0] _T_442; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55282.4]
  wire [3:0] _GEN_43; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55283.4]
  wire [3:0] _T_443; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55283.4]
  wire [3:0] _T_444; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55284.4]
  wire [3:0] _GEN_44; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55286.4]
  wire [3:0] _T_446; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55286.4]
  wire  _T_449; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@55289.4]
  wire  _T_450; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@55290.4]
  wire  _T_454; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55294.4]
  wire  _T_455; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55295.4]
  wire [1:0] _T_456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55296.4]
  wire  _T_457; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55297.4]
  wire  _T_458; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55298.4]
  wire [1:0] _T_459; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55299.4]
  wire  _T_460; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55300.4]
  wire  _T_461; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55301.4]
  wire [1:0] _T_462; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55302.4]
  wire  _T_463; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55303.4]
  wire  _T_464; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55304.4]
  wire [1:0] _T_465; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55305.4]
  wire  _T_466; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55306.4]
  wire  _T_467; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55307.4]
  wire [1:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55308.4]
  wire  _T_469; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55309.4]
  wire  _T_470; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55310.4]
  wire [1:0] _T_471; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55311.4]
  wire  _T_472; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55312.4]
  wire  _T_473; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55313.4]
  wire [1:0] _T_474; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55314.4]
  wire  _T_475; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55315.4]
  wire  _T_476; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55316.4]
  wire [1:0] _T_477; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55317.4]
  wire  _T_478; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55318.4]
  wire  _T_479; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55319.4]
  wire [1:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55320.4]
  wire  _T_481; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55321.4]
  wire  _T_482; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55322.4]
  wire [1:0] _T_483; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55323.4]
  wire  _T_484; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55324.4]
  wire  _T_485; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55325.4]
  wire [1:0] _T_486; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55326.4]
  wire  _T_487; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55327.4]
  wire  _T_488; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55328.4]
  wire [1:0] _T_489; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55329.4]
  wire  _T_490; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55330.4]
  wire  _T_491; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55331.4]
  wire [1:0] _T_492; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55332.4]
  wire  _T_493; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55333.4]
  wire  _T_494; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55334.4]
  wire [1:0] _T_495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55335.4]
  wire  _T_496; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55336.4]
  wire  _T_497; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55337.4]
  wire [1:0] _T_498; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55338.4]
  wire  _T_499; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55339.4]
  wire  _T_500; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.4]
  wire [1:0] _T_501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55341.4]
  wire  _T_502; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55342.4]
  wire  _T_503; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55343.4]
  wire [1:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55344.4]
  wire  _T_505; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55345.4]
  wire  _T_506; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55346.4]
  wire [1:0] _T_507; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55347.4]
  wire  _T_508; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55348.4]
  wire  _T_509; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55349.4]
  wire [1:0] _T_510; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55350.4]
  wire  _T_511; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55351.4]
  wire  _T_512; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55352.4]
  wire [1:0] _T_513; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55353.4]
  wire  _T_514; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55354.4]
  wire  _T_515; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55355.4]
  wire [1:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55356.4]
  wire  _T_517; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55357.4]
  wire  _T_518; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55358.4]
  wire [1:0] _T_519; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55359.4]
  wire  _T_520; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55360.4]
  wire  _T_521; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55361.4]
  wire [1:0] _T_522; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55362.4]
  wire  _T_523; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55363.4]
  wire  _T_524; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55364.4]
  wire [1:0] _T_525; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55365.4]
  wire  _T_526; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55366.4]
  wire  _T_527; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55367.4]
  wire [1:0] _T_528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55368.4]
  wire  _T_529; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55369.4]
  wire  _T_530; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55370.4]
  wire [1:0] _T_531; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55371.4]
  wire  _T_532; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55372.4]
  wire  _T_533; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55373.4]
  wire [1:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55374.4]
  wire  _T_535; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55375.4]
  wire  _T_536; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55376.4]
  wire [1:0] _T_537; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55377.4]
  wire  _T_538; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55378.4]
  wire  _T_539; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55379.4]
  wire [1:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55380.4]
  wire  _T_541; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55381.4]
  wire  _T_542; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55382.4]
  wire [1:0] _T_543; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55383.4]
  wire  _T_544; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55384.4]
  wire  _T_545; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55385.4]
  wire [1:0] _T_546; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55386.4]
  wire  _T_547; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55387.4]
  wire  _T_548; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55388.4]
  wire [1:0] _T_549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55389.4]
  wire [3:0] _T_550; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55390.4]
  wire  _T_551; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.4]
  wire [3:0] _T_552; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55392.4]
  wire  _T_553; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55393.4]
  wire [3:0] _T_554; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55394.4]
  wire  _T_555; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55395.4]
  wire [3:0] _T_556; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55396.4]
  wire  _T_557; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55397.4]
  wire [3:0] _T_558; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55398.4]
  wire  _T_559; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55399.4]
  wire [3:0] _T_560; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55400.4]
  wire  _T_561; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55401.4]
  wire [3:0] _T_562; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55402.4]
  wire  _T_563; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55403.4]
  wire [3:0] _T_564; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55404.4]
  wire  _T_565; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55405.4]
  wire [3:0] _T_566; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55406.4]
  wire  _T_567; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55407.4]
  wire [3:0] _T_568; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55408.4]
  wire  _T_569; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55409.4]
  wire [3:0] _T_570; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55410.4]
  wire  _T_571; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55411.4]
  wire [3:0] _T_572; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55412.4]
  wire  _T_573; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55413.4]
  wire [3:0] _T_574; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55414.4]
  wire  _T_575; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55415.4]
  wire [3:0] _T_576; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55416.4]
  wire  _T_577; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55417.4]
  wire [3:0] _T_578; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55418.4]
  wire  _T_579; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55419.4]
  wire [3:0] _T_580; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55420.4]
  wire  _T_581; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55421.4]
  wire [3:0] _T_582; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55422.4]
  wire  _T_583; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55423.4]
  wire [3:0] _T_584; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55424.4]
  wire  _T_585; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55425.4]
  wire [3:0] _T_586; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55426.4]
  wire  _T_587; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55427.4]
  wire [3:0] _T_588; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55428.4]
  wire  _T_589; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55429.4]
  wire [3:0] _T_590; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55430.4]
  wire  _T_591; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55431.4]
  wire [3:0] _T_592; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55432.4]
  wire  _T_593; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55433.4]
  wire [3:0] _T_594; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55434.4]
  wire  _T_595; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55435.4]
  wire [3:0] _T_596; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55436.4]
  wire  _T_597; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55437.4]
  wire [3:0] _T_598; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55438.4]
  wire  _T_599; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55439.4]
  wire [3:0] _T_600; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55440.4]
  wire  _T_601; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55441.4]
  wire [3:0] _T_602; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.4]
  wire  _T_603; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55443.4]
  wire [3:0] _T_604; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55444.4]
  wire  _T_605; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55445.4]
  wire [3:0] _T_606; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55446.4]
  wire  _T_607; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55447.4]
  wire [3:0] _T_608; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55448.4]
  wire  _T_609; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55449.4]
  wire [3:0] _T_610; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55450.4]
  wire  _T_611; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55451.4]
  wire [3:0] _T_612; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55452.4]
  wire  _T_613; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55453.4]
  wire [1:0] _T_614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55454.4]
  wire [1:0] _T_615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55455.4]
  wire [3:0] _T_616; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55456.4]
  wire [1:0] _T_617; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55457.4]
  wire [1:0] _T_618; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55458.4]
  wire [3:0] _T_619; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55459.4]
  wire [7:0] _T_620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55460.4]
  wire [1:0] _T_621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55461.4]
  wire [1:0] _T_622; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55462.4]
  wire [3:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55463.4]
  wire [1:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55464.4]
  wire [1:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55465.4]
  wire [3:0] _T_626; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55466.4]
  wire [7:0] _T_627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55467.4]
  wire [15:0] _T_628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55468.4]
  wire [1:0] _T_629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55469.4]
  wire [1:0] _T_630; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55470.4]
  wire [3:0] _T_631; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55471.4]
  wire [1:0] _T_632; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55472.4]
  wire [1:0] _T_633; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55473.4]
  wire [3:0] _T_634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55474.4]
  wire [7:0] _T_635; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55475.4]
  wire [1:0] _T_636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55476.4]
  wire [1:0] _T_637; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55477.4]
  wire [3:0] _T_638; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55478.4]
  wire [1:0] _T_639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55479.4]
  wire [1:0] _T_640; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55480.4]
  wire [3:0] _T_641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55481.4]
  wire [7:0] _T_642; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55482.4]
  wire [15:0] _T_643; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55483.4]
  wire [31:0] _T_644; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55484.4]
  wire  _T_645; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55485.4]
  wire  _T_646; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55486.4]
  wire  _T_647; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@55487.4]
  wire [3:0] _T_648; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55488.4]
  wire [2:0] _T_649; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@55489.4]
  wire [3:0] _GEN_45; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55490.4]
  wire [3:0] _T_650; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55490.4]
  wire [3:0] _T_651; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@55491.4]
  wire [1:0] _T_656; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55496.4]
  wire [1:0] _T_657; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55497.4]
  wire [3:0] _T_658; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55498.4]
  wire [1:0] _T_663; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55503.4]
  wire [1:0] _T_664; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55504.4]
  wire [3:0] _T_665; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55505.4]
  wire [3:0] _T_666; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55506.4]
  wire [4:0] _GEN_46; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55507.4]
  wire [4:0] _T_667; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55507.4]
  wire [3:0] _T_668; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@55508.4]
  wire [3:0] _T_669; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55509.4]
  wire [4:0] _GEN_47; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55510.4]
  wire [4:0] _T_670; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55510.4]
  wire [3:0] _T_671; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@55511.4]
  wire [4:0] _GEN_48; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55512.4]
  wire [4:0] _T_672; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55512.4]
  wire [3:0] _T_673; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55513.4]
  wire [3:0] _T_674; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55514.4]
  wire [5:0] _GEN_49; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55515.4]
  wire [5:0] _T_675; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55515.4]
  wire [3:0] _T_676; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55516.4]
  wire [3:0] _T_677; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55517.4]
  wire  _T_679; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55519.4]
  wire  _T_680; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55520.4]
  wire  _T_681; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55521.4]
  wire  _T_682; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55522.4]
  wire [7:0] _T_684; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55524.4]
  wire [7:0] _T_686; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55526.4]
  wire [7:0] _T_688; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55528.4]
  wire [7:0] _T_690; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55530.4]
  wire [15:0] _T_691; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55531.4]
  wire [15:0] _T_692; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55532.4]
  wire [31:0] _T_693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55533.4]
  wire [4:0] _GEN_50; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55534.4]
  wire [4:0] _T_694; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55534.4]
  wire [3:0] _T_695; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55535.4]
  wire [3:0] _T_696; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55536.4]
  wire [5:0] _GEN_51; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55537.4]
  wire [5:0] _T_697; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55537.4]
  wire [3:0] _T_698; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55538.4]
  wire [3:0] _T_699; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55539.4]
  wire  _T_701; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55541.4]
  wire  _T_702; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.4]
  wire  _T_703; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55543.4]
  wire  _T_704; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55544.4]
  wire [7:0] _T_706; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55546.4]
  wire [7:0] _T_708; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55548.4]
  wire [7:0] _T_710; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55550.4]
  wire [7:0] _T_712; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55552.4]
  wire [15:0] _T_713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55553.4]
  wire [15:0] _T_714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55554.4]
  wire [31:0] _T_715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55555.4]
  wire  _T_716; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55556.4]
  wire  _T_717; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55557.4]
  wire  _T_718; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55558.4]
  wire  _T_719; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55559.4]
  wire [7:0] _T_721; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55561.4]
  wire [7:0] _T_723; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55563.4]
  wire [7:0] _T_725; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55565.4]
  wire [7:0] _T_727; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55567.4]
  wire [15:0] _T_728; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55568.4]
  wire [15:0] _T_729; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55569.4]
  wire [31:0] _T_730; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55570.4]
  wire [31:0] _T_731; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55571.4]
  wire [31:0] _T_732; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@55572.4]
  wire [31:0] _T_733; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55573.4]
  wire [31:0] _T_734; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@55574.4]
  wire [31:0] _T_735; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55575.4]
  wire [31:0] _T_736; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55576.4]
  wire [31:0] _T_738; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55578.4]
  wire  _T_739; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55579.4]
  wire  _T_740; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55580.4]
  wire  _T_742; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@55582.4]
  wire  _T_743; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@55583.4]
  wire  _T_744; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@55584.4]
  wire  _T_745; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@55585.4]
  wire  _T_746; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55586.4]
  wire  _T_747; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55587.4]
  wire [31:0] _T_748; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@55588.4]
  wire [31:0] _T_749; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55589.4]
  wire  _T_750; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@55590.4]
  wire [31:0] _T_751; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55591.4]
  wire  _T_755; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@55594.4]
  wire  _T_756; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55595.4]
  wire  _T_757; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@55596.4]
  reg [9:0] _T_845; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55699.4]
  reg [31:0] _RAND_14;
  wire  _T_846; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55700.4]
  wire  _T_759; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55599.4]
  wire [1:0] _T_848; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55702.4]
  wire [2:0] _GEN_52; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55703.4]
  wire [2:0] _T_849; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55703.4]
  wire [1:0] _T_850; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55704.4]
  wire [1:0] _T_851; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55705.4]
  wire [2:0] _GEN_53; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@55707.4]
  wire [2:0] _T_853; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@55707.4]
  wire [1:0] _T_854; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@55708.4]
  wire [1:0] _T_855; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@55709.4]
  wire  _T_857; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55711.4]
  reg  _T_919_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55762.4]
  reg [31:0] _RAND_15;
  wire  _T_938_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55765.4]
  wire  _T_947; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55768.4]
  wire  _T_760; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55602.4]
  wire [2:0] _GEN_0; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55603.4]
  wire [2:0] _GEN_1; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55603.4]
  wire  _T_764; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@55610.4]
  wire  _T_804; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55655.4]
  wire [1:0] _T_805; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55656.4]
  wire [1:0] _T_807; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@55658.4]
  wire  _T_808; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.4]
  wire  _T_809; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55660.4]
  wire  _T_810; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55661.4]
  wire  _T_811; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55662.4]
  wire  _T_813; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55664.4]
  wire  _T_814; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55665.4]
  wire  _T_816; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55667.4]
  wire  _T_817; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55668.4]
  wire  _T_818; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55669.4]
  wire  _T_819; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55670.4]
  wire  _T_820; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55671.4]
  wire  _T_821; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55672.4]
  wire  _T_822; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55673.4]
  wire  _T_823; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55674.4]
  wire  _T_824; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55675.4]
  wire  _T_825; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55676.4]
  wire  _T_826; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55677.4]
  wire  _T_827; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55678.4]
  wire  _T_828; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55679.4]
  wire  _T_829; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55680.4]
  wire  _T_830; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55681.4]
  wire  _T_831; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55682.4]
  wire  _T_832; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55683.4]
  wire [1:0] _T_833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55684.4]
  wire [1:0] _T_834; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55685.4]
  wire [3:0] _T_835; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55686.4]
  wire [26:0] _T_837; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55692.4]
  wire [11:0] _T_838; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55693.4]
  wire [11:0] _T_839; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.4]
  wire [9:0] _T_840; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55695.4]
  wire  _T_841; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55696.4]
  wire  _T_842; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55697.4]
  wire  _T_847; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55701.4]
  wire  _T_856; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55710.4]
  wire  _T_866; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@55716.4]
  wire  _T_867; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@55717.4]
  wire  _T_877; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55723.4]
  wire  _T_879; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@55725.4]
  wire  _T_882; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@55728.4]
  wire  _T_883; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55729.4]
  wire  _T_886; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55732.4]
  wire  _T_887; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55733.4]
  wire  _T_888; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55738.4]
  wire  _T_889; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55739.4]
  wire  _T_891; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55741.4]
  wire  _T_893; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55743.4]
  wire  _T_894; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55744.4]
  reg  _T_919_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55762.4]
  reg [31:0] _RAND_16;
  wire  _T_950; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55771.4]
  wire  _T_951; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55772.4]
  wire  _T_952; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55773.4]
  wire  _T_955; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55776.4]
  wire  _T_898; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55752.4]
  wire [9:0] _GEN_54; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55753.4]
  wire [10:0] _T_899; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55753.4]
  wire [10:0] _T_900; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55754.4]
  wire [9:0] _T_901; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55755.4]
  wire  _T_930_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55763.4]
  wire  _T_930_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55763.4]
  wire  _T_938_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55765.4]
  wire  _T_946; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55766.4]
  wire [32:0] _T_957; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55778.4]
  wire [34:0] _T_958; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55779.4]
  wire [67:0] _T_959; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55780.4]
  wire [4:0] _T_960; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55781.4]
  wire [10:0] _T_962; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55783.4]
  wire [78:0] _T_963; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55784.4]
  wire [78:0] _T_964; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55785.4]
  wire [32:0] _T_965; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55786.4]
  wire [34:0] _T_966; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55787.4]
  wire [67:0] _T_967; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55788.4]
  wire [4:0] _T_968; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55789.4]
  wire [5:0] _T_969; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55790.4]
  wire [10:0] _T_970; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55791.4]
  wire [78:0] _T_971; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55792.4]
  wire [78:0] _T_972; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55793.4]
  wire [78:0] _T_973; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55794.4]
  wire  _T_986; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55815.4]
  wire  _T_988; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55817.4]
  wire [1:0] _T_989; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55822.8]
  wire [2:0] _GEN_55; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55823.8]
  wire  _T_990; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55823.8]
  wire  _T_992; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55825.8]
  wire  _T_994; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55827.8]
  wire  _T_996; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55829.8]
  wire  _T_998; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55837.4]
  reg [9:0] _T_1008; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55851.4]
  reg [31:0] _RAND_17;
  wire  _T_1012; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55855.4]
  wire  _T_1024; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55870.4]
  wire  _T_1030; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55886.4]
  wire  _T_1020; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55866.4]
  wire  _T_1021; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@55867.4]
  wire  _T_1031; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55887.4]
  wire  _T_1036; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@55893.4]
  wire  _T_999; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55843.4]
  wire [26:0] _T_1001; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55845.4]
  wire [11:0] _T_1002; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55846.4]
  wire [11:0] _T_1003; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55847.4]
  wire [9:0] _T_1004; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55848.4]
  wire  _T_1005; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55849.4]
  wire [10:0] _T_1009; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55852.4]
  wire [10:0] _T_1010; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55853.4]
  wire [9:0] _T_1011; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55854.4]
  wire  _T_1025; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55871.4]
  wire  _T_1027; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55873.4]
  wire  _T_1028; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55875.6]
  wire  _T_1032; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55888.4]
  wire  _T_1033; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55889.4]
  wire  _T_1034; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55890.4]
  wire  _T_1037; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55899.6]
  wire  _T_1038; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55901.6]
  TLMonitor_29 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.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@55121.4]
  assign _T_281 = _T_258_0_state == 2'h2; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@55122.4]
  assign _T_282 = _T_258_0_state == 2'h3; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55123.4]
  assign _T_284 = _T_282 | _T_281; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55125.4]
  assign _T_285 = _T_258_0_state != 2'h0; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55126.4]
  assign _T_287 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55128.4]
  assign _T_290 = auto_in_a_bits_address ^ 31'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55131.4]
  assign _T_291 = {1'b0,$signed(_T_290)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55132.4]
  assign _T_292 = $signed(_T_291) & $signed(32'sh70021000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55133.4]
  assign _T_293 = $signed(_T_292); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55134.4]
  assign _T_294 = $signed(_T_293) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55135.4]
  assign _T_295 = _T_287 & _T_294; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55136.4]
  assign _T_307 = auto_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55148.4]
  assign _T_308 = {1'b0,$signed(_T_307)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55149.4]
  assign _T_309 = $signed(_T_308) & $signed(32'sh60000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55150.4]
  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55151.4]
  assign _T_311 = $signed(_T_310) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55152.4]
  assign _T_350 = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@55191.4]
  assign _T_351 = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@55192.4]
  assign _T_352 = _T_351 ? _T_295 : 1'h1; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55193.4]
  assign _T_353 = _T_350 ? _T_295 : _T_352; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@55194.4]
  assign _T_368 = auto_in_a_bits_address ^ 31'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55209.4]
  assign _T_369 = {1'b0,$signed(_T_368)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55210.4]
  assign _T_370 = $signed(_T_369) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55211.4]
  assign _T_371 = $signed(_T_370); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55212.4]
  assign _T_372 = $signed(_T_371) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55213.4]
  assign _T_373 = auto_in_a_bits_address ^ 31'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55214.4]
  assign _T_374 = {1'b0,$signed(_T_373)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55215.4]
  assign _T_375 = $signed(_T_374) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55216.4]
  assign _T_376 = $signed(_T_375); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55217.4]
  assign _T_377 = $signed(_T_376) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55218.4]
  assign _T_378 = auto_in_a_bits_address ^ 31'h23000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55219.4]
  assign _T_379 = {1'b0,$signed(_T_378)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55220.4]
  assign _T_380 = $signed(_T_379) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55221.4]
  assign _T_381 = $signed(_T_380); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55222.4]
  assign _T_382 = $signed(_T_381) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55223.4]
  assign _T_383 = auto_in_a_bits_address ^ 31'h34000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55224.4]
  assign _T_384 = {1'b0,$signed(_T_383)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55225.4]
  assign _T_385 = $signed(_T_384) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55226.4]
  assign _T_386 = $signed(_T_385); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55227.4]
  assign _T_387 = $signed(_T_386) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55228.4]
  assign _T_388 = auto_in_a_bits_address ^ 31'h12000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55229.4]
  assign _T_389 = {1'b0,$signed(_T_388)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55230.4]
  assign _T_390 = $signed(_T_389) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55231.4]
  assign _T_391 = $signed(_T_390); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55232.4]
  assign _T_392 = $signed(_T_391) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55233.4]
  assign _T_393 = auto_in_a_bits_address ^ 31'h33000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55234.4]
  assign _T_394 = {1'b0,$signed(_T_393)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55235.4]
  assign _T_395 = $signed(_T_394) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.4]
  assign _T_396 = $signed(_T_395); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55237.4]
  assign _T_397 = $signed(_T_396) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55238.4]
  assign _T_403 = auto_in_a_bits_address ^ 31'h43000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55244.4]
  assign _T_404 = {1'b0,$signed(_T_403)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55245.4]
  assign _T_405 = $signed(_T_404) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55246.4]
  assign _T_406 = $signed(_T_405); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55247.4]
  assign _T_407 = $signed(_T_406) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55248.4]
  assign _T_408 = auto_in_a_bits_address ^ 31'h26000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55249.4]
  assign _T_409 = {1'b0,$signed(_T_408)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55250.4]
  assign _T_410 = $signed(_T_409) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55251.4]
  assign _T_411 = $signed(_T_410); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55252.4]
  assign _T_412 = $signed(_T_411) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55253.4]
  assign _T_413 = auto_in_a_bits_address ^ 31'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55254.4]
  assign _T_414 = {1'b0,$signed(_T_413)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55255.4]
  assign _T_415 = $signed(_T_414) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55256.4]
  assign _T_416 = $signed(_T_415); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55257.4]
  assign _T_417 = $signed(_T_416) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55258.4]
  assign _T_418 = auto_in_a_bits_address ^ 31'h53000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55259.4]
  assign _T_419 = {1'b0,$signed(_T_418)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55260.4]
  assign _T_420 = $signed(_T_419) & $signed(32'sh60077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55261.4]
  assign _T_421 = $signed(_T_420); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55262.4]
  assign _T_422 = $signed(_T_421) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55263.4]
  assign _T_424 = _T_407 ? 2'h3 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55264.4]
  assign _T_425 = _T_311 ? 3'h7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55265.4]
  assign _T_426 = _T_372 ? 3'h5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55266.4]
  assign _T_427 = _T_377 ? 4'ha : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55267.4]
  assign _T_428 = _T_392 ? 4'h9 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55268.4]
  assign _T_430 = _T_422 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55270.4]
  assign _T_431 = _T_412 ? 4'hb : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55271.4]
  assign _T_432 = _T_397 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55272.4]
  assign _T_433 = _T_417 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55273.4]
  assign _T_435 = _T_387 ? 3'h6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55275.4]
  assign _GEN_39 = {{1'd0}, _T_424}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55276.4]
  assign _T_436 = _GEN_39 | _T_425; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55276.4]
  assign _T_437 = _T_436 | _T_426; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55277.4]
  assign _GEN_40 = {{1'd0}, _T_437}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55278.4]
  assign _T_438 = _GEN_40 | _T_427; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55278.4]
  assign _T_439 = _T_438 | _T_428; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55279.4]
  assign _GEN_41 = {{3'd0}, _T_382}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55280.4]
  assign _T_440 = _T_439 | _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55280.4]
  assign _GEN_42 = {{1'd0}, _T_430}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55281.4]
  assign _T_441 = _T_440 | _GEN_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55281.4]
  assign _T_442 = _T_441 | _T_431; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55282.4]
  assign _GEN_43 = {{2'd0}, _T_432}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55283.4]
  assign _T_443 = _T_442 | _GEN_43; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55283.4]
  assign _T_444 = _T_443 | _T_433; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55284.4]
  assign _GEN_44 = {{1'd0}, _T_435}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55286.4]
  assign _T_446 = _T_444 | _GEN_44; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55286.4]
  assign _T_449 = _T_269_0_fifoId == _T_446; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@55289.4]
  assign _T_450 = _T_284 & _T_449; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@55290.4]
  assign _T_454 = _T_269_0_bits_data[0]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55294.4]
  assign _T_455 = _T_276_0_data[0]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55295.4]
  assign _T_456 = {_T_454,_T_455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55296.4]
  assign _T_457 = _T_269_0_bits_data[1]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55297.4]
  assign _T_458 = _T_276_0_data[1]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55298.4]
  assign _T_459 = {_T_457,_T_458}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55299.4]
  assign _T_460 = _T_269_0_bits_data[2]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55300.4]
  assign _T_461 = _T_276_0_data[2]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55301.4]
  assign _T_462 = {_T_460,_T_461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55302.4]
  assign _T_463 = _T_269_0_bits_data[3]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55303.4]
  assign _T_464 = _T_276_0_data[3]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55304.4]
  assign _T_465 = {_T_463,_T_464}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55305.4]
  assign _T_466 = _T_269_0_bits_data[4]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55306.4]
  assign _T_467 = _T_276_0_data[4]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55307.4]
  assign _T_468 = {_T_466,_T_467}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55308.4]
  assign _T_469 = _T_269_0_bits_data[5]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55309.4]
  assign _T_470 = _T_276_0_data[5]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55310.4]
  assign _T_471 = {_T_469,_T_470}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55311.4]
  assign _T_472 = _T_269_0_bits_data[6]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55312.4]
  assign _T_473 = _T_276_0_data[6]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55313.4]
  assign _T_474 = {_T_472,_T_473}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55314.4]
  assign _T_475 = _T_269_0_bits_data[7]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55315.4]
  assign _T_476 = _T_276_0_data[7]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55316.4]
  assign _T_477 = {_T_475,_T_476}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55317.4]
  assign _T_478 = _T_269_0_bits_data[8]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55318.4]
  assign _T_479 = _T_276_0_data[8]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55319.4]
  assign _T_480 = {_T_478,_T_479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55320.4]
  assign _T_481 = _T_269_0_bits_data[9]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55321.4]
  assign _T_482 = _T_276_0_data[9]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55322.4]
  assign _T_483 = {_T_481,_T_482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55323.4]
  assign _T_484 = _T_269_0_bits_data[10]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55324.4]
  assign _T_485 = _T_276_0_data[10]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55325.4]
  assign _T_486 = {_T_484,_T_485}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55326.4]
  assign _T_487 = _T_269_0_bits_data[11]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55327.4]
  assign _T_488 = _T_276_0_data[11]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55328.4]
  assign _T_489 = {_T_487,_T_488}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55329.4]
  assign _T_490 = _T_269_0_bits_data[12]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55330.4]
  assign _T_491 = _T_276_0_data[12]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55331.4]
  assign _T_492 = {_T_490,_T_491}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55332.4]
  assign _T_493 = _T_269_0_bits_data[13]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55333.4]
  assign _T_494 = _T_276_0_data[13]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55334.4]
  assign _T_495 = {_T_493,_T_494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55335.4]
  assign _T_496 = _T_269_0_bits_data[14]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55336.4]
  assign _T_497 = _T_276_0_data[14]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55337.4]
  assign _T_498 = {_T_496,_T_497}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55338.4]
  assign _T_499 = _T_269_0_bits_data[15]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55339.4]
  assign _T_500 = _T_276_0_data[15]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.4]
  assign _T_501 = {_T_499,_T_500}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55341.4]
  assign _T_502 = _T_269_0_bits_data[16]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55342.4]
  assign _T_503 = _T_276_0_data[16]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55343.4]
  assign _T_504 = {_T_502,_T_503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55344.4]
  assign _T_505 = _T_269_0_bits_data[17]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55345.4]
  assign _T_506 = _T_276_0_data[17]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55346.4]
  assign _T_507 = {_T_505,_T_506}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55347.4]
  assign _T_508 = _T_269_0_bits_data[18]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55348.4]
  assign _T_509 = _T_276_0_data[18]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55349.4]
  assign _T_510 = {_T_508,_T_509}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55350.4]
  assign _T_511 = _T_269_0_bits_data[19]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55351.4]
  assign _T_512 = _T_276_0_data[19]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55352.4]
  assign _T_513 = {_T_511,_T_512}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55353.4]
  assign _T_514 = _T_269_0_bits_data[20]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55354.4]
  assign _T_515 = _T_276_0_data[20]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55355.4]
  assign _T_516 = {_T_514,_T_515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55356.4]
  assign _T_517 = _T_269_0_bits_data[21]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55357.4]
  assign _T_518 = _T_276_0_data[21]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55358.4]
  assign _T_519 = {_T_517,_T_518}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55359.4]
  assign _T_520 = _T_269_0_bits_data[22]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55360.4]
  assign _T_521 = _T_276_0_data[22]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55361.4]
  assign _T_522 = {_T_520,_T_521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55362.4]
  assign _T_523 = _T_269_0_bits_data[23]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55363.4]
  assign _T_524 = _T_276_0_data[23]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55364.4]
  assign _T_525 = {_T_523,_T_524}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55365.4]
  assign _T_526 = _T_269_0_bits_data[24]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55366.4]
  assign _T_527 = _T_276_0_data[24]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55367.4]
  assign _T_528 = {_T_526,_T_527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55368.4]
  assign _T_529 = _T_269_0_bits_data[25]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55369.4]
  assign _T_530 = _T_276_0_data[25]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55370.4]
  assign _T_531 = {_T_529,_T_530}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55371.4]
  assign _T_532 = _T_269_0_bits_data[26]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55372.4]
  assign _T_533 = _T_276_0_data[26]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55373.4]
  assign _T_534 = {_T_532,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55374.4]
  assign _T_535 = _T_269_0_bits_data[27]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55375.4]
  assign _T_536 = _T_276_0_data[27]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55376.4]
  assign _T_537 = {_T_535,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55377.4]
  assign _T_538 = _T_269_0_bits_data[28]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55378.4]
  assign _T_539 = _T_276_0_data[28]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55379.4]
  assign _T_540 = {_T_538,_T_539}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55380.4]
  assign _T_541 = _T_269_0_bits_data[29]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55381.4]
  assign _T_542 = _T_276_0_data[29]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55382.4]
  assign _T_543 = {_T_541,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55383.4]
  assign _T_544 = _T_269_0_bits_data[30]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55384.4]
  assign _T_545 = _T_276_0_data[30]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55385.4]
  assign _T_546 = {_T_544,_T_545}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55386.4]
  assign _T_547 = _T_269_0_bits_data[31]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@55387.4]
  assign _T_548 = _T_276_0_data[31]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@55388.4]
  assign _T_549 = {_T_547,_T_548}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55389.4]
  assign _T_550 = _T_269_0_lut >> _T_456; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55390.4]
  assign _T_551 = _T_550[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.4]
  assign _T_552 = _T_269_0_lut >> _T_459; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55392.4]
  assign _T_553 = _T_552[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55393.4]
  assign _T_554 = _T_269_0_lut >> _T_462; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55394.4]
  assign _T_555 = _T_554[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55395.4]
  assign _T_556 = _T_269_0_lut >> _T_465; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55396.4]
  assign _T_557 = _T_556[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55397.4]
  assign _T_558 = _T_269_0_lut >> _T_468; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55398.4]
  assign _T_559 = _T_558[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55399.4]
  assign _T_560 = _T_269_0_lut >> _T_471; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55400.4]
  assign _T_561 = _T_560[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55401.4]
  assign _T_562 = _T_269_0_lut >> _T_474; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55402.4]
  assign _T_563 = _T_562[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55403.4]
  assign _T_564 = _T_269_0_lut >> _T_477; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55404.4]
  assign _T_565 = _T_564[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55405.4]
  assign _T_566 = _T_269_0_lut >> _T_480; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55406.4]
  assign _T_567 = _T_566[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55407.4]
  assign _T_568 = _T_269_0_lut >> _T_483; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55408.4]
  assign _T_569 = _T_568[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55409.4]
  assign _T_570 = _T_269_0_lut >> _T_486; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55410.4]
  assign _T_571 = _T_570[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55411.4]
  assign _T_572 = _T_269_0_lut >> _T_489; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55412.4]
  assign _T_573 = _T_572[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55413.4]
  assign _T_574 = _T_269_0_lut >> _T_492; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55414.4]
  assign _T_575 = _T_574[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55415.4]
  assign _T_576 = _T_269_0_lut >> _T_495; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55416.4]
  assign _T_577 = _T_576[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55417.4]
  assign _T_578 = _T_269_0_lut >> _T_498; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55418.4]
  assign _T_579 = _T_578[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55419.4]
  assign _T_580 = _T_269_0_lut >> _T_501; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55420.4]
  assign _T_581 = _T_580[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55421.4]
  assign _T_582 = _T_269_0_lut >> _T_504; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55422.4]
  assign _T_583 = _T_582[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55423.4]
  assign _T_584 = _T_269_0_lut >> _T_507; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55424.4]
  assign _T_585 = _T_584[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55425.4]
  assign _T_586 = _T_269_0_lut >> _T_510; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55426.4]
  assign _T_587 = _T_586[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55427.4]
  assign _T_588 = _T_269_0_lut >> _T_513; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55428.4]
  assign _T_589 = _T_588[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55429.4]
  assign _T_590 = _T_269_0_lut >> _T_516; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55430.4]
  assign _T_591 = _T_590[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55431.4]
  assign _T_592 = _T_269_0_lut >> _T_519; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55432.4]
  assign _T_593 = _T_592[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55433.4]
  assign _T_594 = _T_269_0_lut >> _T_522; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55434.4]
  assign _T_595 = _T_594[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55435.4]
  assign _T_596 = _T_269_0_lut >> _T_525; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55436.4]
  assign _T_597 = _T_596[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55437.4]
  assign _T_598 = _T_269_0_lut >> _T_528; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55438.4]
  assign _T_599 = _T_598[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55439.4]
  assign _T_600 = _T_269_0_lut >> _T_531; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55440.4]
  assign _T_601 = _T_600[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55441.4]
  assign _T_602 = _T_269_0_lut >> _T_534; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.4]
  assign _T_603 = _T_602[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55443.4]
  assign _T_604 = _T_269_0_lut >> _T_537; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55444.4]
  assign _T_605 = _T_604[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55445.4]
  assign _T_606 = _T_269_0_lut >> _T_540; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55446.4]
  assign _T_607 = _T_606[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55447.4]
  assign _T_608 = _T_269_0_lut >> _T_543; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55448.4]
  assign _T_609 = _T_608[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55449.4]
  assign _T_610 = _T_269_0_lut >> _T_546; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55450.4]
  assign _T_611 = _T_610[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55451.4]
  assign _T_612 = _T_269_0_lut >> _T_549; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55452.4]
  assign _T_613 = _T_612[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@55453.4]
  assign _T_614 = {_T_553,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55454.4]
  assign _T_615 = {_T_557,_T_555}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55455.4]
  assign _T_616 = {_T_615,_T_614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55456.4]
  assign _T_617 = {_T_561,_T_559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55457.4]
  assign _T_618 = {_T_565,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55458.4]
  assign _T_619 = {_T_618,_T_617}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55459.4]
  assign _T_620 = {_T_619,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55460.4]
  assign _T_621 = {_T_569,_T_567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55461.4]
  assign _T_622 = {_T_573,_T_571}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55462.4]
  assign _T_623 = {_T_622,_T_621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55463.4]
  assign _T_624 = {_T_577,_T_575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55464.4]
  assign _T_625 = {_T_581,_T_579}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55465.4]
  assign _T_626 = {_T_625,_T_624}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55466.4]
  assign _T_627 = {_T_626,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55467.4]
  assign _T_628 = {_T_627,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55468.4]
  assign _T_629 = {_T_585,_T_583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55469.4]
  assign _T_630 = {_T_589,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55470.4]
  assign _T_631 = {_T_630,_T_629}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55471.4]
  assign _T_632 = {_T_593,_T_591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55472.4]
  assign _T_633 = {_T_597,_T_595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55473.4]
  assign _T_634 = {_T_633,_T_632}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55474.4]
  assign _T_635 = {_T_634,_T_631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55475.4]
  assign _T_636 = {_T_601,_T_599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55476.4]
  assign _T_637 = {_T_605,_T_603}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55477.4]
  assign _T_638 = {_T_637,_T_636}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55478.4]
  assign _T_639 = {_T_609,_T_607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55479.4]
  assign _T_640 = {_T_613,_T_611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55480.4]
  assign _T_641 = {_T_640,_T_639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55481.4]
  assign _T_642 = {_T_641,_T_638}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55482.4]
  assign _T_643 = {_T_642,_T_635}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55483.4]
  assign _T_644 = {_T_643,_T_628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55484.4]
  assign _T_645 = _T_269_0_bits_param[1]; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55485.4]
  assign _T_646 = _T_269_0_bits_param[0]; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55486.4]
  assign _T_647 = _T_269_0_bits_param[2]; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@55487.4]
  assign _T_648 = ~ _T_269_0_bits_mask; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55488.4]
  assign _T_649 = _T_269_0_bits_mask[3:1]; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@55489.4]
  assign _GEN_45 = {{1'd0}, _T_649}; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55490.4]
  assign _T_650 = _T_648 | _GEN_45; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55490.4]
  assign _T_651 = ~ _T_650; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@55491.4]
  assign _T_656 = {_T_499,_T_475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55496.4]
  assign _T_657 = {_T_547,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55497.4]
  assign _T_658 = {_T_657,_T_656}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55498.4]
  assign _T_663 = {_T_500,_T_476}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55503.4]
  assign _T_664 = {_T_548,_T_524}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55504.4]
  assign _T_665 = {_T_664,_T_663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55505.4]
  assign _T_666 = _T_658 & _T_651; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55506.4]
  assign _GEN_46 = {{1'd0}, _T_666}; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55507.4]
  assign _T_667 = _GEN_46 << 1; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55507.4]
  assign _T_668 = _T_667[3:0]; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@55508.4]
  assign _T_669 = _T_665 & _T_651; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55509.4]
  assign _GEN_47 = {{1'd0}, _T_669}; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55510.4]
  assign _T_670 = _GEN_47 << 1; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55510.4]
  assign _T_671 = _T_670[3:0]; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@55511.4]
  assign _GEN_48 = {{1'd0}, _T_668}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55512.4]
  assign _T_672 = _GEN_48 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55512.4]
  assign _T_673 = _T_672[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55513.4]
  assign _T_674 = _T_668 | _T_673; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55514.4]
  assign _GEN_49 = {{2'd0}, _T_674}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55515.4]
  assign _T_675 = _GEN_49 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55515.4]
  assign _T_676 = _T_675[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55516.4]
  assign _T_677 = _T_674 | _T_676; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55517.4]
  assign _T_679 = _T_677[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55519.4]
  assign _T_680 = _T_677[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55520.4]
  assign _T_681 = _T_677[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55521.4]
  assign _T_682 = _T_677[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55522.4]
  assign _T_684 = _T_679 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55524.4]
  assign _T_686 = _T_680 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55526.4]
  assign _T_688 = _T_681 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55528.4]
  assign _T_690 = _T_682 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55530.4]
  assign _T_691 = {_T_686,_T_684}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55531.4]
  assign _T_692 = {_T_690,_T_688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55532.4]
  assign _T_693 = {_T_692,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55533.4]
  assign _GEN_50 = {{1'd0}, _T_671}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55534.4]
  assign _T_694 = _GEN_50 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55534.4]
  assign _T_695 = _T_694[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55535.4]
  assign _T_696 = _T_671 | _T_695; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55536.4]
  assign _GEN_51 = {{2'd0}, _T_696}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55537.4]
  assign _T_697 = _GEN_51 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55537.4]
  assign _T_698 = _T_697[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55538.4]
  assign _T_699 = _T_696 | _T_698; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55539.4]
  assign _T_701 = _T_699[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55541.4]
  assign _T_702 = _T_699[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.4]
  assign _T_703 = _T_699[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55543.4]
  assign _T_704 = _T_699[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55544.4]
  assign _T_706 = _T_701 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55546.4]
  assign _T_708 = _T_702 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55548.4]
  assign _T_710 = _T_703 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55550.4]
  assign _T_712 = _T_704 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55552.4]
  assign _T_713 = {_T_708,_T_706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55553.4]
  assign _T_714 = {_T_712,_T_710}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55554.4]
  assign _T_715 = {_T_714,_T_713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55555.4]
  assign _T_716 = _T_269_0_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55556.4]
  assign _T_717 = _T_269_0_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55557.4]
  assign _T_718 = _T_269_0_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55558.4]
  assign _T_719 = _T_269_0_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@55559.4]
  assign _T_721 = _T_716 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55561.4]
  assign _T_723 = _T_717 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55563.4]
  assign _T_725 = _T_718 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55565.4]
  assign _T_727 = _T_719 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55567.4]
  assign _T_728 = {_T_723,_T_721}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55568.4]
  assign _T_729 = {_T_727,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55569.4]
  assign _T_730 = {_T_729,_T_728}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55570.4]
  assign _T_731 = _T_269_0_bits_data & _T_730; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55571.4]
  assign _T_732 = _T_731 | _T_693; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@55572.4]
  assign _T_733 = _T_276_0_data & _T_730; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55573.4]
  assign _T_734 = _T_733 | _T_715; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@55574.4]
  assign _T_735 = ~ _T_734; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55575.4]
  assign _T_736 = _T_647 ? _T_734 : _T_735; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55576.4]
  assign _T_738 = _T_732 + _T_736; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55578.4]
  assign _T_739 = _T_732[31]; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55579.4]
  assign _T_740 = _T_645 == _T_739; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55580.4]
  assign _T_742 = _T_734[31]; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@55582.4]
  assign _T_743 = _T_739 == _T_742; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@55583.4]
  assign _T_744 = _T_738[31]; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@55584.4]
  assign _T_745 = _T_744 == 1'h0; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@55585.4]
  assign _T_746 = _T_743 ? _T_745 : _T_740; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55586.4]
  assign _T_747 = _T_646 == _T_746; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55587.4]
  assign _T_748 = _T_747 ? _T_269_0_bits_data : _T_276_0_data; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@55588.4]
  assign _T_749 = _T_647 ? _T_738 : _T_748; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55589.4]
  assign _T_750 = _T_269_0_bits_opcode[0]; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@55590.4]
  assign _T_751 = _T_750 ? _T_644 : _T_749; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55591.4]
  assign _T_755 = _T_450 == 1'h0; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@55594.4]
  assign _T_756 = _T_353 | _T_280; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55595.4]
  assign _T_757 = _T_755 & _T_756; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@55596.4]
  assign _T_846 = _T_845 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55700.4]
  assign _T_759 = auto_in_a_valid & _T_757; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55599.4]
  assign _T_848 = {_T_759,_T_281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55702.4]
  assign _GEN_52 = {{1'd0}, _T_848}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55703.4]
  assign _T_849 = _GEN_52 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@55703.4]
  assign _T_850 = _T_849[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55704.4]
  assign _T_851 = _T_848 | _T_850; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@55705.4]
  assign _GEN_53 = {{1'd0}, _T_851}; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@55707.4]
  assign _T_853 = _GEN_53 << 1; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@55707.4]
  assign _T_854 = _T_853[1:0]; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@55708.4]
  assign _T_855 = ~ _T_854; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@55709.4]
  assign _T_857 = _T_855[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55711.4]
  assign _T_938_1 = _T_846 ? _T_857 : _T_919_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55765.4]
  assign _T_947 = auto_out_a_ready & _T_938_1; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55768.4]
  assign _T_760 = _T_353 == 1'h0; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55602.4]
  assign _GEN_0 = _T_760 ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55603.4]
  assign _GEN_1 = _T_760 ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55603.4]
  assign _T_764 = _T_269_0_bits_corrupt | _T_276_0_corrupt; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@55610.4]
  assign _T_804 = _T_269_0_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55655.4]
  assign _T_805 = 2'h1 << _T_804; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55656.4]
  assign _T_807 = _T_805 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@55658.4]
  assign _T_808 = _T_269_0_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.4]
  assign _T_809 = _T_807[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55660.4]
  assign _T_810 = _T_269_0_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55661.4]
  assign _T_811 = _T_810 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55662.4]
  assign _T_813 = _T_809 & _T_811; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55664.4]
  assign _T_814 = _T_808 | _T_813; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55665.4]
  assign _T_816 = _T_809 & _T_810; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55667.4]
  assign _T_817 = _T_808 | _T_816; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55668.4]
  assign _T_818 = _T_807[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55669.4]
  assign _T_819 = _T_269_0_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55670.4]
  assign _T_820 = _T_819 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55671.4]
  assign _T_821 = _T_811 & _T_820; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55672.4]
  assign _T_822 = _T_818 & _T_821; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55673.4]
  assign _T_823 = _T_814 | _T_822; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55674.4]
  assign _T_824 = _T_811 & _T_819; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55675.4]
  assign _T_825 = _T_818 & _T_824; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55676.4]
  assign _T_826 = _T_814 | _T_825; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55677.4]
  assign _T_827 = _T_810 & _T_820; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55678.4]
  assign _T_828 = _T_818 & _T_827; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55679.4]
  assign _T_829 = _T_817 | _T_828; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55680.4]
  assign _T_830 = _T_810 & _T_819; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55681.4]
  assign _T_831 = _T_818 & _T_830; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55682.4]
  assign _T_832 = _T_817 | _T_831; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55683.4]
  assign _T_833 = {_T_826,_T_823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55684.4]
  assign _T_834 = {_T_832,_T_829}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55685.4]
  assign _T_835 = {_T_834,_T_833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55686.4]
  assign _T_837 = 27'hfff << auto_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55692.4]
  assign _T_838 = _T_837[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55693.4]
  assign _T_839 = ~ _T_838; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.4]
  assign _T_840 = _T_839[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55695.4]
  assign _T_841 = auto_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55696.4]
  assign _T_842 = _T_841 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55697.4]
  assign _T_847 = _T_846 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55701.4]
  assign _T_856 = _T_855[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55710.4]
  assign _T_866 = _T_856 & _T_281; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@55716.4]
  assign _T_867 = _T_857 & _T_759; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@55717.4]
  assign _T_877 = _T_866 | _T_867; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55723.4]
  assign _T_879 = _T_866 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@55725.4]
  assign _T_882 = _T_867 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@55728.4]
  assign _T_883 = _T_879 | _T_882; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55729.4]
  assign _T_886 = _T_883 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55732.4]
  assign _T_887 = _T_886 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55733.4]
  assign _T_888 = _T_281 | _T_759; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55738.4]
  assign _T_889 = _T_888 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55739.4]
  assign _T_891 = _T_889 | _T_877; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55741.4]
  assign _T_893 = _T_891 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55743.4]
  assign _T_894 = _T_893 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55744.4]
  assign _T_950 = _T_919_0 ? _T_281 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55771.4]
  assign _T_951 = _T_919_1 ? _T_759 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55772.4]
  assign _T_952 = _T_950 | _T_951; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55773.4]
  assign _T_955 = _T_846 ? _T_888 : _T_952; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55776.4]
  assign _T_898 = auto_out_a_ready & _T_955; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55752.4]
  assign _GEN_54 = {{9'd0}, _T_898}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55753.4]
  assign _T_899 = _T_845 - _GEN_54; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55753.4]
  assign _T_900 = $unsigned(_T_899); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55754.4]
  assign _T_901 = _T_900[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55755.4]
  assign _T_930_0 = _T_846 ? _T_866 : _T_919_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55763.4]
  assign _T_930_1 = _T_846 ? _T_867 : _T_919_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55763.4]
  assign _T_938_0 = _T_846 ? _T_856 : _T_919_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55765.4]
  assign _T_946 = auto_out_a_ready & _T_938_0; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55766.4]
  assign _T_957 = {_T_751,_T_764}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55778.4]
  assign _T_958 = {_T_269_0_bits_address,_T_835}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55779.4]
  assign _T_959 = {_T_958,_T_957}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55780.4]
  assign _T_960 = {_T_269_0_bits_size,_T_269_0_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55781.4]
  assign _T_962 = {6'h0,_T_960}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55783.4]
  assign _T_963 = {_T_962,_T_959}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55784.4]
  assign _T_964 = _T_930_0 ? _T_963 : 79'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55785.4]
  assign _T_965 = {auto_in_a_bits_data,auto_in_a_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55786.4]
  assign _T_966 = {auto_in_a_bits_address,auto_in_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55787.4]
  assign _T_967 = {_T_966,_T_965}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55788.4]
  assign _T_968 = {auto_in_a_bits_size,auto_in_a_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55789.4]
  assign _T_969 = {_GEN_0,_GEN_1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55790.4]
  assign _T_970 = {_T_969,_T_968}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55791.4]
  assign _T_971 = {_T_970,_T_967}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55792.4]
  assign _T_972 = _T_930_1 ? _T_971 : 79'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55793.4]
  assign _T_973 = _T_964 | _T_972; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@55794.4]
  assign _T_986 = _T_947 & _T_759; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55815.4]
  assign _T_988 = _T_986 & _T_760; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55817.4]
  assign _T_989 = auto_in_a_bits_param[1:0]; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55822.8]
  assign _GEN_55 = {{1'd0}, _T_989}; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55823.8]
  assign _T_990 = 3'h3 == _GEN_55; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55823.8]
  assign _T_992 = 3'h0 == _GEN_55; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55825.8]
  assign _T_994 = 3'h1 == _GEN_55; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55827.8]
  assign _T_996 = 3'h2 == _GEN_55; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55829.8]
  assign _T_998 = _T_946 & _T_281; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55837.4]
  assign _T_1012 = _T_1008 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55855.4]
  assign _T_1024 = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55870.4]
  assign _T_1030 = _T_1012 & _T_1024; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55886.4]
  assign _T_1020 = _T_269_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@55866.4]
  assign _T_1021 = _T_1020 & _T_285; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@55867.4]
  assign _T_1031 = _T_1030 & _T_1021; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55887.4]
  assign _T_1036 = auto_in_d_ready | _T_1031; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@55893.4]
  assign _T_999 = _T_1036 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55843.4]
  assign _T_1001 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55845.4]
  assign _T_1002 = _T_1001[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55846.4]
  assign _T_1003 = ~ _T_1002; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55847.4]
  assign _T_1004 = _T_1003[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55848.4]
  assign _T_1005 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55849.4]
  assign _T_1009 = _T_1008 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55852.4]
  assign _T_1010 = $unsigned(_T_1009); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55853.4]
  assign _T_1011 = _T_1010[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55854.4]
  assign _T_1025 = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@55871.4]
  assign _T_1027 = _T_999 & _T_1012; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55873.4]
  assign _T_1028 = _T_1021 & _T_1024; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55875.6]
  assign _T_1032 = _T_1012 & _T_1025; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55888.4]
  assign _T_1033 = _T_1032 & _T_1021; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55889.4]
  assign _T_1034 = _T_1031 == 1'h0; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55890.4]
  assign _T_1037 = _T_276_0_corrupt | auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55899.6]
  assign _T_1038 = _T_276_0_denied | auto_out_d_bits_denied; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55901.6]
  assign auto_in_a_ready = _T_947 & _T_757; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_1034; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_opcode = _T_1033 ? 3'h1 : auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_denied = _T_1033 ? _T_1038 : auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_data = _T_1033 ? _T_276_0_data : auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_in_d_bits_corrupt = _T_1033 ? _T_1037 : auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55111.4]
  assign auto_out_a_valid = _T_846 ? _T_888 : _T_952; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_opcode = _T_973[78:76]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_param = _T_973[75:73]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_size = _T_973[72:69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_source = _T_973[68]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_address = _T_973[67:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_mask = _T_973[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_data = _T_973[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_a_bits_corrupt = _T_973[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_1031; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55110.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55073.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55074.4]
  assign TLMonitor_io_in_a_ready = _T_947 & _T_757; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_1034; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_1033 ? 3'h1 : auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_denied = _T_1033 ? _T_1038 : auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_1033 ? _T_1037 : auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55107.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[30: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_845 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_919_1 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_919_0 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  _T_1008 = _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_1027) begin
        if (_T_1021) begin
          if (_T_1024) begin
            _T_258_0_state <= 2'h2;
          end else begin
            _T_258_0_state <= 2'h0;
          end
        end else begin
          if (_T_998) begin
            if (_T_281) begin
              _T_258_0_state <= 2'h1;
            end else begin
              if (_T_988) begin
                if (_T_280) begin
                  _T_258_0_state <= 2'h3;
                end
              end
            end
          end else begin
            if (_T_988) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end
      end else begin
        if (_T_998) begin
          if (_T_281) begin
            _T_258_0_state <= 2'h1;
          end else begin
            if (_T_988) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end else begin
          if (_T_988) begin
            if (_T_280) begin
              _T_258_0_state <= 2'h3;
            end
          end
        end
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_opcode <= auto_in_a_bits_opcode;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_param <= auto_in_a_bits_param;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_size <= auto_in_a_bits_size;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_source <= auto_in_a_bits_source;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_address <= auto_in_a_bits_address;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_mask <= auto_in_a_bits_mask;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_data <= auto_in_a_bits_data;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_bits_corrupt <= auto_in_a_bits_corrupt;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        _T_269_0_fifoId <= _T_446;
      end
    end
    if (_T_988) begin
      if (_T_280) begin
        if (_T_996) begin
          _T_269_0_lut <= 4'h8;
        end else begin
          if (_T_994) begin
            _T_269_0_lut <= 4'he;
          end else begin
            if (_T_992) begin
              _T_269_0_lut <= 4'h6;
            end else begin
              if (_T_990) begin
                _T_269_0_lut <= 4'hc;
              end else begin
                _T_269_0_lut <= 4'h0;
              end
            end
          end
        end
      end
    end
    if (_T_1027) begin
      if (_T_1028) begin
        _T_276_0_data <= auto_out_d_bits_data;
      end
    end
    if (_T_1027) begin
      if (_T_1028) begin
        _T_276_0_denied <= auto_out_d_bits_denied;
      end
    end
    if (_T_1027) begin
      if (_T_1028) begin
        _T_276_0_corrupt <= auto_out_d_bits_corrupt;
      end
    end
    if (reset) begin
      _T_845 <= 10'h0;
    end else begin
      if (_T_847) begin
        if (_T_867) begin
          if (_T_842) begin
            _T_845 <= _T_840;
          end else begin
            _T_845 <= 10'h0;
          end
        end else begin
          _T_845 <= 10'h0;
        end
      end else begin
        _T_845 <= _T_901;
      end
    end
    if (reset) begin
      _T_919_1 <= 1'h0;
    end else begin
      if (_T_846) begin
        _T_919_1 <= _T_867;
      end
    end
    if (reset) begin
      _T_919_0 <= 1'h0;
    end else begin
      if (_T_846) begin
        _T_919_0 <= _T_866;
      end
    end
    if (reset) begin
      _T_1008 <= 10'h0;
    end else begin
      if (_T_999) begin
        if (_T_1012) begin
          if (_T_1005) begin
            _T_1008 <= _T_1004;
          end else begin
            _T_1008 <= 10'h0;
          end
        end else begin
          _T_1008 <= _T_1011;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_887) 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@55735.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_887) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@55736.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_894) 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@55746.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_894) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55747.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_30( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55918.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55919.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55920.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [13:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@55921.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@57062.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@55937.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55942.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55944.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55945.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55946.6]
  wire [13:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@55947.6]
  wire [13:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@55947.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55948.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55950.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55951.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@55953.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@55954.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55955.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55956.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55957.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55959.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55960.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55962.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55963.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55964.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55965.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55966.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55967.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55968.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55969.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55970.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55971.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55972.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55973.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55974.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55975.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55976.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55977.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55978.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55979.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55980.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55981.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56006.6]
  wire [13:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56009.8]
  wire [14:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56010.8]
  wire [14:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56011.8]
  wire [14:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56012.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56013.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56018.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56031.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56032.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56039.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56040.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56046.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56047.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56052.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56054.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56055.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56060.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56061.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56063.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56064.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56069.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56071.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56072.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56078.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56132.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56134.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56135.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56158.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56161.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56169.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56172.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56173.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56192.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56194.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56195.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56200.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56202.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56203.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56217.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56268.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56310.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56311.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56312.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56314.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56315.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56321.6]
  wire  _T_265; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56324.8]
  wire  _T_273; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56332.8]
  wire  _T_276; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56335.8]
  wire  _T_277; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56336.8]
  wire  _T_284; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@56355.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56357.8]
  wire  _T_287; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56358.8]
  wire  _T_292; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56372.6]
  wire  _T_313; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56406.8]
  wire  _T_315; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56408.8]
  wire  _T_316; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56409.8]
  wire  _T_321; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56423.6]
  wire  _T_350; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56476.6]
  wire  _T_352; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56478.6]
  wire  _T_353; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56479.6]
  wire  _T_355; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@56485.6]
  wire  _T_364; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56490.6]
  wire  _T_366; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56492.6]
  wire  _T_368; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56495.8]
  wire  _T_369; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56496.8]
  wire  _T_370; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56501.8]
  wire  _T_372; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56503.8]
  wire  _T_373; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56504.8]
  wire  _T_378; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56517.8]
  wire  _T_380; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56519.8]
  wire  _T_381; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56520.8]
  wire  _T_386; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56534.6]
  wire  _T_414; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56592.6]
  wire  _T_436; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56635.8]
  wire  _T_437; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56636.8]
  wire  _T_443; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56651.6]
  wire  _T_460; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56686.6]
  wire  _T_478; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56722.6]
  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56782.4]
  wire [9:0] _T_512; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56787.4]
  wire  _T_513; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56788.4]
  wire  _T_514; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56789.4]
  reg [9:0] _T_517; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56791.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_518; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56792.4]
  wire [10:0] _T_519; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56793.4]
  wire [9:0] _T_520; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56794.4]
  wire  _T_521; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56795.4]
  reg [2:0] _T_530; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56806.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_532; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56807.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_534; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56808.4]
  reg [31:0] _RAND_3;
  reg  _T_536; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56809.4]
  reg [31:0] _RAND_4;
  reg [13:0] _T_538; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56810.4]
  reg [31:0] _RAND_5;
  wire  _T_539; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56811.4]
  wire  _T_540; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56812.4]
  wire  _T_541; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56814.6]
  wire  _T_543; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56816.6]
  wire  _T_544; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56817.6]
  wire  _T_545; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56822.6]
  wire  _T_547; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56824.6]
  wire  _T_548; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56825.6]
  wire  _T_549; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56830.6]
  wire  _T_551; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56832.6]
  wire  _T_552; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56833.6]
  wire  _T_553; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56838.6]
  wire  _T_555; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56840.6]
  wire  _T_556; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56841.6]
  wire  _T_557; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56846.6]
  wire  _T_559; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56848.6]
  wire  _T_560; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56849.6]
  wire  _T_562; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56856.4]
  wire  _T_563; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56864.4]
  wire [26:0] _T_565; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56866.4]
  wire [11:0] _T_566; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56867.4]
  wire [11:0] _T_567; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56868.4]
  wire [9:0] _T_568; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56869.4]
  wire  _T_569; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56870.4]
  reg [9:0] _T_572; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56872.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_573; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56873.4]
  wire [10:0] _T_574; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56874.4]
  wire [9:0] _T_575; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56875.4]
  wire  _T_576; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56876.4]
  reg [2:0] _T_585; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56887.4]
  reg [31:0] _RAND_7;
  reg [3:0] _T_589; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56889.4]
  reg [31:0] _RAND_8;
  reg  _T_591; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56890.4]
  reg [31:0] _RAND_9;
  wire  _T_596; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56893.4]
  wire  _T_597; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56894.4]
  wire  _T_598; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56896.6]
  wire  _T_600; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56898.6]
  wire  _T_601; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56899.6]
  wire  _T_606; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56912.6]
  wire  _T_608; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56914.6]
  wire  _T_609; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56915.6]
  wire  _T_610; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56920.6]
  wire  _T_612; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56922.6]
  wire  _T_613; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56923.6]
  wire  _T_623; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56946.4]
  reg [1:0] _T_625; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56955.4]
  reg [31:0] _RAND_10;
  reg [9:0] _T_636; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56965.4]
  reg [31:0] _RAND_11;
  wire [10:0] _T_637; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56966.4]
  wire [10:0] _T_638; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56967.4]
  wire [9:0] _T_639; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56968.4]
  wire  _T_640; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56969.4]
  reg [9:0] _T_657; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56988.4]
  reg [31:0] _RAND_12;
  wire [10:0] _T_658; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56989.4]
  wire [10:0] _T_659; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56990.4]
  wire [9:0] _T_660; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56991.4]
  wire  _T_661; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56992.4]
  wire  _T_672; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57007.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57010.6]
  wire [1:0] _T_675; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57012.6]
  wire  _T_676; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57013.6]
  wire  _T_677; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57014.6]
  wire  _T_679; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57016.6]
  wire  _T_680; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57017.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57009.4]
  wire  _T_685; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57028.4]
  wire  _T_687; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@57030.4]
  wire  _T_688; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57031.4]
  wire [1:0] _T_689; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57033.6]
  wire [1:0] _T_690; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57035.6]
  wire [1:0] _T_691; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57036.6]
  wire  _T_692; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57037.6]
  wire  _T_694; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57039.6]
  wire  _T_695; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57040.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@57032.4]
  wire  _T_696; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57046.4]
  wire  _T_697; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@57047.4]
  wire  _T_698; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57048.4]
  wire  _T_699; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57049.4]
  wire  _T_701; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57051.4]
  wire  _T_702; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57052.4]
  wire [1:0] _T_703; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57057.4]
  wire [1:0] _T_704; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57058.4]
  wire [1:0] _T_705; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57059.4]
  reg [31:0] _T_707; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57061.4]
  reg [31:0] _RAND_13;
  wire  _T_708; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57064.4]
  wire  _T_709; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57065.4]
  wire  _T_710; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57066.4]
  wire  _T_711; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57067.4]
  wire  _T_712; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@57068.4]
  wire  _T_713; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@57069.4]
  wire  _T_715; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57071.4]
  wire  _T_716; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57072.4]
  wire [31:0] _T_718; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57078.4]
  wire  _T_721; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57082.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56020.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56175.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56234.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56285.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56338.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56389.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56440.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56498.10]
  wire  _GEN_123; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56540.10]
  wire  _GEN_131; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56598.10]
  wire  _GEN_139; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56657.10]
  wire  _GEN_143; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56692.10]
  wire  _GEN_147; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56728.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@57062.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@55937.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55942.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55944.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55945.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55946.6]
  assign _GEN_18 = {{2'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@55947.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@55947.6]
  assign _T_36 = _T_35 == 14'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55948.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55950.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55951.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@55953.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@55954.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55955.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55956.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55957.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55959.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55960.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55962.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55963.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55964.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@55965.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55966.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55967.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55968.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55969.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55970.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55971.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55972.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55973.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55974.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55975.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55976.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@55977.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55978.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55979.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55980.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@55981.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56006.6]
  assign _T_92 = io_in_a_bits_address ^ 14'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56009.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56010.8]
  assign _T_94 = $signed(_T_93) & $signed(-15'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56011.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56012.8]
  assign _T_96 = $signed(_T_95) == $signed(15'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56013.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56018.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56031.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56032.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56039.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56040.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56046.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56047.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56052.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56054.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56055.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56060.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56061.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56063.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56064.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56069.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56071.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56072.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56078.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56132.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56134.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56135.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56158.6]
  assign _T_172 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56161.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56169.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56172.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56173.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56192.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56194.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56195.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56200.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56202.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56203.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56217.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56268.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56310.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56311.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56312.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56314.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56315.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56321.6]
  assign _T_265 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56324.8]
  assign _T_273 = _T_265 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56332.8]
  assign _T_276 = _T_273 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56335.8]
  assign _T_277 = _T_276 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56336.8]
  assign _T_284 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@56355.8]
  assign _T_286 = _T_284 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56357.8]
  assign _T_287 = _T_286 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56358.8]
  assign _T_292 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56372.6]
  assign _T_313 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56406.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56408.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56409.8]
  assign _T_321 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56423.6]
  assign _T_350 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56476.6]
  assign _T_352 = _T_350 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56478.6]
  assign _T_353 = _T_352 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56479.6]
  assign _T_355 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@56485.6]
  assign _T_364 = io_in_d_bits_source | _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56490.6]
  assign _T_366 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56492.6]
  assign _T_368 = _T_364 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56495.8]
  assign _T_369 = _T_368 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56496.8]
  assign _T_370 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56501.8]
  assign _T_372 = _T_370 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56503.8]
  assign _T_373 = _T_372 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56504.8]
  assign _T_378 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56517.8]
  assign _T_380 = _T_378 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56519.8]
  assign _T_381 = _T_380 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56520.8]
  assign _T_386 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56534.6]
  assign _T_414 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56592.6]
  assign _T_436 = io_in_d_bits_corrupt | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56635.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56636.8]
  assign _T_443 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56651.6]
  assign _T_460 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56686.6]
  assign _T_478 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56722.6]
  assign _T_507 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56782.4]
  assign _T_512 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56787.4]
  assign _T_513 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56788.4]
  assign _T_514 = _T_513 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56789.4]
  assign _T_518 = _T_517 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56792.4]
  assign _T_519 = $unsigned(_T_518); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56793.4]
  assign _T_520 = _T_519[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56794.4]
  assign _T_521 = _T_517 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56795.4]
  assign _T_539 = _T_521 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56811.4]
  assign _T_540 = io_in_a_valid & _T_539; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56812.4]
  assign _T_541 = io_in_a_bits_opcode == _T_530; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56814.6]
  assign _T_543 = _T_541 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56816.6]
  assign _T_544 = _T_543 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56817.6]
  assign _T_545 = io_in_a_bits_param == _T_532; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56822.6]
  assign _T_547 = _T_545 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56824.6]
  assign _T_548 = _T_547 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56825.6]
  assign _T_549 = io_in_a_bits_size == _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56830.6]
  assign _T_551 = _T_549 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56832.6]
  assign _T_552 = _T_551 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56833.6]
  assign _T_553 = io_in_a_bits_source == _T_536; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56838.6]
  assign _T_555 = _T_553 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56840.6]
  assign _T_556 = _T_555 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56841.6]
  assign _T_557 = io_in_a_bits_address == _T_538; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56846.6]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56848.6]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56849.6]
  assign _T_562 = _T_507 & _T_521; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56856.4]
  assign _T_563 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56864.4]
  assign _T_565 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56866.4]
  assign _T_566 = _T_565[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56867.4]
  assign _T_567 = ~ _T_566; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56868.4]
  assign _T_568 = _T_567[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56869.4]
  assign _T_569 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56870.4]
  assign _T_573 = _T_572 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56873.4]
  assign _T_574 = $unsigned(_T_573); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56874.4]
  assign _T_575 = _T_574[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56875.4]
  assign _T_576 = _T_572 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56876.4]
  assign _T_596 = _T_576 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56893.4]
  assign _T_597 = io_in_d_valid & _T_596; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56894.4]
  assign _T_598 = io_in_d_bits_opcode == _T_585; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56896.6]
  assign _T_600 = _T_598 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56898.6]
  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56899.6]
  assign _T_606 = io_in_d_bits_size == _T_589; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56912.6]
  assign _T_608 = _T_606 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56914.6]
  assign _T_609 = _T_608 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56915.6]
  assign _T_610 = io_in_d_bits_source == _T_591; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56920.6]
  assign _T_612 = _T_610 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56922.6]
  assign _T_613 = _T_612 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56923.6]
  assign _T_623 = _T_563 & _T_576; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56946.4]
  assign _T_637 = _T_636 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56966.4]
  assign _T_638 = $unsigned(_T_637); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56967.4]
  assign _T_639 = _T_638[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56968.4]
  assign _T_640 = _T_636 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56969.4]
  assign _T_658 = _T_657 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56989.4]
  assign _T_659 = $unsigned(_T_658); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56990.4]
  assign _T_660 = _T_659[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56991.4]
  assign _T_661 = _T_657 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56992.4]
  assign _T_672 = _T_507 & _T_640; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57007.4]
  assign _T_674 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57010.6]
  assign _T_675 = _T_625 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57012.6]
  assign _T_676 = _T_675[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57013.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57014.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57016.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57017.6]
  assign _GEN_15 = _T_672 ? _T_674 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57009.4]
  assign _T_685 = _T_563 & _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57028.4]
  assign _T_687 = _T_366 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@57030.4]
  assign _T_688 = _T_685 & _T_687; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57031.4]
  assign _T_689 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57033.6]
  assign _T_690 = _GEN_15 | _T_625; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57035.6]
  assign _T_691 = _T_690 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57036.6]
  assign _T_692 = _T_691[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57037.6]
  assign _T_694 = _T_692 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57039.6]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57040.6]
  assign _GEN_16 = _T_688 ? _T_689 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@57032.4]
  assign _T_696 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57046.4]
  assign _T_697 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@57047.4]
  assign _T_698 = _T_697 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57048.4]
  assign _T_699 = _T_696 | _T_698; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57049.4]
  assign _T_701 = _T_699 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57051.4]
  assign _T_702 = _T_701 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57052.4]
  assign _T_703 = _T_625 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57057.4]
  assign _T_704 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57058.4]
  assign _T_705 = _T_703 & _T_704; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57059.4]
  assign _T_708 = _T_625 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57064.4]
  assign _T_709 = _T_708 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57065.4]
  assign _T_710 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57066.4]
  assign _T_711 = _T_709 | _T_710; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57067.4]
  assign _T_712 = _T_707 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@57068.4]
  assign _T_713 = _T_711 | _T_712; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@57069.4]
  assign _T_715 = _T_713 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57071.4]
  assign _T_716 = _T_715 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57072.4]
  assign _T_718 = _T_707 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57078.4]
  assign _T_721 = _T_507 | _T_563; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57082.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56020.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56175.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56234.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56285.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56338.10]
  assign _GEN_95 = io_in_a_valid & _T_292; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56389.10]
  assign _GEN_105 = io_in_a_valid & _T_321; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56440.10]
  assign _GEN_115 = io_in_d_valid & _T_366; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56498.10]
  assign _GEN_123 = io_in_d_valid & _T_386; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56540.10]
  assign _GEN_131 = io_in_d_valid & _T_414; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56598.10]
  assign _GEN_139 = io_in_d_valid & _T_443; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56657.10]
  assign _GEN_143 = io_in_d_valid & _T_460; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56692.10]
  assign _GEN_147 = io_in_d_valid & _T_478; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56728.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@55933.8]
        end
    `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@55934.8]
        end
    `ifdef STOP_COND
      end
    `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@56003.8]
        end
    `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@56004.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@56020.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@56021.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@56027.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@56028.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@56034.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@56035.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@56042.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@56043.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@56049.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@56050.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@56057.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@56058.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@56066.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@56067.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@56074.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@56075.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@56092.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@56093.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@56099.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@56100.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@56106.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@56107.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@56114.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@56115.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@56121.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@56122.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@56129.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@56130.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@56137.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@56138.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@56146.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@56147.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@56154.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@56155.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@56175.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@56176.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@56182.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@56183.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@56189.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@56190.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@56197.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@56198.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@56205.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@56206.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@56213.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@56214.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@56234.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@56235.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@56241.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@56242.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@56248.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@56249.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@56256.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@56257.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@56264.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@56265.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@56285.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@56286.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@56292.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@56293.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@56299.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@56300.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@56307.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@56308.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@56317.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@56318.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@56338.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@56339.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@56345.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@56346.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@56352.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@56353.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@56360.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@56361.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@56368.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@56369.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@56389.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@56390.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@56396.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@56397.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@56403.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@56404.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@56411.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@56412.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@56419.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@56420.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@56440.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@56441.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@56447.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@56448.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@56454.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@56455.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@56462.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@56463.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@56470.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@56471.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@56481.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@56482.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@56498.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@56499.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@56506.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@56507.10]
        end
    `ifdef STOP_COND
      end
    `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@56514.10]
        end
    `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@56515.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@56522.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@56523.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@56530.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@56531.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@56540.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@56541.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@56547.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@56548.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@56555.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@56556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56563.10]
        end
    `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@56564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56571.10]
        end
    `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@56572.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@56579.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@56580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56588.10]
        end
    `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@56589.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@56598.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@56599.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@56605.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@56606.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@56613.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@56614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56621.10]
        end
    `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@56622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56629.10]
        end
    `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@56630.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@56638.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@56639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@56647.10]
        end
    `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@56648.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@56657.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@56658.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@56665.10]
        end
    `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@56666.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@56673.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@56674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56682.10]
        end
    `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@56683.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@56692.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@56693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@56700.10]
        end
    `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@56701.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@56709.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@56710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@56718.10]
        end
    `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@56719.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@56728.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@56729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@56736.10]
        end
    `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@56737.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@56744.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@56745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@56753.10]
        end
    `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@56754.10]
        end
    `ifdef STOP_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@56763.6]
        end
    `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@56764.6]
        end
    `ifdef STOP_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@56771.6]
        end
    `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@56772.6]
        end
    `ifdef STOP_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@56779.6]
        end
    `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@56780.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@56819.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@56820.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@56827.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@56828.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@56835.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@56836.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@56843.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@56844.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@56851.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@56852.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@56901.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@56902.8]
        end
    `ifdef STOP_COND
      end
    `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@56909.8]
        end
    `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@56910.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@56917.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@56918.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@56925.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@56926.8]
        end
    `ifdef STOP_COND
      end
    `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@56933.8]
        end
    `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@56934.8]
        end
    `ifdef STOP_COND
      end
    `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@56941.8]
        end
    `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@56942.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@57019.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@57020.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@57042.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@57043.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@57054.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@57055.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@57074.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@57075.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57087.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57088.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57089.4]
  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  input  [2:0] io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  input  [3:0] io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  input        io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  input        io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  output [2:0] io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  output [3:0] io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
  output       io_deq_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57090.4]
);
  reg [2:0] _T_35_opcode [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_opcode__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire [2:0] _T_35_opcode__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_opcode__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_opcode__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_opcode__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  reg [3:0] _T_35_size [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  reg [31:0] _RAND_1;
  wire [3:0] _T_35_size__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_size__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire [3:0] _T_35_size__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_size__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_size__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_size__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  reg  _T_35_source [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  reg [31:0] _RAND_2;
  wire  _T_35_source__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_source__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_source__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_source__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_source__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  wire  _T_35_source__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57092.4]
  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57093.4]
  reg [31:0] _RAND_3;
  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57095.4]
  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57098.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57101.4]
  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57117.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@57092.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@57092.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@57092.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@57095.4]
  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57098.4]
  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57101.4]
  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57117.4]
  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57124.4]
  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57122.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57133.4]
  assign io_deq_bits_size = _T_35_size__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57131.4]
  assign io_deq_bits_source = _T_35_source__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57130.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@57092.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@57092.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@57092.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@57141.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57142.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57143.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input  [13:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
  output        auto_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [13:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.4]
  wire  a_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire [2:0] a_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire [3:0] a_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire [2:0] a_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire [3:0] a_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  a_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57189.4]
  wire  _T_159; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57205.4]
  wire [26:0] _T_161; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57207.4]
  wire [11:0] _T_162; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.4]
  wire [11:0] _T_163; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57209.4]
  wire [9:0] _T_164; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57210.4]
  wire  _T_165; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57211.4]
  wire  _T_166; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57212.4]
  wire [9:0] _T_167; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57213.4]
  reg [9:0] _T_169; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57214.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_170; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57215.4]
  wire [10:0] _T_171; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57216.4]
  wire [9:0] _T_172; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57217.4]
  wire  _T_173; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57218.4]
  wire  _T_174; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57219.4]
  wire  _T_175; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@57220.4]
  wire  a_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57221.4]
  wire  da_valid; // @[Error.scala 30:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57265.4]
  wire  _T_180; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57229.4]
  wire [3:0] da_bits_size; // @[Error.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@57202.4 Error.scala 34:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57280.4]
  wire [26:0] _T_182; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57231.4]
  wire [11:0] _T_183; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57232.4]
  wire [11:0] _T_184; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57233.4]
  wire [9:0] _T_185; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57234.4]
  wire [2:0] _GEN_4; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  wire [2:0] _GEN_5; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  wire [2:0] _GEN_6; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  wire [2:0] _GEN_7; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  wire [2:0] _GEN_8; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  wire [2:0] da_bits_opcode; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  wire  _T_186; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57235.4]
  wire [9:0] _T_187; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57236.4]
  reg [9:0] _T_189; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57237.4]
  reg [31:0] _RAND_1;
  wire [10:0] _T_190; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57238.4]
  wire [10:0] _T_191; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57239.4]
  wire [9:0] _T_192; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57240.4]
  wire  da_first; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57241.4]
  wire  _T_193; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57242.4]
  wire  _T_194; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@57243.4]
  wire  da_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57244.4]
  wire  _T_203; // @[Error.scala 29:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57260.4]
  wire  _T_205; // @[Error.scala 29:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57262.4]
  TLMonitor_30 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57151.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@57189.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@57205.4]
  assign _T_161 = 27'hfff << a_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57207.4]
  assign _T_162 = _T_161[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.4]
  assign _T_163 = ~ _T_162; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57209.4]
  assign _T_164 = _T_163[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57210.4]
  assign _T_165 = a_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57211.4]
  assign _T_166 = _T_165 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57212.4]
  assign _T_167 = _T_166 ? _T_164 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57213.4]
  assign _T_170 = _T_169 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57215.4]
  assign _T_171 = $unsigned(_T_170); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57216.4]
  assign _T_172 = _T_171[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57217.4]
  assign _T_173 = _T_169 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57218.4]
  assign _T_174 = _T_169 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57219.4]
  assign _T_175 = _T_167 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@57220.4]
  assign a_last = _T_174 | _T_175; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57221.4]
  assign da_valid = a_io_deq_valid & a_last; // @[Error.scala 30:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57265.4]
  assign _T_180 = auto_in_d_ready & da_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57229.4]
  assign da_bits_size = a_io_deq_bits_size; // @[Error.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@57202.4 Error.scala 34:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57280.4]
  assign _T_182 = 27'hfff << da_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57231.4]
  assign _T_183 = _T_182[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57232.4]
  assign _T_184 = ~ _T_183; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57233.4]
  assign _T_185 = _T_184[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57234.4]
  assign _GEN_4 = 3'h2 == a_io_deq_bits_opcode ? 3'h1 : 3'h0; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  assign _GEN_5 = 3'h3 == a_io_deq_bits_opcode ? 3'h1 : _GEN_4; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  assign _GEN_6 = 3'h4 == a_io_deq_bits_opcode ? 3'h1 : _GEN_5; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  assign _GEN_7 = 3'h5 == a_io_deq_bits_opcode ? 3'h2 : _GEN_6; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  assign _GEN_8 = 3'h6 == a_io_deq_bits_opcode ? 3'h4 : _GEN_7; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  assign da_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57278.4]
  assign _T_186 = da_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57235.4]
  assign _T_187 = _T_186 ? _T_185 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57236.4]
  assign _T_190 = _T_189 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57238.4]
  assign _T_191 = $unsigned(_T_190); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57239.4]
  assign _T_192 = _T_191[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57240.4]
  assign da_first = _T_189 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57241.4]
  assign _T_193 = _T_189 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57242.4]
  assign _T_194 = _T_187 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@57243.4]
  assign da_last = _T_193 | _T_194; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57244.4]
  assign _T_203 = auto_in_d_ready & da_last; // @[Error.scala 29:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57260.4]
  assign _T_205 = a_last == 1'h0; // @[Error.scala 29:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57262.4]
  assign auto_in_a_ready = a_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57188.4]
  assign auto_in_d_valid = a_io_deq_valid & a_last; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57188.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@57188.4]
  assign auto_in_d_bits_size = a_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57188.4]
  assign auto_in_d_bits_source = a_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57188.4]
  assign auto_in_d_bits_corrupt = da_bits_opcode[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57188.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57153.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57154.4]
  assign TLMonitor_io_in_a_ready = a_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_d_valid = a_io_deq_valid & a_last; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.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@57187.4]
  assign TLMonitor_io_in_d_bits_size = a_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_d_bits_source = a_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign TLMonitor_io_in_d_bits_corrupt = da_bits_opcode[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57187.4]
  assign a_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57190.4]
  assign a_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57191.4]
  assign a_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57192.4]
  assign a_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57200.4]
  assign a_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57198.4]
  assign a_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57197.4]
  assign a_io_deq_ready = _T_203 | _T_205; // @[Error.scala 29:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57264.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@57257.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@57258.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57291.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57292.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57293.4]
  output        auto_error_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input         auto_error_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input  [2:0]  auto_error_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input  [2:0]  auto_error_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input  [3:0]  auto_error_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input         auto_error_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input  [13:0] auto_error_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input  [3:0]  auto_error_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input         auto_error_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  input         auto_error_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  output        auto_error_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  output [2:0]  auto_error_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  output [3:0]  auto_error_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  output        auto_error_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
  output        auto_error_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57294.4]
);
  wire  error_clock; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_reset; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_a_ready; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_a_valid; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [2:0] error_auto_in_a_bits_opcode; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [2:0] error_auto_in_a_bits_param; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [3:0] error_auto_in_a_bits_size; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_a_bits_source; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [13:0] error_auto_in_a_bits_address; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [3:0] error_auto_in_a_bits_mask; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_d_ready; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_d_valid; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [2:0] error_auto_in_d_bits_opcode; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire [3:0] error_auto_in_d_bits_size; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_d_bits_source; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  wire  error_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.4]
  TLError error ( // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.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@57305.4]
  assign auto_error_in_d_valid = error_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign auto_error_in_d_bits_opcode = error_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign auto_error_in_d_bits_size = error_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign auto_error_in_d_bits_source = error_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign auto_error_in_d_bits_corrupt = error_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57303.4]
  assign error_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57304.4]
  assign error_auto_in_a_valid = auto_error_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_opcode = auto_error_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_param = auto_error_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_size = auto_error_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_source = auto_error_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_address = auto_error_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_mask = auto_error_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_a_bits_corrupt = auto_error_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
  assign error_auto_in_d_ready = auto_error_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57305.4]
endmodule
module TLMonitor_31( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57323.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57324.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57325.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@58876.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@57342.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57347.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57349.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57350.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57351.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57352.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57352.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57353.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57355.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57356.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@57358.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57359.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57360.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57361.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57362.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57364.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57365.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57367.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57368.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57369.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57370.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57371.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57372.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57373.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57374.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57375.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57376.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57377.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57378.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57379.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57380.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57381.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57382.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57383.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@57384.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@57385.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@57386.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57411.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57414.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57415.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57416.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57417.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57418.8]
  wire [30:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57419.8]
  wire [31:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57420.8]
  wire [31:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57421.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57422.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57423.8]
  wire [30:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57424.8]
  wire [31:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.8]
  wire [31:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57426.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57427.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57428.8]
  wire [30:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57429.8]
  wire [31:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57430.8]
  wire [31:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57431.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57432.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57433.8]
  wire [30:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57434.8]
  wire [31:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57435.8]
  wire [31:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57436.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57437.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57438.8]
  wire [30:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57439.8]
  wire [31:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57440.8]
  wire [31:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57441.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57442.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57443.8]
  wire [30:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57444.8]
  wire [31:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57445.8]
  wire [31:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57446.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57447.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57448.8]
  wire [30:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57449.8]
  wire [31:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57450.8]
  wire [31:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57451.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57452.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57453.8]
  wire [30:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57454.8]
  wire [31:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57455.8]
  wire [31:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57456.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57457.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57458.8]
  wire  _T_137; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57459.8]
  wire  _T_138; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.8]
  wire  _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57461.8]
  wire  _T_140; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57462.8]
  wire  _T_149; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57471.8]
  wire  _T_154; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57484.8]
  wire  _T_155; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57485.8]
  wire  _T_158; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57492.8]
  wire  _T_159; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57493.8]
  wire  _T_161; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57499.8]
  wire  _T_162; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57500.8]
  wire  _T_163; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57505.8]
  wire  _T_165; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57507.8]
  wire  _T_166; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57508.8]
  wire [3:0] _T_167; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57513.8]
  wire  _T_168; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57514.8]
  wire  _T_170; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57516.8]
  wire  _T_171; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57517.8]
  wire  _T_172; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57522.8]
  wire  _T_174; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57524.8]
  wire  _T_175; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57525.8]
  wire  _T_176; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57531.6]
  wire  _T_253; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57633.8]
  wire  _T_255; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57635.8]
  wire  _T_256; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57636.8]
  wire  _T_266; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57659.6]
  wire  _T_268; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57662.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57670.8]
  wire  _T_278; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57672.8]
  wire  _T_321; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57715.8]
  wire  _T_322; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57716.8]
  wire  _T_323; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57717.8]
  wire  _T_324; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57718.8]
  wire  _T_325; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57719.8]
  wire  _T_326; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57720.8]
  wire  _T_327; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57721.8]
  wire  _T_328; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57722.8]
  wire  _T_330; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57724.8]
  wire  _T_332; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57726.8]
  wire  _T_333; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57727.8]
  wire  _T_340; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57746.8]
  wire  _T_342; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57748.8]
  wire  _T_343; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57749.8]
  wire  _T_344; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57754.8]
  wire  _T_346; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57756.8]
  wire  _T_347; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57757.8]
  wire  _T_352; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57771.6]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57825.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57826.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57827.8]
  wire  _T_408; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57828.8]
  wire  _T_417; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57837.8]
  wire  _T_420; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57840.8]
  wire  _T_421; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57841.8]
  wire  _T_436; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57877.6]
  wire  _T_484; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57926.8]
  wire  _T_485; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57927.8]
  wire  _T_486; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57928.8]
  wire  _T_501; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57943.8]
  wire  _T_504; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57946.8]
  wire  _T_505; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57947.8]
  wire [3:0] _T_516; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57974.8]
  wire [3:0] _T_517; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57975.8]
  wire  _T_518; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57976.8]
  wire  _T_520; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57978.8]
  wire  _T_521; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57979.8]
  wire  _T_522; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57985.6]
  wire  _T_524; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57988.8]
  wire  _T_571; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58035.8]
  wire  _T_572; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58036.8]
  wire  _T_573; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58037.8]
  wire  _T_574; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@58038.8]
  wire  _T_585; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58049.8]
  wire  _T_586; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58050.8]
  wire  _T_593; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58069.8]
  wire  _T_595; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58071.8]
  wire  _T_596; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58072.8]
  wire  _T_601; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58086.6]
  wire  _T_672; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58170.8]
  wire  _T_674; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58172.8]
  wire  _T_675; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58173.8]
  wire  _T_680; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58187.6]
  wire  _T_743; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58251.8]
  wire  _T_744; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58252.8]
  wire  _T_759; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58290.6]
  wire  _T_761; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58292.6]
  wire  _T_762; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58293.6]
  wire  _T_764; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58299.6]
  wire  _T_773; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58304.6]
  wire  _T_775; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58306.6]
  wire  _T_777; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58309.8]
  wire  _T_778; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58310.8]
  wire  _T_779; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58315.8]
  wire  _T_781; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58317.8]
  wire  _T_782; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58318.8]
  wire  _T_783; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58323.8]
  wire  _T_785; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58325.8]
  wire  _T_786; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58326.8]
  wire  _T_787; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58331.8]
  wire  _T_789; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.8]
  wire  _T_790; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58334.8]
  wire  _T_791; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58339.8]
  wire  _T_793; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58341.8]
  wire  _T_794; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58342.8]
  wire  _T_795; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58348.6]
  wire  _T_806; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58372.8]
  wire  _T_808; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58374.8]
  wire  _T_809; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58375.8]
  wire  _T_810; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58380.8]
  wire  _T_812; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58382.8]
  wire  _T_813; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58383.8]
  wire  _T_823; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58406.6]
  wire  _T_843; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58447.8]
  wire  _T_845; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58449.8]
  wire  _T_846; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58450.8]
  wire  _T_852; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58465.6]
  wire  _T_869; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58500.6]
  wire  _T_887; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58536.6]
  wire  _T_916; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58596.4]
  wire [9:0] _T_921; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58601.4]
  wire  _T_922; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58602.4]
  wire  _T_923; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58603.4]
  reg [9:0] _T_926; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58605.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_927; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58606.4]
  wire [10:0] _T_928; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58607.4]
  wire [9:0] _T_929; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58608.4]
  wire  _T_930; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58609.4]
  reg [2:0] _T_939; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58620.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_941; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58621.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_943; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58622.4]
  reg [31:0] _RAND_3;
  reg  _T_945; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58623.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_947; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58624.4]
  reg [31:0] _RAND_5;
  wire  _T_948; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58625.4]
  wire  _T_949; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58626.4]
  wire  _T_950; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58628.6]
  wire  _T_952; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58630.6]
  wire  _T_953; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58631.6]
  wire  _T_954; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58636.6]
  wire  _T_956; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58638.6]
  wire  _T_957; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58639.6]
  wire  _T_958; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58644.6]
  wire  _T_960; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58646.6]
  wire  _T_961; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.6]
  wire  _T_962; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58652.6]
  wire  _T_964; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58654.6]
  wire  _T_965; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58655.6]
  wire  _T_966; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58660.6]
  wire  _T_968; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58662.6]
  wire  _T_969; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58663.6]
  wire  _T_971; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58670.4]
  wire  _T_972; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58678.4]
  wire [26:0] _T_974; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@58680.4]
  wire [11:0] _T_975; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@58681.4]
  wire [11:0] _T_976; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58682.4]
  wire [9:0] _T_977; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58683.4]
  wire  _T_978; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@58684.4]
  reg [9:0] _T_981; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58686.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_982; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58687.4]
  wire [10:0] _T_983; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58688.4]
  wire [9:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.4]
  wire  _T_985; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58690.4]
  reg [2:0] _T_994; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58701.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_996; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58702.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_998; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58703.4]
  reg [31:0] _RAND_9;
  reg  _T_1000; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58704.4]
  reg [31:0] _RAND_10;
  reg  _T_1002; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58705.4]
  reg [31:0] _RAND_11;
  reg  _T_1004; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58706.4]
  reg [31:0] _RAND_12;
  wire  _T_1005; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58707.4]
  wire  _T_1006; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58708.4]
  wire  _T_1007; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58710.6]
  wire  _T_1009; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58712.6]
  wire  _T_1010; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58713.6]
  wire  _T_1011; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58718.6]
  wire  _T_1013; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58720.6]
  wire  _T_1014; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58721.6]
  wire  _T_1015; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58726.6]
  wire  _T_1017; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58728.6]
  wire  _T_1018; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58729.6]
  wire  _T_1019; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58734.6]
  wire  _T_1021; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58736.6]
  wire  _T_1022; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58737.6]
  wire  _T_1023; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58742.6]
  wire  _T_1025; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58744.6]
  wire  _T_1026; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58745.6]
  wire  _T_1027; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58750.6]
  wire  _T_1029; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58752.6]
  wire  _T_1030; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58753.6]
  wire  _T_1032; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58760.4]
  reg [1:0] _T_1034; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58769.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1045; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58779.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1046; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58780.4]
  wire [10:0] _T_1047; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58781.4]
  wire [9:0] _T_1048; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58782.4]
  wire  _T_1049; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58783.4]
  reg [9:0] _T_1066; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58802.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1067; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58803.4]
  wire [10:0] _T_1068; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58804.4]
  wire [9:0] _T_1069; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58805.4]
  wire  _T_1070; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.4]
  wire  _T_1081; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58821.4]
  wire [1:0] _T_1083; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@58824.6]
  wire [1:0] _T_1084; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@58826.6]
  wire  _T_1085; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@58827.6]
  wire  _T_1086; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58828.6]
  wire  _T_1088; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58830.6]
  wire  _T_1089; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58831.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@58823.4]
  wire  _T_1094; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58842.4]
  wire  _T_1096; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@58844.4]
  wire  _T_1097; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@58845.4]
  wire [1:0] _T_1098; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@58847.6]
  wire [1:0] _T_1099; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58849.6]
  wire [1:0] _T_1100; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@58850.6]
  wire  _T_1101; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@58851.6]
  wire  _T_1103; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58853.6]
  wire  _T_1104; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58854.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@58846.4]
  wire  _T_1105; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58860.4]
  wire  _T_1106; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@58861.4]
  wire  _T_1107; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58862.4]
  wire  _T_1108; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58863.4]
  wire  _T_1110; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58865.4]
  wire  _T_1111; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58866.4]
  wire [1:0] _T_1112; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58871.4]
  wire [1:0] _T_1113; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58872.4]
  wire [1:0] _T_1114; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@58873.4]
  reg [31:0] _T_1116; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58875.4]
  reg [31:0] _RAND_16;
  wire  _T_1117; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@58878.4]
  wire  _T_1118; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58879.4]
  wire  _T_1119; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@58880.4]
  wire  _T_1120; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58881.4]
  wire  _T_1121; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@58882.4]
  wire  _T_1122; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@58883.4]
  wire  _T_1124; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58885.4]
  wire  _T_1125; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58886.4]
  wire [31:0] _T_1127; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58892.4]
  wire  _T_1130; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58896.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57473.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57593.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57729.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57843.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57949.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58052.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58153.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58254.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58312.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58354.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58412.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58471.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58506.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58542.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@58876.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@57342.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57347.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57349.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57350.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57351.6]
  assign _GEN_18 = {{19'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57352.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@57352.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57353.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57355.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57356.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@57358.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57359.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57360.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57361.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57362.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57364.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57365.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57367.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57368.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57369.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57370.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57371.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57372.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57373.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57374.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57375.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57376.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57377.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57378.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57379.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57380.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57381.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57382.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57383.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@57384.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@57385.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@57386.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57411.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57414.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57415.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57416.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57417.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57418.8]
  assign _T_97 = io_in_a_bits_address ^ 31'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57419.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57420.8]
  assign _T_99 = $signed(_T_98) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57421.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57422.8]
  assign _T_101 = $signed(_T_100) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57423.8]
  assign _T_102 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57424.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.8]
  assign _T_104 = $signed(_T_103) & $signed(-32'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57426.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57427.8]
  assign _T_106 = $signed(_T_105) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57428.8]
  assign _T_107 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57429.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57430.8]
  assign _T_109 = $signed(_T_108) & $signed(-32'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57431.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57432.8]
  assign _T_111 = $signed(_T_110) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57433.8]
  assign _T_112 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57434.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57435.8]
  assign _T_114 = $signed(_T_113) & $signed(-32'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57436.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57437.8]
  assign _T_116 = $signed(_T_115) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57438.8]
  assign _T_117 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57439.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57440.8]
  assign _T_119 = $signed(_T_118) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57441.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57442.8]
  assign _T_121 = $signed(_T_120) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57443.8]
  assign _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57444.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57445.8]
  assign _T_124 = $signed(_T_123) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57446.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57447.8]
  assign _T_126 = $signed(_T_125) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57448.8]
  assign _T_127 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57449.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57450.8]
  assign _T_129 = $signed(_T_128) & $signed(-32'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57451.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57452.8]
  assign _T_131 = $signed(_T_130) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57453.8]
  assign _T_132 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@57454.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@57455.8]
  assign _T_134 = $signed(_T_133) & $signed(-32'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57456.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@57457.8]
  assign _T_136 = $signed(_T_135) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@57458.8]
  assign _T_137 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57459.8]
  assign _T_138 = _T_137 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.8]
  assign _T_139 = _T_138 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57461.8]
  assign _T_140 = _T_139 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57462.8]
  assign _T_149 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57471.8]
  assign _T_154 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57484.8]
  assign _T_155 = _T_154 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57485.8]
  assign _T_158 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57492.8]
  assign _T_159 = _T_158 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57493.8]
  assign _T_161 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57499.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57500.8]
  assign _T_163 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57505.8]
  assign _T_165 = _T_163 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57507.8]
  assign _T_166 = _T_165 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57508.8]
  assign _T_167 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57513.8]
  assign _T_168 = _T_167 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57514.8]
  assign _T_170 = _T_168 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57516.8]
  assign _T_171 = _T_170 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57517.8]
  assign _T_172 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57522.8]
  assign _T_174 = _T_172 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57524.8]
  assign _T_175 = _T_174 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57525.8]
  assign _T_176 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57531.6]
  assign _T_253 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57633.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57635.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57636.8]
  assign _T_266 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57659.6]
  assign _T_268 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57662.8]
  assign _T_276 = _T_268 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57670.8]
  assign _T_278 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57672.8]
  assign _T_321 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57715.8]
  assign _T_322 = _T_321 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57716.8]
  assign _T_323 = _T_322 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57717.8]
  assign _T_324 = _T_323 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57718.8]
  assign _T_325 = _T_324 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57719.8]
  assign _T_326 = _T_325 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57720.8]
  assign _T_327 = _T_326 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57721.8]
  assign _T_328 = _T_278 & _T_327; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57722.8]
  assign _T_330 = _T_276 | _T_328; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57724.8]
  assign _T_332 = _T_330 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57726.8]
  assign _T_333 = _T_332 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57727.8]
  assign _T_340 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57746.8]
  assign _T_342 = _T_340 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57748.8]
  assign _T_343 = _T_342 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57749.8]
  assign _T_344 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57754.8]
  assign _T_346 = _T_344 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57756.8]
  assign _T_347 = _T_346 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57757.8]
  assign _T_352 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57771.6]
  assign _T_405 = _T_323 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57825.8]
  assign _T_406 = _T_405 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57826.8]
  assign _T_407 = _T_406 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57827.8]
  assign _T_408 = _T_278 & _T_407; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57828.8]
  assign _T_417 = _T_276 | _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57837.8]
  assign _T_420 = _T_417 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57840.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57841.8]
  assign _T_436 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57877.6]
  assign _T_484 = _T_323 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57926.8]
  assign _T_485 = _T_484 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57927.8]
  assign _T_486 = _T_278 & _T_485; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57928.8]
  assign _T_501 = _T_276 | _T_486; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57943.8]
  assign _T_504 = _T_501 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57946.8]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57947.8]
  assign _T_516 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57974.8]
  assign _T_517 = io_in_a_bits_mask & _T_516; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57975.8]
  assign _T_518 = _T_517 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57976.8]
  assign _T_520 = _T_518 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57978.8]
  assign _T_521 = _T_520 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57979.8]
  assign _T_522 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57985.6]
  assign _T_524 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57988.8]
  assign _T_571 = _T_140 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58035.8]
  assign _T_572 = _T_571 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58036.8]
  assign _T_573 = _T_572 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58037.8]
  assign _T_574 = _T_524 & _T_573; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@58038.8]
  assign _T_585 = _T_574 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58049.8]
  assign _T_586 = _T_585 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58050.8]
  assign _T_593 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58069.8]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58071.8]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58072.8]
  assign _T_601 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58086.6]
  assign _T_672 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58170.8]
  assign _T_674 = _T_672 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58172.8]
  assign _T_675 = _T_674 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58173.8]
  assign _T_680 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58187.6]
  assign _T_743 = _T_276 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58251.8]
  assign _T_744 = _T_743 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58252.8]
  assign _T_759 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58290.6]
  assign _T_761 = _T_759 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58292.6]
  assign _T_762 = _T_761 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58293.6]
  assign _T_764 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58299.6]
  assign _T_773 = io_in_d_bits_source | _T_764; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58304.6]
  assign _T_775 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58306.6]
  assign _T_777 = _T_773 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58309.8]
  assign _T_778 = _T_777 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58310.8]
  assign _T_779 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58315.8]
  assign _T_781 = _T_779 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58317.8]
  assign _T_782 = _T_781 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58318.8]
  assign _T_783 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58323.8]
  assign _T_785 = _T_783 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58325.8]
  assign _T_786 = _T_785 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58326.8]
  assign _T_787 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58331.8]
  assign _T_789 = _T_787 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58334.8]
  assign _T_791 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58339.8]
  assign _T_793 = _T_791 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58341.8]
  assign _T_794 = _T_793 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58342.8]
  assign _T_795 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58348.6]
  assign _T_806 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58372.8]
  assign _T_808 = _T_806 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58374.8]
  assign _T_809 = _T_808 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58375.8]
  assign _T_810 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58380.8]
  assign _T_812 = _T_810 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58382.8]
  assign _T_813 = _T_812 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58383.8]
  assign _T_823 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58406.6]
  assign _T_843 = _T_791 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58447.8]
  assign _T_845 = _T_843 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58449.8]
  assign _T_846 = _T_845 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58450.8]
  assign _T_852 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58465.6]
  assign _T_869 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58500.6]
  assign _T_887 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58536.6]
  assign _T_916 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58596.4]
  assign _T_921 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58601.4]
  assign _T_922 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58602.4]
  assign _T_923 = _T_922 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58603.4]
  assign _T_927 = _T_926 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58606.4]
  assign _T_928 = $unsigned(_T_927); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58607.4]
  assign _T_929 = _T_928[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58608.4]
  assign _T_930 = _T_926 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58609.4]
  assign _T_948 = _T_930 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58625.4]
  assign _T_949 = io_in_a_valid & _T_948; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58626.4]
  assign _T_950 = io_in_a_bits_opcode == _T_939; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58628.6]
  assign _T_952 = _T_950 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58630.6]
  assign _T_953 = _T_952 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58631.6]
  assign _T_954 = io_in_a_bits_param == _T_941; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58636.6]
  assign _T_956 = _T_954 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58638.6]
  assign _T_957 = _T_956 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58639.6]
  assign _T_958 = io_in_a_bits_size == _T_943; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58644.6]
  assign _T_960 = _T_958 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58646.6]
  assign _T_961 = _T_960 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.6]
  assign _T_962 = io_in_a_bits_source == _T_945; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58652.6]
  assign _T_964 = _T_962 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58654.6]
  assign _T_965 = _T_964 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58655.6]
  assign _T_966 = io_in_a_bits_address == _T_947; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58660.6]
  assign _T_968 = _T_966 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58662.6]
  assign _T_969 = _T_968 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58663.6]
  assign _T_971 = _T_916 & _T_930; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58670.4]
  assign _T_972 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58678.4]
  assign _T_974 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@58680.4]
  assign _T_975 = _T_974[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@58681.4]
  assign _T_976 = ~ _T_975; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58682.4]
  assign _T_977 = _T_976[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58683.4]
  assign _T_978 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@58684.4]
  assign _T_982 = _T_981 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58687.4]
  assign _T_983 = $unsigned(_T_982); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58688.4]
  assign _T_984 = _T_983[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.4]
  assign _T_985 = _T_981 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58690.4]
  assign _T_1005 = _T_985 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58707.4]
  assign _T_1006 = io_in_d_valid & _T_1005; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58708.4]
  assign _T_1007 = io_in_d_bits_opcode == _T_994; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58710.6]
  assign _T_1009 = _T_1007 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58712.6]
  assign _T_1010 = _T_1009 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58713.6]
  assign _T_1011 = io_in_d_bits_param == _T_996; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58718.6]
  assign _T_1013 = _T_1011 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58720.6]
  assign _T_1014 = _T_1013 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58721.6]
  assign _T_1015 = io_in_d_bits_size == _T_998; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58726.6]
  assign _T_1017 = _T_1015 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58728.6]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58729.6]
  assign _T_1019 = io_in_d_bits_source == _T_1000; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58734.6]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58736.6]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58737.6]
  assign _T_1023 = io_in_d_bits_sink == _T_1002; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58742.6]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58744.6]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58745.6]
  assign _T_1027 = io_in_d_bits_denied == _T_1004; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58750.6]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58752.6]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58753.6]
  assign _T_1032 = _T_972 & _T_985; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58760.4]
  assign _T_1046 = _T_1045 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58780.4]
  assign _T_1047 = $unsigned(_T_1046); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58781.4]
  assign _T_1048 = _T_1047[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58782.4]
  assign _T_1049 = _T_1045 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58783.4]
  assign _T_1067 = _T_1066 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58803.4]
  assign _T_1068 = $unsigned(_T_1067); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58804.4]
  assign _T_1069 = _T_1068[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58805.4]
  assign _T_1070 = _T_1066 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.4]
  assign _T_1081 = _T_916 & _T_1049; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58821.4]
  assign _T_1083 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@58824.6]
  assign _T_1084 = _T_1034 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@58826.6]
  assign _T_1085 = _T_1084[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@58827.6]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58828.6]
  assign _T_1088 = _T_1086 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58830.6]
  assign _T_1089 = _T_1088 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58831.6]
  assign _GEN_15 = _T_1081 ? _T_1083 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@58823.4]
  assign _T_1094 = _T_972 & _T_1070; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58842.4]
  assign _T_1096 = _T_775 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@58844.4]
  assign _T_1097 = _T_1094 & _T_1096; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@58845.4]
  assign _T_1098 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@58847.6]
  assign _T_1099 = _GEN_15 | _T_1034; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58849.6]
  assign _T_1100 = _T_1099 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@58850.6]
  assign _T_1101 = _T_1100[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@58851.6]
  assign _T_1103 = _T_1101 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58853.6]
  assign _T_1104 = _T_1103 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58854.6]
  assign _GEN_16 = _T_1097 ? _T_1098 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@58846.4]
  assign _T_1105 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58860.4]
  assign _T_1106 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@58861.4]
  assign _T_1107 = _T_1106 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58862.4]
  assign _T_1108 = _T_1105 | _T_1107; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58863.4]
  assign _T_1110 = _T_1108 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58865.4]
  assign _T_1111 = _T_1110 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58866.4]
  assign _T_1112 = _T_1034 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58871.4]
  assign _T_1113 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58872.4]
  assign _T_1114 = _T_1112 & _T_1113; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@58873.4]
  assign _T_1117 = _T_1034 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@58878.4]
  assign _T_1118 = _T_1117 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58879.4]
  assign _T_1119 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@58880.4]
  assign _T_1120 = _T_1118 | _T_1119; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58881.4]
  assign _T_1121 = _T_1116 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@58882.4]
  assign _T_1122 = _T_1120 | _T_1121; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@58883.4]
  assign _T_1124 = _T_1122 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58885.4]
  assign _T_1125 = _T_1124 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58886.4]
  assign _T_1127 = _T_1116 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58892.4]
  assign _T_1130 = _T_916 | _T_972; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58896.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57473.10]
  assign _GEN_35 = io_in_a_valid & _T_176; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57593.10]
  assign _GEN_53 = io_in_a_valid & _T_266; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57729.10]
  assign _GEN_65 = io_in_a_valid & _T_352; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57843.10]
  assign _GEN_75 = io_in_a_valid & _T_436; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57949.10]
  assign _GEN_85 = io_in_a_valid & _T_522; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58052.10]
  assign _GEN_95 = io_in_a_valid & _T_601; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58153.10]
  assign _GEN_105 = io_in_a_valid & _T_680; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58254.10]
  assign _GEN_115 = io_in_d_valid & _T_775; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58312.10]
  assign _GEN_125 = io_in_d_valid & _T_795; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58354.10]
  assign _GEN_137 = io_in_d_valid & _T_823; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58412.10]
  assign _GEN_149 = io_in_d_valid & _T_852; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58471.10]
  assign _GEN_155 = io_in_d_valid & _T_869; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58506.10]
  assign _GEN_161 = io_in_d_valid & _T_887; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58542.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_926 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_939 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_941 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_943 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_945 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_947 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_981 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_994 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_996 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_998 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1000 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1002 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1004 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1034 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1045 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1066 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1116 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_926 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_930) begin
          if (_T_923) begin
            _T_926 <= _T_921;
          end else begin
            _T_926 <= 10'h0;
          end
        end else begin
          _T_926 <= _T_929;
        end
      end
    end
    if (_T_971) begin
      _T_939 <= io_in_a_bits_opcode;
    end
    if (_T_971) begin
      _T_941 <= io_in_a_bits_param;
    end
    if (_T_971) begin
      _T_943 <= io_in_a_bits_size;
    end
    if (_T_971) begin
      _T_945 <= io_in_a_bits_source;
    end
    if (_T_971) begin
      _T_947 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_981 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_985) begin
          if (_T_978) begin
            _T_981 <= _T_977;
          end else begin
            _T_981 <= 10'h0;
          end
        end else begin
          _T_981 <= _T_984;
        end
      end
    end
    if (_T_1032) begin
      _T_994 <= io_in_d_bits_opcode;
    end
    if (_T_1032) begin
      _T_996 <= io_in_d_bits_param;
    end
    if (_T_1032) begin
      _T_998 <= io_in_d_bits_size;
    end
    if (_T_1032) begin
      _T_1000 <= io_in_d_bits_source;
    end
    if (_T_1032) begin
      _T_1002 <= io_in_d_bits_sink;
    end
    if (_T_1032) begin
      _T_1004 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1034 <= 2'h0;
    end else begin
      _T_1034 <= _T_1114;
    end
    if (reset) begin
      _T_1045 <= 10'h0;
    end else begin
      if (_T_916) begin
        if (_T_1049) begin
          if (_T_923) begin
            _T_1045 <= _T_921;
          end else begin
            _T_1045 <= 10'h0;
          end
        end else begin
          _T_1045 <= _T_1048;
        end
      end
    end
    if (reset) begin
      _T_1066 <= 10'h0;
    end else begin
      if (_T_972) begin
        if (_T_1070) begin
          if (_T_978) begin
            _T_1066 <= _T_977;
          end else begin
            _T_1066 <= 10'h0;
          end
        end else begin
          _T_1066 <= _T_1069;
        end
      end
    end
    if (reset) begin
      _T_1116 <= 32'h0;
    end else begin
      if (_T_1130) begin
        _T_1116 <= 32'h0;
      end else begin
        _T_1116 <= _T_1127;
      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@57338.8]
        end
    `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@57339.8]
        end
    `ifdef STOP_COND
      end
    `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@57408.8]
        end
    `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@57409.8]
        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 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@57473.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57474.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 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@57480.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_155) 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@57487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_155) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_159) 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@57495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_159) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_162) 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@57502.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_162) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_166) 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@57510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_166) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_171) 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@57519.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_171) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_175) 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@57527.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_175) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57528.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 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@57593.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57594.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 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@57600.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_155) 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@57607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_155) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_159) 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@57615.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_159) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_162) 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@57622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_162) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_166) 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@57630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_166) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_256) 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@57638.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_256) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_171) 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@57647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_171) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_175) 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@57655.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_175) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_333) 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@57729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_333) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_155) 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@57736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_155) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_162) 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@57743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_162) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_343) 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@57751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_343) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_347) 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@57759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_347) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_175) 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@57767.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_175) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_421) 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@57843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_421) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_155) 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@57850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_155) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_162) 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@57857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_162) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_343) 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@57865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_343) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_347) 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@57873.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_347) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57874.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_505) 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@57949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_505) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_155) 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@57956.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_155) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_162) 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@57963.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_162) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_343) 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@57971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_343) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_521) 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@57981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_521) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_586) 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@58052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_586) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_155) 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@58059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_155) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_162) 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@58066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_162) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_596) 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@58074.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_596) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58075.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_347) 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@58082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_347) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_586) 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@58153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_586) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_155) 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@58160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_155) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_162) 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@58167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_162) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_675) 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@58175.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_675) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58176.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_347) 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@58183.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_347) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_744) 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@58254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_744) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_155) 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@58261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_155) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_162) 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@58268.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_162) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_347) 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@58276.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_347) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58277.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_175) 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@58284.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_175) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58285.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_762) 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@58295.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_762) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58296.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_778) 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@58312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_778) begin
          $fatal; // @[Monitor.scala 276: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_115 & _T_782) 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@58320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_782) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_786) 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@58328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_786) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_790) 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@58336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_790) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_794) 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@58344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_794) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_778) 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@58354.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_778) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58355.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_149) 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@58361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_149) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_782) 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@58369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_782) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_809) 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@58377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_809) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_813) 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@58385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_813) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_790) 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@58393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_790) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@58402.10]
        end
    `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@58403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_778) 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@58412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_778) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_149) 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@58419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_149) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_782) 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@58427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_782) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_809) 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@58435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_809) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_813) 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@58443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_813) begin
          $fatal; // @[Monitor.scala 298: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_137 & _T_846) 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@58452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_846) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@58461.10]
        end
    `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@58462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_778) 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@58471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_778) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_786) 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@58479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_786) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_790) 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@58487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_790) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@58496.10]
        end
    `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@58497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_778) 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@58506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_778) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_786) 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@58514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_786) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_846) 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@58523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_846) begin
          $fatal; // @[Monitor.scala 315: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 (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@58532.10]
        end
    `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@58533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_778) 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@58542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_778) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_786) 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@58550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_786) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_790) 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@58558.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_790) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@58567.10]
        end
    `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@58568.10]
        end
    `ifdef STOP_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@58577.6]
        end
    `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@58578.6]
        end
    `ifdef STOP_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@58585.6]
        end
    `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@58586.6]
        end
    `ifdef STOP_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@58593.6]
        end
    `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@58594.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_953) 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@58633.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_953) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58634.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_957) 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@58641.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_957) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58642.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_961) 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@58649.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_961) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58650.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_965) 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@58657.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_965) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58658.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_949 & _T_969) 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@58665.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_949 & _T_969) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58666.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1010) 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@58715.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1010) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58716.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1014) 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@58723.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1014) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58724.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1018) 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@58731.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1018) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58732.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1022) 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@58739.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1022) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58740.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1026) 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@58747.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1026) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58748.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1006 & _T_1030) 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@58755.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1006 & _T_1030) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58756.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_1089) 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@58833.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1081 & _T_1089) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58834.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1097 & _T_1104) 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@58856.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1097 & _T_1104) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58857.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1111) 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@58868.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1111) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58869.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125) 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@58888.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1125) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58889.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59029.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59030.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59031.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59032.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [30:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [30:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59080.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59094.4]
  TLMonitor_31 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.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@59080.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@59094.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@59079.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59079.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59078.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59041.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59042.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59081.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59082.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59083.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59091.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59090.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59089.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59088.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59087.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59086.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59085.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59084.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59093.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59095.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59096.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59097.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59105.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59104.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59103.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59102.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59101.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59100.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59099.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59098.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59107.4]
endmodule
module TLMonitor_32( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59122.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59123.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59124.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59125.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@60246.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59141.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59146.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59148.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59149.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59150.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59151.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59151.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59152.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59154.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59155.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@59157.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59158.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59159.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59160.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59161.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59163.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59164.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59166.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59167.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59168.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59169.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59170.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59171.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59172.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59173.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59174.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59175.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59176.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59177.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59178.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59179.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59180.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59181.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59182.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59183.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59184.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59185.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59210.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59213.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59214.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59215.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59216.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59217.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59222.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59235.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59236.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59243.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59244.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59250.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59251.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59256.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59258.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59264.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59265.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59267.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59268.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59273.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59275.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59276.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59282.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59336.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59362.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@59365.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@59373.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59376.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59377.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59396.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59398.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59399.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59404.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59406.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59407.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59421.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59472.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59518.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59519.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59525.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59556.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59558.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59559.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59573.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59604.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59606.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59607.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59621.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59671.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59673.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59674.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59680.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59685.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59687.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59690.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59691.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59696.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59698.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59729.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59787.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59846.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59881.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59917.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59977.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@59982.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59983.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59984.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59986.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59987.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59988.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59989.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60001.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60002.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60003.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60004.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60005.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60006.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60007.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60009.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60011.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60012.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60017.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60019.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60020.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60025.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60027.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60028.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60033.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60035.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60036.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60041.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60043.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60044.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60051.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60059.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60061.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60062.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60063.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60064.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60065.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60067.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60068.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60069.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60070.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60071.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60082.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60084.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60085.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60088.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60089.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60091.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60093.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60094.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60107.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60109.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60110.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60115.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60117.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60118.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60141.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60150.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60160.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60161.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60162.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60163.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60164.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60183.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60184.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60185.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60186.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60187.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60202.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60205.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60207.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60208.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60209.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60211.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60212.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60204.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60223.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@60225.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60226.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60228.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60230.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60231.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60232.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60234.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60235.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@60227.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60241.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60242.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60243.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60245.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60248.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60249.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60250.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60251.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@60252.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@60253.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60256.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60262.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60266.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59224.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59296.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59379.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59438.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59489.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59539.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59587.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59635.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59693.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59735.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59793.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59852.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59887.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59923.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@60246.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59141.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59146.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59148.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59149.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59150.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59151.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59151.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59152.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59154.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59155.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@59157.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59158.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59159.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59160.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59161.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59163.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59164.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59166.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59167.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59168.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59169.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59170.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59171.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59172.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59173.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59174.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59175.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59176.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59177.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59178.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59179.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59180.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59181.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59182.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59183.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59184.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59185.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59210.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59213.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59214.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59215.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59216.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59217.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59222.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59235.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59236.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59243.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59244.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59250.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59251.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59256.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59258.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59264.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59265.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59267.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59268.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59273.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59275.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59276.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59282.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59336.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59362.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@59365.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@59373.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59376.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59377.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59396.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59398.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59399.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59404.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59406.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59407.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59421.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59472.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59518.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59519.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59525.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59556.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59558.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59559.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59573.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59604.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59606.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59607.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59621.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59671.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59673.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59674.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59680.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59685.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59687.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59690.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59691.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59696.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59698.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59729.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59787.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59846.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59881.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59917.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59977.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@59982.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59983.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59984.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59987.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59988.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59989.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60006.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60007.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60009.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60011.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60012.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60017.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60019.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60020.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60025.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60027.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60028.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60033.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60035.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60036.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60041.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60043.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60044.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60051.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60059.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60061.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60062.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60063.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60064.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60065.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60068.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60069.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60070.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60071.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60088.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60089.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60091.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60093.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60094.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60107.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60109.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60110.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60115.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60117.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60118.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60141.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60161.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60162.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60163.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60164.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60184.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60185.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60186.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60187.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60202.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60205.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60207.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60208.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60209.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60211.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60212.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60204.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60223.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@60225.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60226.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60228.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60230.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60231.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60232.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60234.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60235.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@60227.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60241.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60242.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60243.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60248.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60249.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60250.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60251.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@60252.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@60253.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60256.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60262.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60266.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59224.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59296.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59379.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59438.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59489.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59539.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59587.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59635.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59693.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59735.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59793.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59852.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59887.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59923.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@59137.8]
        end
    `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@59138.8]
        end
    `ifdef STOP_COND
      end
    `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@59207.8]
        end
    `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@59208.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@59224.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@59225.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@59231.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@59232.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@59238.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@59239.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@59246.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@59247.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@59253.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@59254.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@59261.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@59262.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@59270.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@59271.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@59278.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@59279.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@59296.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@59297.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@59303.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@59304.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@59310.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@59311.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@59318.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@59319.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@59325.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@59326.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@59333.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@59334.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@59341.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@59342.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@59350.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@59351.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@59358.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@59359.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@59379.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@59380.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@59386.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@59387.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@59393.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@59394.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@59401.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@59402.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@59409.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@59410.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@59417.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@59418.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@59438.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@59439.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@59445.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@59446.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@59452.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@59453.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@59460.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@59461.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@59468.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@59469.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@59489.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@59490.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@59496.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@59497.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@59503.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@59504.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@59511.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@59512.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@59521.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@59522.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@59539.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@59540.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@59546.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@59547.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@59553.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@59554.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@59561.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@59562.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@59569.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@59570.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@59587.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@59588.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@59594.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@59595.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@59601.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@59602.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@59609.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@59610.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@59617.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@59618.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@59635.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@59636.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@59642.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@59643.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@59649.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@59650.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@59657.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@59658.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@59665.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@59666.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@59676.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@59677.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@59693.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@59694.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@59701.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@59702.10]
        end
    `ifdef STOP_COND
      end
    `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@59709.10]
        end
    `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@59710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@59717.10]
        end
    `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@59718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@59725.10]
        end
    `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@59726.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@59735.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@59736.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@59742.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@59743.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@59750.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@59751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59758.10]
        end
    `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@59759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59766.10]
        end
    `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@59767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59774.10]
        end
    `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@59775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59783.10]
        end
    `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@59784.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@59793.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@59794.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@59800.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@59801.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@59808.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@59809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59816.10]
        end
    `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@59817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59824.10]
        end
    `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@59825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@59833.10]
        end
    `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@59834.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@59842.10]
        end
    `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@59843.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@59852.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@59853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@59860.10]
        end
    `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@59861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59868.10]
        end
    `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@59869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59877.10]
        end
    `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@59878.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@59887.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@59888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@59895.10]
        end
    `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@59896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@59904.10]
        end
    `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@59905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@59913.10]
        end
    `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@59914.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@59923.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@59924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@59931.10]
        end
    `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@59932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59939.10]
        end
    `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@59940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@59948.10]
        end
    `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@59949.10]
        end
    `ifdef STOP_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@59958.6]
        end
    `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@59959.6]
        end
    `ifdef STOP_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@59966.6]
        end
    `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@59967.6]
        end
    `ifdef STOP_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@59974.6]
        end
    `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@59975.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@60014.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@60015.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@60022.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@60023.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@60030.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@60031.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@60038.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@60039.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@60046.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@60047.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@60096.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@60097.8]
        end
    `ifdef STOP_COND
      end
    `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@60104.8]
        end
    `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@60105.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@60112.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@60113.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@60120.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@60121.8]
        end
    `ifdef STOP_COND
      end
    `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@60128.8]
        end
    `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@60129.8]
        end
    `ifdef STOP_COND
      end
    `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@60136.8]
        end
    `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@60137.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@60214.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@60215.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@60237.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@60238.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@60258.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@60259.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60302.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60303.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60304.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60305.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60429.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60353.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60354.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60355.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60356.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60357.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60358.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60360.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60361.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60363.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60364.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60365.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60366.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60382.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60383.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60384.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60384.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@60387.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60388.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60389.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60390.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60391.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60392.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60393.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60394.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60394.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60395.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60396.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60397.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60398.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@60399.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60400.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60401.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60415.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60417.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60418.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60419.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60402.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60404.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60404.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60405.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60406.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60411.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60421.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60454.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60455.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60457.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60458.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60459.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60461.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60462.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60463.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60464.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60465.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60467.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60468.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60469.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60470.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60471.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60472.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60473.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60474.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60477.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60484.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60485.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60489.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@60349.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60498.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60490.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60494.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60495.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60499.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60499.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@60500.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@60501.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60502.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60502.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@60503.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60504.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@60505.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60507.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60511.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60513.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60515.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60516.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60523.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60524.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60526.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60527.4]
  TLMonitor_32 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60312.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@60429.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@60356.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60357.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60358.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60360.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60361.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60363.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60364.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60365.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60366.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60382.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60383.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60384.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60384.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@60387.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60388.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60389.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60390.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60391.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60392.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60393.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60394.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60394.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60395.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60396.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60397.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60398.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@60399.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60400.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60401.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60415.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60417.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60418.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60419.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60402.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60404.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60404.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60405.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60406.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60411.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60421.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60454.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60455.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60457.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60458.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60459.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60461.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60462.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60463.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60464.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60465.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60468.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60469.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60470.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60471.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60472.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60473.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60474.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60477.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60485.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60489.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@60349.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60498.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60490.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60494.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60495.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60499.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60499.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@60500.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@60501.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60502.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60502.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@60503.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60504.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@60505.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60507.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60511.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60513.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60515.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60516.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60523.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60524.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60526.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60527.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.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@60351.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60314.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60315.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60348.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60431.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60432.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60497.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60498.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@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; // @[Fragmenter.scala 180: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_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@60518.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@60519.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@60529.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@60530.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60541.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60542.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60543.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.4]
  TLFragmenter_5 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60549.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@60562.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60561.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60553.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60554.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60562.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60560.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60560.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60560.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60560.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60560.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60560.4]
endmodule
module TLMonitor_33( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60571.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60572.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60573.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60574.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@61695.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60590.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60595.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60597.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60598.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60599.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60600.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60600.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60601.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60603.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60604.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@60606.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60607.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60608.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60609.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60610.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60612.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60613.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60615.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60616.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60617.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60618.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60619.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60620.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60621.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60622.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60623.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60624.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60625.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60626.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60627.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60628.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60629.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60630.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60631.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60632.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60633.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60634.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60659.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60662.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60663.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@60664.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@60665.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60666.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60671.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60684.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60685.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60692.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60693.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60699.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60700.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60705.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60707.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60713.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60714.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60716.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60717.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60722.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60724.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60725.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60731.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60785.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60811.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@60814.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@60822.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60825.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60826.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60845.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60847.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60848.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60853.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60855.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60856.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60870.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60921.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60967.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60968.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60974.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61005.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61007.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61008.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61022.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61053.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61055.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61056.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61070.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61120.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61122.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61123.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@61129.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61134.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61136.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61139.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61140.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61145.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61147.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61178.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61236.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61295.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61330.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61366.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61426.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61431.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61432.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61433.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61435.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61436.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61437.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61438.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61450.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61451.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61452.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61453.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61454.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61455.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61456.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61458.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61460.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61461.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61466.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61468.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61469.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61474.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61476.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61477.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61482.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61484.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61485.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61490.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61492.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61493.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61500.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61508.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61510.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61511.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61512.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61513.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61514.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61516.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61517.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61518.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61519.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61520.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61531.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61533.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61534.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61537.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61538.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61540.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61542.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61543.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61556.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61558.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61559.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61564.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61566.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61567.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61590.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61599.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61609.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61610.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61611.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61612.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61613.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61632.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61633.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61634.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61635.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61636.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61651.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61654.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61656.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61657.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61658.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61660.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61661.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@61653.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61672.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@61674.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@61675.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61677.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61679.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61680.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61681.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61683.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61684.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@61676.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61690.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61691.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61692.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61694.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61697.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61698.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61699.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61700.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@61701.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@61702.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61705.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61711.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61715.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60673.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60745.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60828.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60887.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60938.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60988.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61036.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61084.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61142.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61184.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61242.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61301.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61336.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61372.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@61695.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60590.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60595.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60597.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60598.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60599.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60600.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60600.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60601.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60603.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60604.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@60606.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60607.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60608.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60609.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60610.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60612.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60613.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60615.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60616.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60617.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60618.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60619.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60620.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60621.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60622.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60623.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60624.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60625.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60626.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60627.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60628.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60629.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60630.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60631.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60632.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60633.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60634.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60659.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60662.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60663.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@60664.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@60665.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60666.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60671.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60684.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60685.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60692.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60693.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60699.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60700.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60705.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60707.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60713.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60714.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60716.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60717.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60722.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60724.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60725.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60731.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60785.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60811.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@60814.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@60822.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60825.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60826.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60845.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60847.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60848.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60853.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60855.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60856.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60870.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60921.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60967.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60968.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60974.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61005.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61007.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61008.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61022.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61053.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61055.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61056.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61070.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61120.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61122.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61123.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@61129.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61134.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61136.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61139.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61140.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61145.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61147.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61178.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61236.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61295.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61330.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61366.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61426.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61431.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61432.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61433.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61436.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61437.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61438.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61455.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61456.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61458.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61460.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61461.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61466.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61468.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61469.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61474.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61476.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61477.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61482.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61484.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61485.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61490.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61492.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61493.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61500.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61508.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61510.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61511.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61512.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61513.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61514.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61517.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61518.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61519.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61520.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61537.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61538.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61540.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61542.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61543.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61556.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61558.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61559.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61564.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61566.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61567.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61590.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61610.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61611.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61612.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61613.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61633.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61634.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61635.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61636.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61651.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61654.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61656.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61657.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61658.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61660.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61661.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@61653.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61672.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@61674.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@61675.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61677.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61679.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61680.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61681.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61683.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61684.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@61676.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61690.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61691.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61692.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61697.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61698.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61699.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61700.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@61701.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@61702.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61705.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61711.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61715.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60673.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60745.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60828.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60887.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60938.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60988.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61036.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61084.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61142.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61184.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61242.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61301.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61336.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61372.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@60586.8]
        end
    `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@60587.8]
        end
    `ifdef STOP_COND
      end
    `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@60656.8]
        end
    `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@60657.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@60673.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@60674.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@60680.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@60681.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@60687.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@60688.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@60695.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@60696.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@60702.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@60703.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@60710.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@60711.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@60719.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@60720.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@60727.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@60728.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@60745.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@60746.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@60752.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@60753.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@60759.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@60760.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@60767.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@60768.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@60774.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@60775.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@60782.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@60783.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@60790.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@60791.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@60799.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@60800.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@60807.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@60808.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@60828.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@60829.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@60835.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@60836.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@60842.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@60843.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@60850.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@60851.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@60858.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@60859.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@60866.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@60867.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@60887.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@60888.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@60894.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@60895.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@60901.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@60902.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@60909.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@60910.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@60917.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@60918.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@60938.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@60939.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@60945.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@60946.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@60952.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@60953.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@60960.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@60961.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@60970.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@60971.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@60988.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@60989.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@60995.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@60996.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@61002.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@61003.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@61010.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@61011.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@61018.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@61019.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@61036.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@61037.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@61043.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@61044.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@61050.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@61051.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@61058.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@61059.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@61066.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@61067.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@61084.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@61085.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@61091.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@61092.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@61098.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@61099.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@61106.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@61107.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@61114.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@61115.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@61125.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@61126.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@61142.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@61143.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@61150.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@61151.10]
        end
    `ifdef STOP_COND
      end
    `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@61158.10]
        end
    `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@61159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@61166.10]
        end
    `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@61167.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@61174.10]
        end
    `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@61175.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@61184.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@61185.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@61191.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@61192.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@61199.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@61200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61207.10]
        end
    `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@61208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61215.10]
        end
    `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@61216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61223.10]
        end
    `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@61224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61232.10]
        end
    `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@61233.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@61242.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@61243.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@61249.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@61250.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@61257.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@61258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61265.10]
        end
    `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@61266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61273.10]
        end
    `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@61274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@61282.10]
        end
    `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@61283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@61291.10]
        end
    `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@61292.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@61301.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@61302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@61309.10]
        end
    `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@61310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61317.10]
        end
    `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@61318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61326.10]
        end
    `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@61327.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@61336.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@61337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@61344.10]
        end
    `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@61345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@61353.10]
        end
    `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@61354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@61362.10]
        end
    `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@61363.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@61372.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@61373.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@61380.10]
        end
    `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@61381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61388.10]
        end
    `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@61389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@61397.10]
        end
    `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@61398.10]
        end
    `ifdef STOP_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@61407.6]
        end
    `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@61408.6]
        end
    `ifdef STOP_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@61415.6]
        end
    `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@61416.6]
        end
    `ifdef STOP_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@61423.6]
        end
    `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@61424.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@61463.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@61464.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@61471.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@61472.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@61479.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@61480.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@61487.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@61488.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@61495.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@61496.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@61545.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@61546.8]
        end
    `ifdef STOP_COND
      end
    `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@61553.8]
        end
    `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@61554.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@61561.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@61562.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@61569.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@61570.8]
        end
    `ifdef STOP_COND
      end
    `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@61577.8]
        end
    `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@61578.8]
        end
    `ifdef STOP_COND
      end
    `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@61585.8]
        end
    `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@61586.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@61663.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@61664.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@61686.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@61687.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@61707.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@61708.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61751.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61752.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61753.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61754.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61878.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61802.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61803.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61804.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@61805.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61806.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61807.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61809.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61810.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61812.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61813.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61814.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61815.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61831.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61832.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@61833.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@61833.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@61836.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61837.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61838.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@61839.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61840.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61841.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61842.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61843.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61843.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61844.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61845.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61846.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61847.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@61848.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61849.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61850.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61864.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61866.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61867.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61868.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61851.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61853.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61853.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61854.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61855.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@61860.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61870.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61903.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61904.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61906.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61907.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61908.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61910.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61911.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61912.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61913.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61914.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61916.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61917.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61918.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61919.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61920.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61921.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61922.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61923.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61926.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61933.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61934.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61938.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@61798.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61947.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61939.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61943.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@61944.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@61948.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@61948.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@61949.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@61950.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@61951.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@61951.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@61952.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61953.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@61954.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61956.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61960.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61962.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61964.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61965.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@61972.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61973.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61975.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61976.4]
  TLMonitor_33 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61761.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@61878.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@61805.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61806.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61807.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61809.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61810.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61812.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61813.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61814.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61815.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61831.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61832.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@61833.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@61833.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@61836.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61837.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61838.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@61839.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61840.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61841.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61842.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61843.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61843.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61844.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61845.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61846.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61847.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@61848.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61849.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61850.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@61864.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61866.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61867.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61868.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61851.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61853.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61853.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61854.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@61855.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@61860.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61870.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61903.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61904.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61906.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61907.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61908.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61910.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61911.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61912.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61913.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61914.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61917.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61918.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61919.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61920.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61921.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61922.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61923.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61926.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61934.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61938.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@61798.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61947.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61939.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61943.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@61944.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@61948.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@61948.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@61949.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@61950.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@61951.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@61951.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@61952.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61953.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@61954.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61956.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61960.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61962.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61964.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61965.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@61972.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61973.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61975.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61976.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.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@61800.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61763.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61764.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61797.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61880.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61881.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61946.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@61947.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@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; // @[Fragmenter.scala 180: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_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@61967.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@61968.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@61978.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@61979.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61990.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61991.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61992.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.4]
  TLFragmenter_6 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@61998.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@62011.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62010.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62002.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62003.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62011.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62009.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62009.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62009.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62009.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62009.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62009.4]
endmodule
module TLMonitor_34( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62020.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62021.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62022.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62023.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@63144.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62039.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62044.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62046.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62047.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62048.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62049.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62049.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62050.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62052.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62053.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@62055.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62056.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62057.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62058.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62059.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62061.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62062.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62064.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62065.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62066.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62067.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62068.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62069.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62070.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62071.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62072.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62073.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62074.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62075.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62076.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62077.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62078.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62079.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62080.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62081.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62082.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62083.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62108.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62111.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62112.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62113.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62114.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62115.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62120.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62133.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62134.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62141.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62142.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62148.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62149.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62154.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62156.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62162.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62163.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62165.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62166.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62171.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62173.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62174.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62180.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62234.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62260.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@62263.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@62271.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62274.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62275.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62294.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62296.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62297.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62302.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62304.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62305.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62319.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62370.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62416.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62417.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62423.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62454.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62456.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62457.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62471.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62502.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62504.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62505.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62519.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62569.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62571.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62572.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62578.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62583.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62585.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62588.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62589.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62594.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62596.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62627.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62685.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62744.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62779.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62815.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62875.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@62880.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62881.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62882.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62884.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62885.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62886.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62887.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62899.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62900.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62901.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62902.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62903.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62904.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62905.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62907.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62909.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62910.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62915.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62917.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62918.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62923.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62925.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62926.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62931.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62933.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62934.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62939.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62941.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62942.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62949.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62957.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62959.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62960.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62961.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@62962.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62963.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62965.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62966.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62967.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62968.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62969.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62980.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62982.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62983.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62986.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62987.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62989.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62991.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62992.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63005.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63007.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63008.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63013.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63015.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63016.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63039.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63048.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63058.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63059.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63060.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63061.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63062.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63081.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63082.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63083.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63084.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63085.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63100.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63103.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63105.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63106.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63107.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63109.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63110.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63102.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63121.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@63123.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63124.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63126.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63128.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63129.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63130.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63132.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63133.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@63125.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63139.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63140.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63141.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63143.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63146.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63147.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63148.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63149.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@63150.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@63151.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63154.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63160.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63164.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62122.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62194.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62277.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62336.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62387.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62437.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62485.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62533.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62591.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62633.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62691.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62750.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62785.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62821.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@63144.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62039.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62044.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62046.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62047.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62048.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62049.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62049.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62050.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62052.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62053.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@62055.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62056.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62057.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62058.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62059.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62061.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62062.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62064.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62065.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62066.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62067.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62068.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62069.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62070.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62071.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62072.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62073.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62074.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62075.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62076.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62077.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62078.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62079.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62080.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62081.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62082.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62083.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62108.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62111.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62112.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62113.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62114.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62115.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62120.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62133.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62134.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62141.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62142.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62148.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62149.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62154.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62156.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62162.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62163.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62165.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62166.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62171.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62173.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62174.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62180.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62234.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62260.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@62263.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@62271.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62274.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62275.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62294.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62296.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62297.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62302.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62304.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62305.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62319.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62370.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62416.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62417.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62423.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62454.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62456.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62457.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62471.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62502.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62504.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62505.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62519.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62569.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62571.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62572.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62578.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62583.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62585.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62588.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62589.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62594.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62596.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62627.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62685.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62744.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62779.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62815.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62875.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@62880.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62881.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62882.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62885.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62886.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62887.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62904.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62905.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62907.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62909.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62910.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62915.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62917.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62918.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62923.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62925.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62926.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62931.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62933.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62934.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62939.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62941.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62942.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62949.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62957.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62959.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62960.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62961.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@62962.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62963.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62966.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62967.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62968.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62969.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62986.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62987.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62989.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62991.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62992.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63005.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63007.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63008.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63013.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63015.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63016.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63039.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63059.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63060.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63061.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63062.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63082.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63083.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63084.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63085.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63100.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63103.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63105.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63106.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63107.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63109.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63110.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63102.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63121.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@63123.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63124.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63126.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63128.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63129.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63130.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63132.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63133.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@63125.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63139.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63140.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63141.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63146.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63147.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63148.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63149.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@63150.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@63151.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63154.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63160.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63164.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62122.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62194.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62277.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62336.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62387.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62437.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62485.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62533.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62591.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62633.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62691.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62750.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62785.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62821.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@62035.8]
        end
    `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@62036.8]
        end
    `ifdef STOP_COND
      end
    `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@62105.8]
        end
    `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@62106.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@62122.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@62123.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@62129.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@62130.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@62136.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@62137.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@62144.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@62145.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@62151.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@62152.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@62159.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@62160.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@62168.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@62169.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@62176.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@62177.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@62194.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@62195.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@62201.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@62202.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@62208.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@62209.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@62216.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@62217.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@62223.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@62224.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@62231.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@62232.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@62239.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@62240.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@62248.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@62249.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@62256.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@62257.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@62277.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@62278.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@62284.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@62285.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@62291.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@62292.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@62299.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@62300.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@62307.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@62308.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@62315.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@62316.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@62336.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@62337.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@62343.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@62344.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@62350.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@62351.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@62358.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@62359.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@62366.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@62367.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@62387.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@62388.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@62394.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@62395.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@62401.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@62402.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@62409.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@62410.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@62419.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@62420.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@62437.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@62438.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@62444.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@62445.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@62451.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@62452.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@62459.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@62460.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@62467.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@62468.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@62485.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@62486.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@62492.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@62493.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@62499.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@62500.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@62507.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@62508.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@62515.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@62516.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@62533.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@62534.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@62540.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@62541.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@62547.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@62548.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@62555.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@62556.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@62563.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@62564.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@62574.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@62575.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@62591.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@62592.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@62599.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@62600.10]
        end
    `ifdef STOP_COND
      end
    `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@62607.10]
        end
    `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@62608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@62615.10]
        end
    `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@62616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@62623.10]
        end
    `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@62624.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@62633.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@62634.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@62640.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@62641.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@62648.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@62649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62656.10]
        end
    `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@62657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62664.10]
        end
    `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@62665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62672.10]
        end
    `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@62673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62681.10]
        end
    `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@62682.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@62691.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@62692.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@62698.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@62699.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@62706.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@62707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62714.10]
        end
    `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@62715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62722.10]
        end
    `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@62723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@62731.10]
        end
    `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@62732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@62740.10]
        end
    `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@62741.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@62750.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@62751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@62758.10]
        end
    `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@62759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62766.10]
        end
    `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@62767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62775.10]
        end
    `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@62776.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@62785.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@62786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@62793.10]
        end
    `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@62794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@62802.10]
        end
    `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@62803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@62811.10]
        end
    `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@62812.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@62821.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@62822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@62829.10]
        end
    `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@62830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62837.10]
        end
    `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@62838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@62846.10]
        end
    `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@62847.10]
        end
    `ifdef STOP_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@62856.6]
        end
    `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@62857.6]
        end
    `ifdef STOP_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@62864.6]
        end
    `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@62865.6]
        end
    `ifdef STOP_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@62872.6]
        end
    `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@62873.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@62912.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@62913.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@62920.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@62921.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@62928.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@62929.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@62936.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@62937.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@62944.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@62945.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@62994.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@62995.8]
        end
    `ifdef STOP_COND
      end
    `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@63002.8]
        end
    `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@63003.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@63010.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@63011.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@63018.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@63019.8]
        end
    `ifdef STOP_COND
      end
    `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@63026.8]
        end
    `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@63027.8]
        end
    `ifdef STOP_COND
      end
    `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@63034.8]
        end
    `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@63035.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@63112.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@63113.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@63135.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@63136.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@63156.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@63157.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63200.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63201.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63202.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63203.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63327.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63251.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63252.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63253.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63254.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63255.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63256.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63258.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63259.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63261.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63262.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63263.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63264.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63280.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63281.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63282.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63282.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@63285.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63286.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63287.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63288.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63289.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63290.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63291.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63292.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63292.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63293.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63294.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63295.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63296.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@63297.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63298.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63299.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63313.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63315.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63316.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63317.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63300.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63302.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63302.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63303.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63304.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63309.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63319.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63352.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63353.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63355.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63356.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63357.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63359.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63360.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63361.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63362.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63363.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63365.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63366.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63367.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63368.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63369.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63370.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63371.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63372.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63375.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63382.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63383.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63387.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@63247.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63396.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63388.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63392.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63393.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63397.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63397.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@63398.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@63399.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63400.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63400.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@63401.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63402.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@63403.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63405.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63409.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63411.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63413.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63414.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63421.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63422.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63424.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63425.4]
  TLMonitor_34 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63210.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@63327.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@63254.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63255.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63256.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63258.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63259.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63261.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63262.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63263.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63264.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63280.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63281.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63282.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63282.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@63285.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63286.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63287.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63288.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63289.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63290.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63291.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63292.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63292.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63293.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63294.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63295.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63296.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@63297.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63298.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63299.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63313.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63315.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63316.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63317.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63300.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63302.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63302.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63303.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63304.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63309.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63319.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63352.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63353.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63355.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63356.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63357.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63359.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63360.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63361.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63362.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63363.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63366.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63367.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63368.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63369.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63370.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63371.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63372.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63375.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63383.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63387.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@63247.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63396.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63388.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63392.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63393.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63397.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63397.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@63398.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@63399.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63400.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63400.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@63401.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63402.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@63403.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63405.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63409.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63411.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63413.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63414.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63421.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63422.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63424.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63425.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.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@63249.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63212.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63213.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63246.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63329.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63330.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63395.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63396.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@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; // @[Fragmenter.scala 180: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_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@63416.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@63417.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@63427.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@63428.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63439.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63440.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63441.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.4]
  TLFragmenter_7 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63447.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@63460.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63459.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63451.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63452.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63460.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63458.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63458.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63458.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63458.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63458.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63458.4]
endmodule
module TLMonitor_35( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63469.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63470.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63471.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63472.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@64593.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@63488.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63493.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63495.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63496.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63497.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63498.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63498.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63499.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63501.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63502.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@63504.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63505.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63506.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63507.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63508.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63510.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63511.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63513.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63514.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63515.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63516.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63517.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63518.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63519.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63520.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63521.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63522.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63523.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63524.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63525.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63526.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63527.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63528.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63529.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63530.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63531.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63532.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63557.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63560.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63561.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63562.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63563.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63564.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63569.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63582.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63583.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63590.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63591.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63597.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63598.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63603.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63605.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63611.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63612.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63614.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63615.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63620.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63622.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63623.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63629.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63683.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63709.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@63712.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@63720.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63723.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63724.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63743.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63745.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63746.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63751.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63753.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63754.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63768.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63819.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63865.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63866.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63872.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63903.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63905.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63906.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63920.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63951.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63953.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63954.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63968.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64018.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64020.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64021.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64027.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64032.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64034.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64037.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64038.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64043.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64045.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64076.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64134.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64193.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64228.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64264.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64324.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64329.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64330.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64331.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64333.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64334.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64335.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64336.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64348.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64349.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64350.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64351.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64352.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64353.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64354.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64356.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64358.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64359.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64364.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64366.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64367.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64372.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64374.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64375.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64380.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64382.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64383.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64388.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64390.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64391.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64398.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64406.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64408.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64409.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64410.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64411.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64412.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64414.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64415.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64416.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64417.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64418.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64429.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64431.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64432.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64435.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64436.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64438.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64440.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64441.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64454.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64456.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64457.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64462.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64464.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64465.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64488.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64497.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64507.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64508.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64509.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64510.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64511.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64530.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64531.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64532.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64533.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64534.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64549.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64552.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64554.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64555.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64556.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64558.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64559.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64551.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64570.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@64572.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64573.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64575.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64577.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64578.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64579.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64581.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64582.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@64574.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64588.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64589.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64590.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64592.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64595.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64596.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64597.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64598.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@64599.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@64600.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64603.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64609.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64613.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63571.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63643.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63726.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63785.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63836.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63886.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63934.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63982.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64040.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64082.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64140.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64199.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64234.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64270.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@64593.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@63488.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63493.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63495.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63496.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63497.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63498.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63498.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63499.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63501.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63502.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@63504.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63505.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63506.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63507.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63508.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63510.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63511.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63513.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63514.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63515.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63516.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63517.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63518.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63519.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63520.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63521.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63522.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63523.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63524.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63525.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63526.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63527.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63528.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63529.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63530.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63531.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63532.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63557.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63560.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63561.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63562.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63563.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63564.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63569.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63582.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63583.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63590.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63591.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63597.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63598.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63603.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63605.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63611.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63612.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63614.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63615.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63620.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63622.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63623.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63629.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63683.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63709.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@63712.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@63720.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63723.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63724.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63743.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63745.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63746.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63751.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63753.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63754.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63768.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63819.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63865.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63866.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63872.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63903.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63905.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63906.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63920.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63951.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63953.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63954.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63968.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64018.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64020.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64021.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64027.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64032.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64034.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64037.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64038.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64043.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64045.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64076.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64134.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64193.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64228.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64264.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64324.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64329.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64330.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64331.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64334.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64335.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64336.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64353.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64354.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64356.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64358.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64359.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64364.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64366.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64367.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64372.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64374.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64375.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64380.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64382.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64383.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64388.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64390.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64391.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64398.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64406.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64408.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64409.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64410.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64411.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64412.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64415.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64416.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64417.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64418.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64435.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64436.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64438.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64440.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64441.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64454.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64456.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64457.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64462.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64464.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64465.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64488.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64508.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64509.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64510.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64511.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64531.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64532.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64533.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64534.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64549.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64552.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64554.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64555.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64556.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64558.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64559.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64551.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64570.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@64572.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64573.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64575.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64577.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64578.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64579.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64581.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64582.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@64574.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64588.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64589.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64590.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64595.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64596.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64597.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64598.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@64599.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@64600.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64603.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64609.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64613.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63571.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63643.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63726.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63785.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63836.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63886.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63934.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63982.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64040.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64082.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64140.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64199.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64234.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64270.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@63484.8]
        end
    `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@63485.8]
        end
    `ifdef STOP_COND
      end
    `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@63554.8]
        end
    `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@63555.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@63571.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@63572.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@63578.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@63579.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@63585.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@63586.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@63593.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@63594.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@63600.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@63601.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@63608.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@63609.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@63617.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@63618.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@63625.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@63626.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@63643.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@63644.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@63650.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@63651.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@63657.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@63658.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@63665.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@63666.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@63672.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@63673.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@63680.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@63681.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@63688.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@63689.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@63697.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@63698.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@63705.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@63706.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@63726.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@63727.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@63733.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@63734.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@63740.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@63741.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@63748.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@63749.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@63756.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@63757.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@63764.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@63765.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@63785.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@63786.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@63792.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@63793.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@63799.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@63800.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@63807.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@63808.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@63815.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@63816.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@63836.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@63837.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@63843.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@63844.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@63850.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@63851.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@63858.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@63859.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@63868.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@63869.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@63886.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@63887.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@63893.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@63894.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@63900.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@63901.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@63908.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@63909.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@63916.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@63917.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@63934.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@63935.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@63941.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@63942.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@63948.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@63949.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@63956.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@63957.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@63964.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@63965.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@63982.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@63983.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@63989.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@63990.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@63996.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@63997.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@64004.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@64005.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@64012.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@64013.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@64023.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@64024.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@64040.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@64041.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@64048.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@64049.10]
        end
    `ifdef STOP_COND
      end
    `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@64056.10]
        end
    `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@64057.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@64064.10]
        end
    `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@64065.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@64072.10]
        end
    `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@64073.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@64082.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@64083.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@64089.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@64090.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@64097.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@64098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64105.10]
        end
    `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@64106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64113.10]
        end
    `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@64114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64121.10]
        end
    `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@64122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64130.10]
        end
    `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@64131.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@64140.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@64141.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@64147.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@64148.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@64155.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@64156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64163.10]
        end
    `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@64164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64171.10]
        end
    `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@64172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@64180.10]
        end
    `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@64181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@64189.10]
        end
    `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@64190.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@64199.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@64200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@64207.10]
        end
    `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@64208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64215.10]
        end
    `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@64216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64224.10]
        end
    `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@64225.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@64234.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@64235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@64242.10]
        end
    `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@64243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@64251.10]
        end
    `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@64252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@64260.10]
        end
    `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@64261.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@64270.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@64271.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@64278.10]
        end
    `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@64279.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64286.10]
        end
    `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@64287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@64295.10]
        end
    `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@64296.10]
        end
    `ifdef STOP_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@64305.6]
        end
    `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@64306.6]
        end
    `ifdef STOP_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@64313.6]
        end
    `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@64314.6]
        end
    `ifdef STOP_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@64321.6]
        end
    `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@64322.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@64361.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@64362.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@64369.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@64370.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@64377.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@64378.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@64385.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@64386.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@64393.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@64394.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@64443.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@64444.8]
        end
    `ifdef STOP_COND
      end
    `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@64451.8]
        end
    `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@64452.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@64459.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@64460.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@64467.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@64468.8]
        end
    `ifdef STOP_COND
      end
    `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@64475.8]
        end
    `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@64476.8]
        end
    `ifdef STOP_COND
      end
    `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@64483.8]
        end
    `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@64484.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@64561.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@64562.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@64584.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@64585.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@64605.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@64606.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64649.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64650.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64651.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64652.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64776.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64700.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64701.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64702.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@64703.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64704.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64705.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64707.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64708.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64710.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64711.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64712.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64713.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64729.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64730.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@64731.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@64731.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@64734.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64735.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64736.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@64737.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64738.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64739.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64740.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64741.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64741.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64742.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64743.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64744.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64745.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@64746.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64747.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64748.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64762.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64764.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64765.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64766.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64749.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64751.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64751.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64752.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64753.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@64758.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64768.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64801.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64802.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64804.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64805.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64806.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64808.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64809.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64810.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64811.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64812.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64814.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64815.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64816.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64817.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64818.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64819.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64820.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64821.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64824.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@64831.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64832.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64836.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@64696.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64845.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64837.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64841.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@64842.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@64846.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@64846.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@64847.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@64848.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@64849.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@64849.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@64850.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64851.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@64852.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64854.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64858.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64860.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64862.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64863.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@64870.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64871.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64873.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64874.4]
  TLMonitor_35 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64659.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@64776.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@64703.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64704.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64705.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64707.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64708.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64710.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64711.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64712.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64713.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64729.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64730.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@64731.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@64731.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@64734.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64735.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64736.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@64737.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64738.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64739.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64740.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64741.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64741.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64742.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64743.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64744.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64745.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@64746.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64747.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64748.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@64762.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64764.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64765.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64766.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64749.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64751.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64751.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64752.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@64753.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@64758.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64768.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64801.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64802.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64804.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64805.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64806.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64808.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64809.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64810.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64811.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64812.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64815.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64816.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64817.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64818.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64819.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64820.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64821.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64824.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64832.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64836.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@64696.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64845.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64837.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64841.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@64842.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@64846.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@64846.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@64847.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@64848.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@64849.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@64849.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@64850.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64851.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@64852.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64854.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64858.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64860.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64862.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64863.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@64870.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64871.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64873.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64874.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.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@64698.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64661.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64662.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64695.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64778.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64779.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64844.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64845.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@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; // @[Fragmenter.scala 180: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_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@64865.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@64866.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@64876.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@64877.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64888.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64889.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64890.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.4]
  TLFragmenter_8 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64896.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@64909.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64908.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64900.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64901.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64909.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64907.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64907.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64907.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64907.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64907.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@64907.4]
endmodule
module TLMonitor_36( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64918.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64919.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64920.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@64921.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@66042.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64937.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64942.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64944.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64945.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64946.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@64947.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@64947.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64948.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64950.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64951.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@64953.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64954.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64955.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64956.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64957.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64959.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64960.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64962.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64963.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64964.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64965.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64966.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64967.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64968.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64969.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64970.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64971.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64972.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64973.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64974.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64975.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64976.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64977.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64978.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64979.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64980.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64981.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65006.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65009.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65010.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65011.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65012.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65013.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65018.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65031.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65032.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65039.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65040.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65046.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65047.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65052.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65054.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65060.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65061.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65063.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65064.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65069.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65071.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65072.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65078.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65132.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65158.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@65161.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@65169.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65172.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65173.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65192.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65194.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65195.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65200.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65202.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65203.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65217.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65268.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65314.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65315.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65321.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65352.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65354.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65355.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65369.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65400.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65402.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65403.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65417.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65467.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65469.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65470.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65476.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65481.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65483.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65486.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65487.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65492.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65494.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65525.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65583.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65642.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65677.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65713.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65773.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@65778.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65779.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65780.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65782.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65783.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65784.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65785.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65797.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65798.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65799.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65800.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65801.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65802.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65803.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65805.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65807.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65808.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65813.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65815.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65816.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65821.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65823.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65824.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65829.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65831.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65832.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65837.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65839.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65840.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65847.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65855.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65857.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65858.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65859.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@65860.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65861.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65863.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65864.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65865.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65866.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65867.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65878.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65880.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65881.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65884.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65885.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65887.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65889.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65890.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65903.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65905.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65906.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65911.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65913.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65914.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65937.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65946.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65956.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65957.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65958.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65959.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65960.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65979.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65980.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65981.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65982.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65983.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65998.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66001.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66003.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66004.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66005.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66007.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66008.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66000.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66019.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@66021.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66022.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66024.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66026.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66027.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66028.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66030.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66031.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@66023.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66037.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66038.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66039.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66041.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66044.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66045.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66046.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66047.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@66048.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@66049.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66052.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66058.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66062.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65020.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65092.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65175.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65234.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65285.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65335.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65383.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65431.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65489.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65531.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65589.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65648.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65683.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65719.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@66042.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64937.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64942.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64944.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64945.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64946.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@64947.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@64947.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64948.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@64950.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64951.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@64953.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64954.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64955.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64956.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64957.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64959.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64960.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64962.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64963.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64964.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@64965.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64966.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64967.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64968.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64969.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64970.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64971.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64972.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64973.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64974.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64975.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64976.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64977.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64978.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64979.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64980.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@64981.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65006.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65009.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65010.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65011.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65012.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65013.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65018.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65031.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65032.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65039.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65040.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65046.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65047.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65052.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65054.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65060.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65061.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65063.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65064.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65069.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65071.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65072.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65078.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65132.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65158.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@65161.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@65169.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65172.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65173.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65192.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65194.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65195.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65200.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65202.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65203.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65217.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65268.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65314.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65315.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65321.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65352.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65354.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65355.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65369.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65400.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65402.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65403.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65417.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65467.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65469.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65470.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65476.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65481.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65483.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65486.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65487.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65492.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65494.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65525.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65583.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65642.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65677.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65713.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65773.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@65778.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65779.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65780.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65783.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65784.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65785.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65802.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65803.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65805.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65807.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65808.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65813.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65815.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65816.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65821.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65823.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65824.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65829.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65831.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65832.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65837.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65839.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65840.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65847.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65855.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65857.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65858.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65859.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@65860.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65861.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65864.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65865.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65866.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65867.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65884.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65885.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65887.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65889.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65890.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65903.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65905.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65906.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65911.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65913.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65914.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65937.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65957.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65958.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65959.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65960.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65980.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65981.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65982.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65983.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65998.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66001.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66003.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66004.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66005.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66007.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66008.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66000.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66019.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@66021.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66022.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66024.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66026.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66027.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66028.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66030.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66031.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@66023.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66037.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66038.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66039.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66044.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66045.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66046.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66047.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@66048.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@66049.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66052.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66058.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66062.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65020.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65092.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65175.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65234.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65285.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65335.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65383.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65431.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65489.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65531.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65589.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65648.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65683.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65719.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@64933.8]
        end
    `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@64934.8]
        end
    `ifdef STOP_COND
      end
    `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@65003.8]
        end
    `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@65004.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@65020.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@65021.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@65027.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@65028.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@65034.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@65035.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@65042.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@65043.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@65049.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@65050.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@65057.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@65058.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@65066.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@65067.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@65074.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@65075.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@65092.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@65093.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@65099.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@65100.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@65106.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@65107.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@65114.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@65115.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@65121.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@65122.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@65129.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@65130.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@65137.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@65138.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@65146.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@65147.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@65154.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@65155.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@65175.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@65176.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@65182.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@65183.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@65189.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@65190.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@65197.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@65198.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@65205.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@65206.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@65213.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@65214.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@65234.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@65235.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@65241.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@65242.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@65248.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@65249.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@65256.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@65257.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@65264.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@65265.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@65285.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@65286.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@65292.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@65293.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@65299.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@65300.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@65307.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@65308.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@65317.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@65318.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@65335.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@65336.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@65342.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@65343.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@65349.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@65350.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@65357.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@65358.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@65365.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@65366.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@65383.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@65384.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@65390.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@65391.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@65397.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@65398.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@65405.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@65406.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@65413.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@65414.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@65431.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@65432.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@65438.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@65439.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@65445.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@65446.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@65453.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@65454.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@65461.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@65462.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@65472.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@65473.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@65489.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@65490.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@65497.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@65498.10]
        end
    `ifdef STOP_COND
      end
    `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@65505.10]
        end
    `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@65506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@65513.10]
        end
    `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@65514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@65521.10]
        end
    `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@65522.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@65531.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@65532.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@65538.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@65539.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@65546.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@65547.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65554.10]
        end
    `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@65555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65562.10]
        end
    `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@65563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65570.10]
        end
    `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@65571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65579.10]
        end
    `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@65580.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@65589.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@65590.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@65596.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@65597.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@65604.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@65605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65612.10]
        end
    `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@65613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65620.10]
        end
    `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@65621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@65629.10]
        end
    `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@65630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@65638.10]
        end
    `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@65639.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@65648.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@65649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@65656.10]
        end
    `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@65657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65664.10]
        end
    `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@65665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65673.10]
        end
    `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@65674.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@65683.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@65684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@65691.10]
        end
    `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@65692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@65700.10]
        end
    `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@65701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@65709.10]
        end
    `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@65710.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@65719.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@65720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@65727.10]
        end
    `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@65728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65735.10]
        end
    `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@65736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@65744.10]
        end
    `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@65745.10]
        end
    `ifdef STOP_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@65754.6]
        end
    `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@65755.6]
        end
    `ifdef STOP_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@65762.6]
        end
    `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@65763.6]
        end
    `ifdef STOP_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@65770.6]
        end
    `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@65771.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@65810.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@65811.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@65818.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@65819.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@65826.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@65827.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@65834.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@65835.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@65842.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@65843.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@65892.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@65893.8]
        end
    `ifdef STOP_COND
      end
    `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@65900.8]
        end
    `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@65901.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@65908.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@65909.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@65916.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@65917.8]
        end
    `ifdef STOP_COND
      end
    `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@65924.8]
        end
    `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@65925.8]
        end
    `ifdef STOP_COND
      end
    `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@65932.8]
        end
    `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@65933.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@66010.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@66011.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@66033.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@66034.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@66054.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@66055.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66098.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66099.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66100.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66101.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66225.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66149.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66150.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66151.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66152.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66153.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66154.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66156.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66157.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66159.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66160.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66161.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66162.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66178.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66179.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66180.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66180.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@66183.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66184.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66185.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66186.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66187.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66188.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66189.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66190.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66190.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66191.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66192.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66193.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66194.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@66195.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66196.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66197.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66211.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66213.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66214.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66215.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66198.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66200.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66200.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66201.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66202.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66207.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66217.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66250.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66251.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66253.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66254.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66255.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66257.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66258.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66259.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66260.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66261.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66263.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66264.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66265.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66266.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66267.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66268.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66269.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66270.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66273.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66280.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66281.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66285.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@66145.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66294.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66286.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66290.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66291.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66295.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66295.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@66296.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@66297.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66298.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66298.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@66299.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66300.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@66301.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66303.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66307.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66309.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66311.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66312.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66319.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66320.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66322.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66323.4]
  TLMonitor_36 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66108.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@66225.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@66152.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66153.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66154.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66156.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66157.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66159.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66160.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66161.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66162.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66178.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66179.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66180.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66180.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@66183.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66184.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66185.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66186.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66187.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66188.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66189.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66190.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66190.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66191.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66192.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66193.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66194.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@66195.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66196.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66197.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66211.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66213.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66214.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66215.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66198.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66200.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66200.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66201.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66202.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66207.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66217.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66250.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66251.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66253.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66254.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66255.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66257.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66258.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66259.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66260.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66261.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66264.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66265.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66266.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66267.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66268.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66269.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66270.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66273.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66281.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66285.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@66145.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66294.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66286.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66290.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66291.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66295.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66295.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@66296.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@66297.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66298.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66298.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@66299.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66300.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@66301.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66303.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66307.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66309.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66311.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66312.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66319.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66320.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66322.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66323.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.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@66147.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66110.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66111.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66144.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66227.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66228.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66293.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66294.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@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; // @[Fragmenter.scala 180: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_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@66314.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@66315.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@66325.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@66326.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66337.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66338.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66339.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.4]
  TLFragmenter_9 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66345.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@66358.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66357.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66349.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66350.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66358.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66356.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66356.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66356.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66356.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66356.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66356.4]
endmodule
module TLMonitor_37( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66367.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66368.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66369.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66370.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67491.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66386.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66391.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66393.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66394.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66395.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66396.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66396.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66397.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66399.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66400.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@66402.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66403.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66404.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66405.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66406.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66408.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66409.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66411.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66412.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66413.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66414.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66415.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66416.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66417.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66418.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66419.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66420.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66421.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66422.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66423.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66424.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66425.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66426.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66427.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66428.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66429.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66430.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66455.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66458.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66459.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66460.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66461.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66462.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66467.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66480.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66481.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66488.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66489.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66495.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66496.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66501.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66503.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66509.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66510.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66512.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66513.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66518.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66520.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66521.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66527.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66581.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66607.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@66610.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@66618.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66621.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66622.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66641.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66643.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66644.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66649.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66651.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66652.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66666.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66717.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66763.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66764.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66770.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66801.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66803.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66804.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66818.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66849.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66851.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66852.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66866.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66916.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66918.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66919.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66925.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66930.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66932.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66935.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66936.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66941.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66943.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66944.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66974.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67032.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67091.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67126.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67162.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67222.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@67227.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67228.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67229.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67231.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67232.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67233.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67234.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67235.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67247.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67248.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67249.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67250.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67251.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67252.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67254.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67256.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67257.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67262.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67264.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67265.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67270.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67272.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67273.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67278.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67280.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67281.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67286.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67288.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67289.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67296.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67304.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67306.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67307.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67308.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@67309.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67310.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67312.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67313.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67314.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67315.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67316.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67327.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67329.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67330.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67333.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67334.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67336.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67338.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67339.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67352.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67354.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67355.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67360.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67362.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67363.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67386.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67395.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67405.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67406.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67407.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67408.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67409.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67428.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67429.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67430.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67431.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67432.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67447.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67450.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67452.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67453.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67454.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67456.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67457.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67449.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67468.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@67470.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67471.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67473.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67475.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67476.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67477.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67479.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67480.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@67472.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67486.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@67487.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67488.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67490.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67493.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67494.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67495.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67496.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@67497.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67498.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67500.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67501.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67507.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67511.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66469.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66541.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66624.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66683.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66734.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66784.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66832.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66880.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66938.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66980.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67038.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67097.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67132.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67168.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67491.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66386.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66391.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66393.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66394.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66395.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66396.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66396.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66397.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66399.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66400.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@66402.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66403.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66404.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66405.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66406.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66408.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66409.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66411.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66412.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66413.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66414.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66415.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66416.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66417.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66418.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66419.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66420.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66421.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66422.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66423.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66424.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66425.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66426.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66427.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66428.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66429.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66430.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66455.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66458.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66459.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66460.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66461.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66462.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66467.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66480.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66481.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66488.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66489.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66495.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66496.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66501.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66503.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66509.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66510.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66512.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66513.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66518.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66520.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66521.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66527.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66581.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66607.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@66610.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@66618.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66621.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66622.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66641.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66643.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66644.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66649.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66651.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66652.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66666.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66717.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66763.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66764.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66770.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66801.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66803.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66804.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66818.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66849.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66851.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66852.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66866.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66916.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66918.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66919.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66925.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66930.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66932.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66935.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66936.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66941.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66943.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66944.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66974.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67032.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67091.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67126.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67162.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67222.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@67227.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67228.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67229.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67232.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67233.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67234.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67235.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67251.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67252.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67254.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67256.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67257.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67262.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67264.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67265.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67270.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67272.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67273.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67278.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67280.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67281.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67286.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67288.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67289.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67296.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67304.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67306.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67307.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67308.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@67309.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67310.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67313.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67314.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67315.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67316.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67333.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67334.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67336.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67338.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67339.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67352.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67354.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67355.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67360.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67362.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67363.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67386.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67406.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67407.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67408.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67409.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67429.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67430.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67431.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67432.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67447.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67450.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67452.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67453.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67454.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67456.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67457.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67449.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67468.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@67470.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67471.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67473.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67475.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67476.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67477.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67479.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67480.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@67472.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67486.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@67487.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67488.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67493.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67494.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67495.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67496.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@67497.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67498.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67500.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67501.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67507.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67511.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66469.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66541.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66624.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66683.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66734.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66784.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66832.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66880.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66938.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66980.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67038.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67097.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67132.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67168.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:84: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@66382.8]
        end
    `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@66383.8]
        end
    `ifdef STOP_COND
      end
    `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@66452.8]
        end
    `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@66453.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:84: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@66469.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@66470.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:84: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@66476.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@66477.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:84: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@66483.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@66484.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:84: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@66491.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@66492.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:84: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@66498.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@66499.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:84: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@66506.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@66507.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:84: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@66515.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@66516.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:84:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66523.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@66524.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:84: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@66541.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@66542.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:84: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@66548.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@66549.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:84: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@66555.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@66556.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:84: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@66563.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@66564.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:84: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@66570.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@66571.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:84: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@66578.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@66579.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:84: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@66586.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@66587.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:84: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@66595.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@66596.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:84:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.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@66604.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:84: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@66624.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@66625.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:84: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@66631.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@66632.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:84: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@66638.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@66639.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:84: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@66646.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@66647.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:84: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@66654.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@66655.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:84:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66662.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@66663.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:84: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@66683.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@66684.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:84: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@66690.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@66691.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:84: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@66697.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@66698.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:84: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@66705.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@66706.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:84: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@66713.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@66714.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:84: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@66734.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@66735.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:84: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@66741.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@66742.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:84: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@66748.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@66749.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:84: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@66756.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@66757.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:84: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@66766.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@66767.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:84: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@66784.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@66785.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:84: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@66791.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@66792.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:84: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@66798.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@66799.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:84: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@66806.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@66807.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:84: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@66814.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@66815.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:84: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@66832.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@66833.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:84: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@66839.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@66840.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:84: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@66846.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@66847.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:84: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@66854.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@66855.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:84: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@66862.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@66863.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:84: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@66880.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@66881.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:84: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@66887.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@66888.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:84: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@66894.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@66895.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:84: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@66902.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@66903.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:84:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66910.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@66911.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:84: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@66921.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@66922.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:84: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@66938.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@66939.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:84: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@66946.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@66947.10]
        end
    `ifdef STOP_COND
      end
    `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:84: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@66954.10]
        end
    `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@66955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:84:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66962.10]
        end
    `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@66963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:84:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66970.10]
        end
    `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@66971.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:84: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@66980.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@66981.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:84: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@66987.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@66988.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:84: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@66995.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@66996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67003.10]
        end
    `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@67004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67011.10]
        end
    `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@67012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67019.10]
        end
    `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@67020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67028.10]
        end
    `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@67029.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:84: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@67038.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@67039.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:84: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@67045.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@67046.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:84: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@67053.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@67054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67061.10]
        end
    `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@67062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67069.10]
        end
    `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@67070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:84: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@67078.10]
        end
    `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@67079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:84: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@67087.10]
        end
    `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@67088.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:84: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@67097.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@67098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:84: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@67105.10]
        end
    `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@67106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67113.10]
        end
    `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@67114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67122.10]
        end
    `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@67123.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:84: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@67132.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@67133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:84: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@67140.10]
        end
    `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@67141.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:84: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@67149.10]
        end
    `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@67150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:84: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@67158.10]
        end
    `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@67159.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:84: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@67168.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@67169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:84: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@67176.10]
        end
    `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@67177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67184.10]
        end
    `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@67185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:84: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@67193.10]
        end
    `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@67194.10]
        end
    `ifdef STOP_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:84: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@67203.6]
        end
    `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@67204.6]
        end
    `ifdef STOP_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:84: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@67211.6]
        end
    `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@67212.6]
        end
    `ifdef STOP_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:84: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@67219.6]
        end
    `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@67220.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:84: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@67259.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@67260.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:84: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@67267.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@67268.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:84: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@67275.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@67276.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:84: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@67283.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@67284.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:84: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@67291.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@67292.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:84: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@67341.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@67342.8]
        end
    `ifdef STOP_COND
      end
    `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:84: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@67349.8]
        end
    `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@67350.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:84: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@67357.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@67358.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:84: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@67365.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@67366.8]
        end
    `ifdef STOP_COND
      end
    `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:84: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@67373.8]
        end
    `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@67374.8]
        end
    `ifdef STOP_COND
      end
    `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:84: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@67381.8]
        end
    `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@67382.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:84: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@67459.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@67460.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:84: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@67482.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@67483.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:84: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@67503.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@67504.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67547.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67548.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67549.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67598.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67599.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67600.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67601.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67602.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67603.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67605.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67606.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67608.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67609.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67610.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67611.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67627.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@67628.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@67629.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@67629.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@67632.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67633.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67634.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67635.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67636.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67637.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67638.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67640.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67641.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67642.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67643.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@67644.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67645.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67646.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67660.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67662.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67663.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67664.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67647.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67649.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67649.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67650.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67651.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67656.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67666.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67699.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67700.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67702.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67703.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67704.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67706.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67707.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67708.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67709.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67710.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67712.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67713.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67714.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67715.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67716.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67717.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67718.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67719.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@67722.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67729.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67730.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67734.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@67594.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67743.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67735.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67739.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67740.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67744.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67744.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@67745.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@67746.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@67747.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@67747.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@67748.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67749.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@67750.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67752.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67756.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67758.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67760.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67761.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67768.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67769.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67771.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67772.4]
  TLMonitor_37 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67557.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@67674.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@67601.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67602.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67603.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67605.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67606.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67608.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67609.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67610.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67611.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67627.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@67628.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@67629.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@67629.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@67632.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67633.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67634.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67635.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67636.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67637.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67638.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67640.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67641.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67642.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67643.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@67644.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67645.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67646.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67660.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67662.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67663.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67664.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67647.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67649.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67649.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67650.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67651.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67656.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67666.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67699.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67700.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67702.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67703.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67704.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67706.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67707.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67708.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67709.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67710.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67713.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67714.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67715.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67716.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67717.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67718.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67719.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@67722.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67730.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67734.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@67594.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67743.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67735.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67739.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67740.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67744.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67744.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@67745.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@67746.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@67747.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@67747.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@67748.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67749.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@67750.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67752.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67756.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67758.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67760.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67761.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67768.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67769.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67771.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67772.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.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@67596.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67596.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67559.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67560.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67593.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67676.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67677.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67742.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67743.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@67622.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@67623.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@67763.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@67764.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@67774.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@67775.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67786.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67787.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67788.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67789.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  TLFragmenter_10 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.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@67807.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67806.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67798.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67799.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67807.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67805.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67805.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67805.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67805.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67805.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67805.4]
endmodule
module TLMonitor_38( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67816.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67817.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67818.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@68903.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@67835.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67840.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67842.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67843.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67844.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@67846.6]
  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67873.6]
  wire [29:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67876.8]
  wire [30:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67877.8]
  wire [30:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@67878.8]
  wire [30:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@67879.8]
  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@67880.8]
  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.8]
  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.8]
  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67899.8]
  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67913.8]
  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67914.8]
  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67919.8]
  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67921.8]
  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67922.8]
  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67927.8]
  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67928.8]
  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67930.8]
  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67931.8]
  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67936.8]
  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67938.8]
  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67939.8]
  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67945.6]
  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67999.8]
  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68001.8]
  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.8]
  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68025.6]
  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@68028.8]
  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@68036.8]
  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68039.8]
  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68040.8]
  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68059.8]
  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68061.8]
  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68062.8]
  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68069.8]
  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68070.8]
  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.6]
  wire  _T_198; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68132.6]
  wire  _T_226; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68182.6]
  wire  _T_244; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68213.8]
  wire  _T_246; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68215.8]
  wire  _T_247; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68216.8]
  wire  _T_252; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68230.6]
  wire  _T_270; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@68261.8]
  wire  _T_272; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68263.8]
  wire  _T_273; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68264.8]
  wire  _T_278; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68278.6]
  wire  _T_309; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68337.6]
  wire  _T_318; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68342.6]
  wire  _T_322; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68347.8]
  wire  _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68348.8]
  wire  _T_461; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68634.4]
  reg [5:0] _T_471; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68643.4]
  reg [31:0] _RAND_0;
  wire [6:0] _T_472; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68644.4]
  wire [6:0] _T_473; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68645.4]
  wire [5:0] _T_474; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68646.4]
  wire  _T_475; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68647.4]
  reg [2:0] _T_484; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68658.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_486; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68659.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_488; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68660.4]
  reg [31:0] _RAND_3;
  reg  _T_490; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68661.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_492; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68662.4]
  reg [31:0] _RAND_5;
  wire  _T_493; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68663.4]
  wire  _T_494; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68664.4]
  wire  _T_495; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68666.6]
  wire  _T_497; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68668.6]
  wire  _T_498; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68669.6]
  wire  _T_499; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68674.6]
  wire  _T_501; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68676.6]
  wire  _T_502; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68677.6]
  wire  _T_503; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68682.6]
  wire  _T_505; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68684.6]
  wire  _T_506; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68685.6]
  wire  _T_507; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68690.6]
  wire  _T_509; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68692.6]
  wire  _T_510; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68693.6]
  wire  _T_511; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68698.6]
  wire  _T_513; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68700.6]
  wire  _T_514; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68701.6]
  wire  _T_516; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@68708.4]
  wire  _T_517; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68716.4]
  wire [12:0] _T_519; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68718.4]
  wire [5:0] _T_520; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68719.4]
  wire [5:0] _T_521; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68720.4]
  reg [5:0] _T_526; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68724.4]
  reg [31:0] _RAND_6;
  wire [6:0] _T_527; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68725.4]
  wire [6:0] _T_528; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68726.4]
  wire [5:0] _T_529; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68727.4]
  wire  _T_530; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68728.4]
  reg [2:0] _T_543; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68741.4]
  reg [31:0] _RAND_7;
  reg  _T_545; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68742.4]
  reg [31:0] _RAND_8;
  wire  _T_550; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68745.4]
  wire  _T_551; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68746.4]
  wire  _T_560; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68764.6]
  wire  _T_562; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68766.6]
  wire  _T_563; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68767.6]
  wire  _T_564; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68772.6]
  wire  _T_566; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68774.6]
  wire  _T_567; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68775.6]
  wire  _T_577; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@68798.4]
  reg [1:0] _T_579; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68807.4]
  reg [31:0] _RAND_9;
  reg [5:0] _T_590; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68817.4]
  reg [31:0] _RAND_10;
  wire [6:0] _T_591; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68818.4]
  wire [6:0] _T_592; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68819.4]
  wire [5:0] _T_593; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68820.4]
  wire  _T_594; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68821.4]
  reg [5:0] _T_611; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68840.4]
  reg [31:0] _RAND_11;
  wire [6:0] _T_612; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68841.4]
  wire [6:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68842.4]
  wire [5:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68843.4]
  wire  _T_615; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68844.4]
  wire  _T_626; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68859.4]
  wire [1:0] _T_628; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@68862.6]
  wire [1:0] _T_629; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68864.6]
  wire  _T_630; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68865.6]
  wire  _T_631; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68866.6]
  wire  _T_633; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68868.6]
  wire  _T_634; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68869.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@68861.4]
  wire  _T_639; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68880.4]
  wire [1:0] _T_643; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@68885.6]
  wire [1:0] _T_644; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68887.6]
  wire [1:0] _T_645; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@68888.6]
  wire  _T_646; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@68889.6]
  wire  _T_648; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68891.6]
  wire  _T_649; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68892.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@68884.4]
  wire [1:0] _T_650; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68898.4]
  wire [1:0] _T_651; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@68899.4]
  wire [1:0] _T_652; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@68900.4]
  reg [31:0] _T_654; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68902.4]
  reg [31:0] _RAND_12;
  wire  _T_655; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68905.4]
  wire  _T_656; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68906.4]
  wire  _T_657; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@68907.4]
  wire  _T_658; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68908.4]
  wire  _T_659; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@68909.4]
  wire  _T_660; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@68910.4]
  wire  _T_662; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68912.4]
  wire  _T_663; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68913.4]
  wire [31:0] _T_665; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68919.4]
  wire  _T_668; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68923.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67887.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68042.10]
  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68098.10]
  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68146.10]
  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68196.10]
  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68244.10]
  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68292.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@68903.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@67835.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67840.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67842.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67843.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67844.6]
  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@67846.6]
  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67873.6]
  assign _T_61 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67876.8]
  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67877.8]
  assign _T_63 = $signed(_T_62) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@67878.8]
  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@67879.8]
  assign _T_65 = $signed(_T_64) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@67880.8]
  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.8]
  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.8]
  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67899.8]
  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67913.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67914.8]
  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67919.8]
  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67921.8]
  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67922.8]
  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67927.8]
  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67928.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67930.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67931.8]
  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67936.8]
  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67938.8]
  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67939.8]
  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67945.6]
  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67999.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68001.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.8]
  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68025.6]
  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@68028.8]
  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@68036.8]
  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68039.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68040.8]
  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68059.8]
  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68061.8]
  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68062.8]
  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68069.8]
  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68070.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.6]
  assign _T_198 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68132.6]
  assign _T_226 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68182.6]
  assign _T_244 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68213.8]
  assign _T_246 = _T_244 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68215.8]
  assign _T_247 = _T_246 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68216.8]
  assign _T_252 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68230.6]
  assign _T_270 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@68261.8]
  assign _T_272 = _T_270 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68263.8]
  assign _T_273 = _T_272 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68264.8]
  assign _T_278 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68278.6]
  assign _T_309 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68337.6]
  assign _T_318 = io_in_d_bits_source | _T_309; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68342.6]
  assign _T_322 = _T_318 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68347.8]
  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68348.8]
  assign _T_461 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68634.4]
  assign _T_472 = _T_471 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68644.4]
  assign _T_473 = $unsigned(_T_472); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68645.4]
  assign _T_474 = _T_473[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68646.4]
  assign _T_475 = _T_471 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68647.4]
  assign _T_493 = _T_475 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68663.4]
  assign _T_494 = io_in_a_valid & _T_493; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68664.4]
  assign _T_495 = io_in_a_bits_opcode == _T_484; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68666.6]
  assign _T_497 = _T_495 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68668.6]
  assign _T_498 = _T_497 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68669.6]
  assign _T_499 = io_in_a_bits_param == _T_486; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68674.6]
  assign _T_501 = _T_499 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68676.6]
  assign _T_502 = _T_501 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68677.6]
  assign _T_503 = io_in_a_bits_size == _T_488; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68682.6]
  assign _T_505 = _T_503 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68684.6]
  assign _T_506 = _T_505 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68685.6]
  assign _T_507 = io_in_a_bits_source == _T_490; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68690.6]
  assign _T_509 = _T_507 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68692.6]
  assign _T_510 = _T_509 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68693.6]
  assign _T_511 = io_in_a_bits_address == _T_492; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68698.6]
  assign _T_513 = _T_511 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68700.6]
  assign _T_514 = _T_513 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68701.6]
  assign _T_516 = _T_461 & _T_475; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@68708.4]
  assign _T_517 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68716.4]
  assign _T_519 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68718.4]
  assign _T_520 = _T_519[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68719.4]
  assign _T_521 = ~ _T_520; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68720.4]
  assign _T_527 = _T_526 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68725.4]
  assign _T_528 = $unsigned(_T_527); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68726.4]
  assign _T_529 = _T_528[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68727.4]
  assign _T_530 = _T_526 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68728.4]
  assign _T_550 = _T_530 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68745.4]
  assign _T_551 = io_in_d_valid & _T_550; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68746.4]
  assign _T_560 = io_in_d_bits_size == _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68764.6]
  assign _T_562 = _T_560 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68766.6]
  assign _T_563 = _T_562 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68767.6]
  assign _T_564 = io_in_d_bits_source == _T_545; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68772.6]
  assign _T_566 = _T_564 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68774.6]
  assign _T_567 = _T_566 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68775.6]
  assign _T_577 = _T_517 & _T_530; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@68798.4]
  assign _T_591 = _T_590 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68818.4]
  assign _T_592 = $unsigned(_T_591); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68819.4]
  assign _T_593 = _T_592[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68820.4]
  assign _T_594 = _T_590 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68821.4]
  assign _T_612 = _T_611 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68841.4]
  assign _T_613 = $unsigned(_T_612); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68842.4]
  assign _T_614 = _T_613[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68843.4]
  assign _T_615 = _T_611 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68844.4]
  assign _T_626 = _T_461 & _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68859.4]
  assign _T_628 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@68862.6]
  assign _T_629 = _T_579 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68864.6]
  assign _T_630 = _T_629[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68865.6]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68866.6]
  assign _T_633 = _T_631 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68868.6]
  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68869.6]
  assign _GEN_15 = _T_626 ? _T_628 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@68861.4]
  assign _T_639 = _T_517 & _T_615; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68880.4]
  assign _T_643 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@68885.6]
  assign _T_644 = _GEN_15 | _T_579; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68887.6]
  assign _T_645 = _T_644 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@68888.6]
  assign _T_646 = _T_645[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@68889.6]
  assign _T_648 = _T_646 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68891.6]
  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68892.6]
  assign _GEN_16 = _T_639 ? _T_643 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@68884.4]
  assign _T_650 = _T_579 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68898.4]
  assign _T_651 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@68899.4]
  assign _T_652 = _T_650 & _T_651; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@68900.4]
  assign _T_655 = _T_579 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68905.4]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68906.4]
  assign _T_657 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@68907.4]
  assign _T_658 = _T_656 | _T_657; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68908.4]
  assign _T_659 = _T_654 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@68909.4]
  assign _T_660 = _T_658 | _T_659; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@68910.4]
  assign _T_662 = _T_660 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68912.4]
  assign _T_663 = _T_662 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68913.4]
  assign _T_665 = _T_654 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68919.4]
  assign _T_668 = _T_461 | _T_517; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68923.4]
  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67887.10]
  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.10]
  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68042.10]
  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68098.10]
  assign _GEN_71 = io_in_a_valid & _T_198; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68146.10]
  assign _GEN_79 = io_in_a_valid & _T_226; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68196.10]
  assign _GEN_89 = io_in_a_valid & _T_252; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68244.10]
  assign _GEN_99 = io_in_a_valid & _T_278; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68292.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:90: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@67831.8]
        end
    `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@67832.8]
        end
    `ifdef STOP_COND
      end
    `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@67870.8]
        end
    `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@67871.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:90: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@67887.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@67888.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:90: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@67894.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@67895.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:90: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@67901.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@67902.10]
        end
    `ifdef STOP_COND
      end
    `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:90: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@67909.10]
        end
    `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@67910.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:90: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@67916.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@67917.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:90: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@67924.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@67925.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:90: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@67933.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@67934.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:90:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67941.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@67942.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:90: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@67959.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@67960.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:90: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@67966.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@67967.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:90: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@67973.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@67974.10]
        end
    `ifdef STOP_COND
      end
    `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:90: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@67981.10]
        end
    `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@67982.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:90: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@67988.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@67989.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:90: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@67996.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@67997.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:90: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@68004.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@68005.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:90: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@68013.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@68014.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:90:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68021.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@68022.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:90: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@68042.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@68043.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:90: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@68049.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@68050.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:90: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@68056.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@68057.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:90: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@68064.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@68065.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:90: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@68072.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@68073.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:90:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68080.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@68081.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:90: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@68098.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@68099.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:90: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@68105.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@68106.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:90: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@68112.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@68113.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:90: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@68120.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@68121.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:90: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@68128.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@68129.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:90: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@68146.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@68147.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:90: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@68153.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@68154.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:90: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@68160.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@68161.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:90: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@68168.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@68169.10]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68178.10]
        end
    `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@68179.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:90: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@68196.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@68197.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:90: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@68203.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@68204.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:90: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@68210.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@68211.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:90: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@68218.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@68219.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:90: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@68226.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@68227.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:90: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@68244.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@68245.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:90: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@68251.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@68252.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:90: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@68258.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@68259.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:90: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@68266.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@68267.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:90: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@68274.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@68275.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:90: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@68292.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@68293.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:90: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@68299.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@68300.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:90: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@68306.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@68307.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:90: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@68314.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@68315.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:90:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68322.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@68323.10]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68333.8]
        end
    `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@68334.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68350.10]
        end
    `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@68351.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68358.10]
        end
    `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@68359.10]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68366.10]
        end
    `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@68367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68374.10]
        end
    `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@68375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280: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 (1'h0) begin
          $fatal; // @[Monitor.scala 280: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 (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:90: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@68392.10]
        end
    `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@68393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68399.10]
        end
    `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@68400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68407.10]
        end
    `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@68408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68415.10]
        end
    `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@68416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68423.10]
        end
    `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@68424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68431.10]
        end
    `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@68432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68440.10]
        end
    `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@68441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68450.10]
        end
    `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@68451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68457.10]
        end
    `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@68458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68465.10]
        end
    `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@68466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68473.10]
        end
    `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@68474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68481.10]
        end
    `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@68482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:90: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@68490.10]
        end
    `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@68491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:90: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@68499.10]
        end
    `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@68500.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68509.10]
        end
    `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@68510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68517.10]
        end
    `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@68518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68525.10]
        end
    `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@68526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68534.10]
        end
    `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@68535.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:90: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@68544.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@68545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68552.10]
        end
    `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@68553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:90: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@68561.10]
        end
    `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@68562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:90: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@68570.10]
        end
    `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@68571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68580.10]
        end
    `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@68581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:90: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@68588.10]
        end
    `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@68589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68596.10]
        end
    `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@68597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:90: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@68605.10]
        end
    `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@68606.10]
        end
    `ifdef STOP_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:90: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@68615.6]
        end
    `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@68616.6]
        end
    `ifdef STOP_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:90: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@68623.6]
        end
    `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@68624.6]
        end
    `ifdef STOP_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:90: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@68631.6]
        end
    `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@68632.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:90: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@68671.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@68672.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:90: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@68679.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@68680.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:90: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@68687.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@68688.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:90: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@68695.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@68696.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:90: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@68703.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@68704.8]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68753.8]
        end
    `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@68754.8]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68761.8]
        end
    `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@68762.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:90: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@68769.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@68770.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:90: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@68777.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@68778.8]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68785.8]
        end
    `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@68786.8]
        end
    `ifdef STOP_COND
      end
    `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:90: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@68793.8]
        end
    `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@68794.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:90: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@68871.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@68872.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:90: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@68894.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@68895.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:90: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@68915.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@68916.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68928.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68929.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68930.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68931.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68936.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_4;
  reg [29:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_5;
  reg  saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@68940.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68946.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68947.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68952.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68953.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68954.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@68940.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68946.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68947.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68952.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68953.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68954.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@68945.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68942.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68939.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68944.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@68959.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68960.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68961.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68962.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [29:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire [29:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69083.4]
  reg [5:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69010.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69011.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69012.4]
  reg [31:0] _RAND_2;
  wire [5:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69013.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69014.4]
  wire [1:0] _T_253; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69017.4]
  wire  _T_254; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69018.4]
  wire  _T_255; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69019.4]
  wire  _T_259; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69023.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.4]
  wire [5:0] _T_260; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.4]
  wire  _T_261; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@69025.4]
  wire  _T_262; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69026.4]
  wire  _T_264; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69028.4]
  wire  _T_265; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69029.4]
  wire [5:0] _T_267; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@69035.4]
  wire [6:0] _GEN_10; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.4]
  wire [6:0] _T_272; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.4]
  wire [6:0] _T_273; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@69041.4]
  wire [6:0] _T_274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69042.4]
  wire [6:0] _T_275; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69043.4]
  wire [6:0] _T_276; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@69044.4]
  wire [2:0] _T_277; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69045.4]
  wire [3:0] _T_278; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69046.4]
  wire  _T_279; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69047.4]
  wire [3:0] _GEN_11; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
  wire [3:0] _T_280; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
  wire [1:0] _T_281; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69049.4]
  wire [1:0] _T_282; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69050.4]
  wire  _T_283; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69051.4]
  wire [1:0] _T_284; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69052.4]
  wire  _T_285; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@69053.4]
  wire [1:0] _T_286; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69054.4]
  wire [2:0] _T_287; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69055.4]
  wire  _T_288; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69056.4]
  wire [6:0] _T_289; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69058.6]
  wire [6:0] _T_290; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69059.6]
  wire [5:0] _T_291; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69060.6]
  wire  _T_293; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69065.8]
  wire  _T_327; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69108.4]
  wire [2:0] _T_328; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69109.4]
  wire [12:0] _T_330; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69111.4]
  wire [5:0] _T_331; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69112.4]
  wire [5:0] _T_332; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69113.4]
  wire [7:0] _T_334; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69115.4]
  wire  _T_335; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69116.4]
  wire  _T_336; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69117.4]
  reg [5:0] _T_341; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69121.4]
  reg [31:0] _RAND_3;
  wire  _T_342; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69122.4]
  wire [6:0] _T_344; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69124.4]
  wire [6:0] _T_345; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69125.4]
  wire [5:0] _T_346; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69126.4]
  wire [5:0] _T_347; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69127.4]
  wire [5:0] _T_348; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69128.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69130.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69130.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69131.4]
  reg  _T_359; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69138.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69139.4]
  wire  _T_361; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69143.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@69006.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69152.4]
  wire  _T_362; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69144.4]
  wire [5:0] _T_367; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@69154.4]
  wire [5:0] _T_368; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@69155.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@69156.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69158.4]
  wire [29:0] _GEN_15; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@69159.4]
  wire [1:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69161.4]
  wire  _T_375; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69165.4]
  wire  _T_382; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@69177.4]
  wire  _T_383; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69178.4]
  wire  _T_385; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69180.4]
  wire  _T_386; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69181.4]
  TLMonitor_38 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68969.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@69083.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@69013.4]
  assign _T_250 = _T_244 == 6'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69014.4]
  assign _T_253 = 2'h1 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69017.4]
  assign _T_254 = _T_253[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69018.4]
  assign _T_255 = ~ _T_254; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69019.4]
  assign _T_259 = auto_out_d_valid == 1'h0; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69023.4]
  assign _GEN_7 = {{5'd0}, _T_255}; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.4]
  assign _T_260 = _T_249 & _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.4]
  assign _T_261 = _T_260 == 6'h0; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@69025.4]
  assign _T_262 = _T_259 | _T_261; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69026.4]
  assign _T_264 = _T_262 | reset; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69028.4]
  assign _T_265 = _T_264 == 1'h0; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69029.4]
  assign _T_267 = _T_249 | _GEN_7; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@69035.4]
  assign _GEN_10 = {{1'd0}, _T_267}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.4]
  assign _T_272 = _GEN_10 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.4]
  assign _T_273 = _T_272 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@69041.4]
  assign _T_274 = {1'h0,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69042.4]
  assign _T_275 = ~ _T_274; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69043.4]
  assign _T_276 = _T_273 & _T_275; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@69044.4]
  assign _T_277 = _T_276[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69045.4]
  assign _T_278 = _T_276[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69046.4]
  assign _T_279 = _T_277 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69047.4]
  assign _GEN_11 = {{1'd0}, _T_277}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
  assign _T_280 = _GEN_11 | _T_278; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
  assign _T_281 = _T_280[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69049.4]
  assign _T_282 = _T_280[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@69050.4]
  assign _T_283 = _T_281 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69051.4]
  assign _T_284 = _T_281 | _T_282; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69052.4]
  assign _T_285 = _T_284[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@69053.4]
  assign _T_286 = {_T_283,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69054.4]
  assign _T_287 = {_T_279,_T_286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69055.4]
  assign _T_288 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69056.4]
  assign _T_289 = _T_244 - 6'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69058.6]
  assign _T_290 = $unsigned(_T_289); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69059.6]
  assign _T_291 = _T_290[5:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@69060.6]
  assign _T_293 = auto_out_d_bits_source[6]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69065.8]
  assign _T_327 = Repeater_io_deq_bits_size > 3'h0; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69108.4]
  assign _T_328 = _T_327 ? 3'h0 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69109.4]
  assign _T_330 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69111.4]
  assign _T_331 = _T_330[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69112.4]
  assign _T_332 = ~ _T_331; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69113.4]
  assign _T_334 = 8'h1 << _T_328; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69115.4]
  assign _T_335 = _T_334[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69116.4]
  assign _T_336 = ~ _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69117.4]
  assign _T_342 = _T_341 == 6'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69122.4]
  assign _T_344 = _T_341 - 6'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69124.4]
  assign _T_345 = $unsigned(_T_344); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69125.4]
  assign _T_346 = _T_345[5:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69126.4]
  assign _T_347 = _T_342 ? _T_332 : _T_346; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69127.4]
  assign _T_348 = ~ _T_347; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69128.4]
  assign _GEN_12 = {{5'd0}, _T_336}; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69130.4]
  assign _T_350 = _T_348 | _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@69130.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69131.4]
  assign _GEN_5 = _T_342 ? _T_248 : _T_359; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69139.4]
  assign _T_361 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69143.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@69006.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69152.4]
  assign _T_362 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69144.4]
  assign _T_367 = ~ _T_332; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@69154.4]
  assign _T_368 = _T_347 | _T_367; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@69155.4]
  assign _T_369 = _T_368 | _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@69156.4]
  assign _T_371 = ~ _T_369; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69158.4]
  assign _GEN_15 = {{24'd0}, _T_371}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@69159.4]
  assign _T_373 = {Repeater_io_deq_bits_source,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69161.4]
  assign _T_375 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69165.4]
  assign _T_382 = Repeater_io_deq_bits_mask; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@69177.4]
  assign _T_383 = _T_375 | _T_382; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69178.4]
  assign _T_385 = _T_383 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69180.4]
  assign _T_386 = _T_385 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69181.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.4]
  assign auto_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign auto_out_a_bits_size = _T_328[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign auto_out_a_bits_source = {_T_373,_T_351}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.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@69008.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68971.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68972.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69005.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69085.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69086.4]
  assign Repeater_io_repeat = _T_351 != 6'h0; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69151.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69087.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69152.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@69031.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@69032.6]
        end
    `ifdef STOP_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@69172.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@69173.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@69183.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@69184.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_39( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69202.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69203.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69204.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@70300.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69221.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69226.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69228.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69229.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69230.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69232.6]
  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69259.6]
  wire [29:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69262.8]
  wire [30:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69263.8]
  wire [30:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69264.8]
  wire [30:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69265.8]
  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@69266.8]
  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69271.8]
  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.8]
  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69285.8]
  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69299.8]
  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69300.8]
  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69305.8]
  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69307.8]
  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69308.8]
  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69313.8]
  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69314.8]
  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69316.8]
  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69317.8]
  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69322.8]
  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69324.8]
  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69325.8]
  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69331.6]
  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69385.8]
  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69387.8]
  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69388.8]
  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69411.6]
  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@69414.8]
  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@69422.8]
  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69425.8]
  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.8]
  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69445.8]
  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69447.8]
  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69448.8]
  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69455.8]
  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69456.8]
  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69470.6]
  wire  _T_198; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69518.6]
  wire  _T_226; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69568.6]
  wire  _T_244; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69599.8]
  wire  _T_246; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69601.8]
  wire  _T_247; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69602.8]
  wire  _T_252; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69616.6]
  wire  _T_270; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69647.8]
  wire  _T_272; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69649.8]
  wire  _T_273; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69650.8]
  wire  _T_278; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69664.6]
  wire  _T_309; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69723.6]
  wire  _T_318; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69728.6]
  wire  _T_322; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69733.8]
  wire  _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69734.8]
  wire  _T_461; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70020.4]
  reg [5:0] _T_471; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70029.4]
  reg [31:0] _RAND_0;
  wire [6:0] _T_472; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70030.4]
  wire [6:0] _T_473; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70031.4]
  wire [5:0] _T_474; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70032.4]
  wire  _T_475; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70033.4]
  reg [2:0] _T_484; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70044.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_486; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70045.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_488; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70046.4]
  reg [31:0] _RAND_3;
  reg  _T_490; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70047.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_492; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70048.4]
  reg [31:0] _RAND_5;
  wire  _T_493; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70049.4]
  wire  _T_494; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70050.4]
  wire  _T_495; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70052.6]
  wire  _T_497; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70054.6]
  wire  _T_498; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70055.6]
  wire  _T_499; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70060.6]
  wire  _T_501; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70062.6]
  wire  _T_502; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70063.6]
  wire  _T_503; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70068.6]
  wire  _T_505; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70070.6]
  wire  _T_506; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70071.6]
  wire  _T_507; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70076.6]
  wire  _T_509; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70078.6]
  wire  _T_510; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70079.6]
  wire  _T_511; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70084.6]
  wire  _T_513; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70086.6]
  wire  _T_514; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70087.6]
  wire  _T_516; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70094.4]
  wire  _T_517; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70102.4]
  wire [12:0] _T_519; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70104.4]
  wire [5:0] _T_520; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70105.4]
  wire [5:0] _T_521; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70106.4]
  reg [5:0] _T_526; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70110.4]
  reg [31:0] _RAND_6;
  wire [6:0] _T_527; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70111.4]
  wire [6:0] _T_528; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70112.4]
  wire [5:0] _T_529; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70113.4]
  wire  _T_530; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70114.4]
  reg [2:0] _T_543; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70127.4]
  reg [31:0] _RAND_7;
  reg  _T_545; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70128.4]
  reg [31:0] _RAND_8;
  wire  _T_550; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70131.4]
  wire  _T_551; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70132.4]
  wire  _T_560; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70150.6]
  wire  _T_562; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70152.6]
  wire  _T_563; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70153.6]
  wire  _T_564; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70158.6]
  wire  _T_566; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70160.6]
  wire  _T_567; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70161.6]
  wire  _T_577; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70184.4]
  reg [1:0] _T_579; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70193.4]
  reg [31:0] _RAND_9;
  reg [5:0] _T_590; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70203.4]
  reg [31:0] _RAND_10;
  wire [6:0] _T_591; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70204.4]
  wire [6:0] _T_592; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70205.4]
  wire [5:0] _T_593; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70206.4]
  wire  _T_594; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70207.4]
  reg [5:0] _T_611; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70226.4]
  reg [31:0] _RAND_11;
  wire [6:0] _T_612; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70227.4]
  wire [6:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70228.4]
  wire [5:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70229.4]
  wire  _T_615; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70230.4]
  wire  _T_626; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70245.4]
  wire [1:0] _T_628; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70248.6]
  wire [1:0] _T_629; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70250.6]
  wire  _T_630; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70251.6]
  wire  _T_631; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70252.6]
  wire  _T_633; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70254.6]
  wire  _T_634; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70255.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@70247.4]
  wire  _T_639; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70266.4]
  wire [1:0] _T_643; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70271.6]
  wire [1:0] _T_644; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70273.6]
  wire [1:0] _T_645; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70274.6]
  wire  _T_646; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70275.6]
  wire  _T_648; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70277.6]
  wire  _T_649; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70278.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@70270.4]
  wire  _T_650; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70284.4]
  wire  _T_651; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@70285.4]
  wire  _T_652; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70286.4]
  wire  _T_653; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70287.4]
  wire  _T_655; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70289.4]
  wire  _T_656; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70290.4]
  wire [1:0] _T_657; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70295.4]
  wire [1:0] _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70296.4]
  wire [1:0] _T_659; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70297.4]
  reg [31:0] _T_661; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70299.4]
  reg [31:0] _RAND_12;
  wire  _T_662; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70302.4]
  wire  _T_663; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70303.4]
  wire  _T_664; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70304.4]
  wire  _T_665; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70305.4]
  wire  _T_666; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@70306.4]
  wire  _T_667; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@70307.4]
  wire  _T_669; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70309.4]
  wire  _T_670; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70310.4]
  wire [31:0] _T_672; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70316.4]
  wire  _T_675; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70320.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69273.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69345.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69428.10]
  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69484.10]
  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69532.10]
  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69582.10]
  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69630.10]
  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69678.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@70300.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69221.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69226.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69228.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69229.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69230.6]
  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69232.6]
  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69259.6]
  assign _T_61 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69262.8]
  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69263.8]
  assign _T_63 = $signed(_T_62) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69264.8]
  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69265.8]
  assign _T_65 = $signed(_T_64) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@69266.8]
  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69271.8]
  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.8]
  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69285.8]
  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69299.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69300.8]
  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69305.8]
  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69307.8]
  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69308.8]
  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69313.8]
  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69314.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69316.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69317.8]
  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69322.8]
  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69324.8]
  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69325.8]
  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69331.6]
  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69385.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69387.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69388.8]
  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69411.6]
  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@69414.8]
  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@69422.8]
  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69425.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.8]
  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69445.8]
  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69447.8]
  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69448.8]
  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69455.8]
  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69456.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69470.6]
  assign _T_198 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69518.6]
  assign _T_226 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69568.6]
  assign _T_244 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69599.8]
  assign _T_246 = _T_244 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69601.8]
  assign _T_247 = _T_246 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69602.8]
  assign _T_252 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69616.6]
  assign _T_270 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69647.8]
  assign _T_272 = _T_270 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69649.8]
  assign _T_273 = _T_272 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69650.8]
  assign _T_278 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69664.6]
  assign _T_309 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69723.6]
  assign _T_318 = io_in_d_bits_source | _T_309; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69728.6]
  assign _T_322 = _T_318 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69733.8]
  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69734.8]
  assign _T_461 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70020.4]
  assign _T_472 = _T_471 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70030.4]
  assign _T_473 = $unsigned(_T_472); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70031.4]
  assign _T_474 = _T_473[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70032.4]
  assign _T_475 = _T_471 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70033.4]
  assign _T_493 = _T_475 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70049.4]
  assign _T_494 = io_in_a_valid & _T_493; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70050.4]
  assign _T_495 = io_in_a_bits_opcode == _T_484; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70052.6]
  assign _T_497 = _T_495 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70054.6]
  assign _T_498 = _T_497 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70055.6]
  assign _T_499 = io_in_a_bits_param == _T_486; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70060.6]
  assign _T_501 = _T_499 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70062.6]
  assign _T_502 = _T_501 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70063.6]
  assign _T_503 = io_in_a_bits_size == _T_488; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70068.6]
  assign _T_505 = _T_503 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70070.6]
  assign _T_506 = _T_505 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70071.6]
  assign _T_507 = io_in_a_bits_source == _T_490; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70076.6]
  assign _T_509 = _T_507 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70078.6]
  assign _T_510 = _T_509 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70079.6]
  assign _T_511 = io_in_a_bits_address == _T_492; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70084.6]
  assign _T_513 = _T_511 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70086.6]
  assign _T_514 = _T_513 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70087.6]
  assign _T_516 = _T_461 & _T_475; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70094.4]
  assign _T_517 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70102.4]
  assign _T_519 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70104.4]
  assign _T_520 = _T_519[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70105.4]
  assign _T_521 = ~ _T_520; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70106.4]
  assign _T_527 = _T_526 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70111.4]
  assign _T_528 = $unsigned(_T_527); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70112.4]
  assign _T_529 = _T_528[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70113.4]
  assign _T_530 = _T_526 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70114.4]
  assign _T_550 = _T_530 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70131.4]
  assign _T_551 = io_in_d_valid & _T_550; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70132.4]
  assign _T_560 = io_in_d_bits_size == _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70150.6]
  assign _T_562 = _T_560 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70152.6]
  assign _T_563 = _T_562 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70153.6]
  assign _T_564 = io_in_d_bits_source == _T_545; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70158.6]
  assign _T_566 = _T_564 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70160.6]
  assign _T_567 = _T_566 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70161.6]
  assign _T_577 = _T_517 & _T_530; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70184.4]
  assign _T_591 = _T_590 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70204.4]
  assign _T_592 = $unsigned(_T_591); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70205.4]
  assign _T_593 = _T_592[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70206.4]
  assign _T_594 = _T_590 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70207.4]
  assign _T_612 = _T_611 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70227.4]
  assign _T_613 = $unsigned(_T_612); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70228.4]
  assign _T_614 = _T_613[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70229.4]
  assign _T_615 = _T_611 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70230.4]
  assign _T_626 = _T_461 & _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70245.4]
  assign _T_628 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70248.6]
  assign _T_629 = _T_579 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70250.6]
  assign _T_630 = _T_629[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70251.6]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70252.6]
  assign _T_633 = _T_631 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70254.6]
  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70255.6]
  assign _GEN_15 = _T_626 ? _T_628 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@70247.4]
  assign _T_639 = _T_517 & _T_615; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70266.4]
  assign _T_643 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70271.6]
  assign _T_644 = _GEN_15 | _T_579; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70273.6]
  assign _T_645 = _T_644 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70274.6]
  assign _T_646 = _T_645[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70275.6]
  assign _T_648 = _T_646 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70277.6]
  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70278.6]
  assign _GEN_16 = _T_639 ? _T_643 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@70270.4]
  assign _T_650 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70284.4]
  assign _T_651 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@70285.4]
  assign _T_652 = _T_651 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70286.4]
  assign _T_653 = _T_650 | _T_652; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70287.4]
  assign _T_655 = _T_653 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70289.4]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70290.4]
  assign _T_657 = _T_579 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70295.4]
  assign _T_658 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70296.4]
  assign _T_659 = _T_657 & _T_658; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70297.4]
  assign _T_662 = _T_579 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70302.4]
  assign _T_663 = _T_662 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70303.4]
  assign _T_664 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70304.4]
  assign _T_665 = _T_663 | _T_664; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70305.4]
  assign _T_666 = _T_661 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@70306.4]
  assign _T_667 = _T_665 | _T_666; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@70307.4]
  assign _T_669 = _T_667 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70309.4]
  assign _T_670 = _T_669 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70310.4]
  assign _T_672 = _T_661 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70316.4]
  assign _T_675 = _T_461 | _T_517; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70320.4]
  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69273.10]
  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69345.10]
  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69428.10]
  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69484.10]
  assign _GEN_71 = io_in_a_valid & _T_198; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69532.10]
  assign _GEN_79 = io_in_a_valid & _T_226; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69582.10]
  assign _GEN_89 = io_in_a_valid & _T_252; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69630.10]
  assign _GEN_99 = io_in_a_valid & _T_278; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69678.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:91: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@69217.8]
        end
    `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@69218.8]
        end
    `ifdef STOP_COND
      end
    `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@69256.8]
        end
    `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@69257.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:91: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@69273.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@69274.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:91: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@69280.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@69281.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:91: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@69287.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@69288.10]
        end
    `ifdef STOP_COND
      end
    `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:91: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@69295.10]
        end
    `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@69296.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:91: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@69302.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@69303.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:91: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@69310.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@69311.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:91: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@69319.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@69320.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:91:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69327.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@69328.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:91: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@69345.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@69346.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:91: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@69352.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@69353.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:91: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@69359.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@69360.10]
        end
    `ifdef STOP_COND
      end
    `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:91: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@69367.10]
        end
    `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@69368.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:91: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@69374.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@69375.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:91: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@69382.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@69383.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:91: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@69390.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@69391.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:91: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@69399.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@69400.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:91:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69407.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@69408.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:91: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@69428.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@69429.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:91: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@69435.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@69436.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:91: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@69442.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@69443.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:91: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@69450.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@69451.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:91: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@69458.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@69459.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:91:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69466.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@69467.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:91: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@69484.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@69485.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:91: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@69491.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@69492.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:91: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@69498.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@69499.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:91: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@69506.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@69507.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:91: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@69514.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@69515.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:91: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@69532.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@69533.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:91: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@69539.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@69540.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:91: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@69546.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@69547.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:91: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@69554.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@69555.10]
        end
    `ifdef STOP_COND
      end
    `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:91: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@69564.10]
        end
    `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@69565.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:91: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@69582.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@69583.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:91: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@69589.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@69590.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:91: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@69596.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@69597.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:91: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@69604.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@69605.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:91: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@69612.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@69613.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:91: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@69630.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@69631.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:91: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@69637.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@69638.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:91: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@69644.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@69645.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:91: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@69652.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@69653.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:91: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@69660.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@69661.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:91: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@69678.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@69679.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:91: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@69685.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@69686.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:91: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@69692.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@69693.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:91: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@69700.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@69701.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:91:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69708.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@69709.10]
        end
    `ifdef STOP_COND
      end
    `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:91: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@69719.8]
        end
    `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@69720.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69736.10]
        end
    `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@69737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69744.10]
        end
    `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@69745.10]
        end
    `ifdef STOP_COND
      end
    `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:91: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@69752.10]
        end
    `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@69753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69760.10]
        end
    `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@69761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69768.10]
        end
    `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@69769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69778.10]
        end
    `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@69779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69785.10]
        end
    `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@69786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69793.10]
        end
    `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@69794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69801.10]
        end
    `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@69802.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69809.10]
        end
    `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@69810.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69817.10]
        end
    `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@69818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69826.10]
        end
    `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@69827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69836.10]
        end
    `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@69837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69843.10]
        end
    `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@69844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69851.10]
        end
    `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@69852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69859.10]
        end
    `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@69860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69867.10]
        end
    `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@69868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:91: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@69876.10]
        end
    `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@69877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:91: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@69885.10]
        end
    `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@69886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69895.10]
        end
    `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@69896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69903.10]
        end
    `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@69904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69911.10]
        end
    `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@69912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69920.10]
        end
    `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@69921.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:91: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@69930.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@69931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69938.10]
        end
    `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@69939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:91: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@69947.10]
        end
    `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@69948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:91: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@69956.10]
        end
    `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@69957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69966.10]
        end
    `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@69967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:91: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@69974.10]
        end
    `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@69975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69982.10]
        end
    `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@69983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:91: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@69991.10]
        end
    `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@69992.10]
        end
    `ifdef STOP_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:91: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@70001.6]
        end
    `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@70002.6]
        end
    `ifdef STOP_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:91: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@70009.6]
        end
    `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@70010.6]
        end
    `ifdef STOP_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:91: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@70017.6]
        end
    `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@70018.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:91: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@70057.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@70058.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:91: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@70065.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@70066.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:91: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@70073.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@70074.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:91: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@70081.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@70082.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:91: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@70089.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@70090.8]
        end
    `ifdef STOP_COND
      end
    `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:91: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@70139.8]
        end
    `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@70140.8]
        end
    `ifdef STOP_COND
      end
    `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:91: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@70147.8]
        end
    `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@70148.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:91: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@70155.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@70156.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:91: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@70163.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@70164.8]
        end
    `ifdef STOP_COND
      end
    `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:91: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@70171.8]
        end
    `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@70172.8]
        end
    `ifdef STOP_COND
      end
    `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:91: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@70179.8]
        end
    `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@70180.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:91: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@70257.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@70258.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:91: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@70280.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@70281.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:91: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@70292.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@70293.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:91: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@70312.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@70313.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70325.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70326.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70327.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.4]
);
  reg [2:0] _T_35_opcode [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [2:0] _T_35_param [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [2:0] _T_35_size [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg  _T_35_source [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [29:0] _T_35_address [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_4;
  wire [29:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [29:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg  _T_35_mask [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_5;
  wire  _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg  _T_35_corrupt [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [31:0] _RAND_6;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire [2:0] _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.4]
  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70331.4]
  reg [31:0] _RAND_7;
  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70332.4]
  reg [31:0] _RAND_8;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70333.4]
  reg [31:0] _RAND_9;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@70334.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70335.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70336.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70337.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70338.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70341.4]
  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70356.6]
  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70362.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70365.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@70330.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@70330.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@70330.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@70330.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@70330.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@70330.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@70330.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@70334.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70335.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70336.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70337.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70338.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70341.4]
  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70356.6]
  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70362.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70365.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70372.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70370.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70381.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70380.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70379.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70378.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70377.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70376.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70374.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@70330.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@70330.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@70330.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@70330.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@70330.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@70330.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@70330.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@70389.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70390.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70391.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70440.4]
  TLMonitor_39 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.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@70440.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@70439.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70439.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70439.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70439.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70439.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70438.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70401.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70402.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70435.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70441.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70442.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70443.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70451.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70450.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70449.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70448.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70447.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70446.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70444.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70453.4]
endmodule
module TLMonitor_40( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70469.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70470.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70471.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70472.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@71598.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@70488.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70493.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70495.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70496.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70497.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70498.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70498.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70499.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70501.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70502.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70504.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70505.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70506.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70507.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70508.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70510.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70511.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70513.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70514.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70515.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70516.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70517.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70518.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70519.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70520.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70521.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70522.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70523.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70524.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70525.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70526.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70527.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70528.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70529.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70530.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70531.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70532.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70557.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70560.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70561.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70562.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70563.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70564.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70569.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70582.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70583.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70590.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70591.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70597.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70598.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70603.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70605.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70606.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70612.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70614.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70615.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70620.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70622.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70623.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70629.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70683.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70685.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70686.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@70712.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70720.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70723.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70724.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70743.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70745.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70746.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70751.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70753.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70754.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70768.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70855.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70857.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70859.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70860.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70866.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70897.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70899.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70900.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70914.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70945.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70947.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70948.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70962.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71021.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71026.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71031.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71032.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71318.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71327.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71328.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71329.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71330.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71331.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71342.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71343.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71344.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71345.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71346.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71347.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71348.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71350.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71352.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71353.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71358.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71360.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71361.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71366.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71368.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71369.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71374.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71376.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71377.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71382.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71384.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71385.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71392.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71400.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71402.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71403.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71404.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71405.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71408.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71409.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71410.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71411.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71412.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71425.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71426.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71429.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71430.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71448.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71450.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71451.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71456.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71458.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71459.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71482.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71491.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71501.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71502.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71503.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71504.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71505.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71524.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71525.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71526.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71527.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71528.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71543.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71546.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71548.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71549.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71550.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71552.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71553.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71545.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71564.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71569.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71571.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71572.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71573.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71575.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71576.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@71568.4]
  wire  _T_681; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71582.4]
  wire  _T_682; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@71583.4]
  wire  _T_683; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@71584.4]
  wire  _T_684; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71585.4]
  wire  _T_686; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71587.4]
  wire  _T_687; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71588.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71593.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71594.4]
  wire [1:0] _T_690; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71595.4]
  reg [31:0] _T_692; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71597.4]
  reg [31:0] _RAND_12;
  wire  _T_693; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71600.4]
  wire  _T_694; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71601.4]
  wire  _T_695; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71602.4]
  wire  _T_696; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71603.4]
  wire  _T_697; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@71604.4]
  wire  _T_698; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@71605.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71607.4]
  wire  _T_701; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71608.4]
  wire [31:0] _T_703; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71614.4]
  wire  _T_706; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71618.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70571.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70643.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70726.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70782.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70880.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70928.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70976.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@71598.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@70488.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70493.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70495.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70496.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70497.6]
  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70498.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70498.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70499.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70501.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70502.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70504.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70505.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70506.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70507.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70508.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70510.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70511.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70513.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70514.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70515.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70516.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70517.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70518.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70519.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70520.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70521.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70522.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70523.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70524.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70525.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70526.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70527.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70528.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70529.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70530.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70531.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70532.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70557.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70560.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70561.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70562.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70563.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70564.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70569.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70582.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70583.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70590.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70591.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70597.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70598.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70603.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70605.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70606.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70612.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70614.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70615.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70620.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70622.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70623.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70629.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70683.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70685.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70686.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@70712.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70720.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70723.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70724.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70743.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70745.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70746.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70751.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70753.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70754.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70768.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70855.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70857.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70859.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70860.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70866.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70897.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70899.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70900.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70914.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70945.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70947.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70948.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70962.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71021.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71026.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71031.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71032.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71318.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71328.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71329.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71330.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71331.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71347.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71348.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71350.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71352.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71353.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71358.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71360.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71361.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71366.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71368.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71369.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71374.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71376.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71377.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71382.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71384.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71385.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71392.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71400.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71402.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71403.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71404.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71405.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71409.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71410.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71411.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71412.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71429.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71430.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71448.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71450.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71451.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71456.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71458.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71459.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71482.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71502.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71503.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71504.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71505.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71525.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71526.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71527.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71528.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71543.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71546.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71548.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71549.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71550.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71552.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71553.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71545.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71564.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71569.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71571.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71572.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71573.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71575.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71576.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@71568.4]
  assign _T_681 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71582.4]
  assign _T_682 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@71583.4]
  assign _T_683 = _T_682 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@71584.4]
  assign _T_684 = _T_681 | _T_683; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71585.4]
  assign _T_686 = _T_684 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71587.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71588.4]
  assign _T_688 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71593.4]
  assign _T_689 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71594.4]
  assign _T_690 = _T_688 & _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71595.4]
  assign _T_693 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71600.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71601.4]
  assign _T_695 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71602.4]
  assign _T_696 = _T_694 | _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71603.4]
  assign _T_697 = _T_692 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@71604.4]
  assign _T_698 = _T_696 | _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@71605.4]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71607.4]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71608.4]
  assign _T_703 = _T_692 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71614.4]
  assign _T_706 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71618.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70571.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70643.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70726.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70782.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70880.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70928.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70976.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:92: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@70484.8]
        end
    `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@70485.8]
        end
    `ifdef STOP_COND
      end
    `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@70554.8]
        end
    `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@70555.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:92: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@70571.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@70572.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:92: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@70578.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@70579.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:92: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@70585.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@70586.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:92: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@70593.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@70594.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:92: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@70600.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@70601.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:92: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@70608.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@70609.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:92: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@70617.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@70618.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:92:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70625.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@70626.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:92: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@70643.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@70644.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:92: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@70650.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@70651.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:92: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@70657.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@70658.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:92: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@70665.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@70666.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:92: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@70672.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@70673.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:92: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@70680.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@70681.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:92: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@70688.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@70689.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:92: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@70697.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@70698.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:92:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70705.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@70706.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:92: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@70726.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@70727.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:92: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@70733.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@70734.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:92: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@70740.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@70741.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:92: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@70748.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@70749.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:92: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@70756.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@70757.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:92:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70764.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@70765.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:92: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@70782.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@70783.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:92: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@70789.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@70790.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:92: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@70796.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@70797.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:92: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@70804.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@70805.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:92: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@70812.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@70813.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:92: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@70830.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@70831.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:92: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@70837.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@70838.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:92: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@70844.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@70845.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:92: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@70852.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@70853.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:92: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@70862.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@70863.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:92: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@70880.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@70881.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:92: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@70887.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@70888.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:92: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@70894.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@70895.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:92: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@70902.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@70903.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:92: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@70910.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@70911.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:92: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@70928.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@70929.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:92: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@70935.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@70936.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:92: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@70942.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@70943.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:92: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@70950.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@70951.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:92: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@70958.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@70959.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:92: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@70976.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@70977.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:92: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@70983.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@70984.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:92: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@70990.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@70991.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:92: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@70998.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@70999.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:92:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71006.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@71007.10]
        end
    `ifdef STOP_COND
      end
    `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:92: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@71017.8]
        end
    `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@71018.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71034.10]
        end
    `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@71035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71042.10]
        end
    `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@71043.10]
        end
    `ifdef STOP_COND
      end
    `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:92: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@71050.10]
        end
    `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@71051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71058.10]
        end
    `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@71059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71066.10]
        end
    `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@71067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71076.10]
        end
    `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@71077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71083.10]
        end
    `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@71084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71091.10]
        end
    `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@71092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71099.10]
        end
    `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@71100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71107.10]
        end
    `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@71108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71115.10]
        end
    `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@71116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71124.10]
        end
    `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@71125.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71134.10]
        end
    `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@71135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71141.10]
        end
    `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@71142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71149.10]
        end
    `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@71150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71157.10]
        end
    `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@71158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71165.10]
        end
    `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@71166.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:92: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@71174.10]
        end
    `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@71175.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:92: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@71183.10]
        end
    `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@71184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71193.10]
        end
    `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@71194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71201.10]
        end
    `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@71202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71209.10]
        end
    `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@71210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71218.10]
        end
    `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@71219.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:92: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@71228.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@71229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71236.10]
        end
    `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@71237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:92: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@71245.10]
        end
    `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@71246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:92: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@71254.10]
        end
    `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@71255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71264.10]
        end
    `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@71265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:92: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@71272.10]
        end
    `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@71273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71280.10]
        end
    `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@71281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:92: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@71289.10]
        end
    `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@71290.10]
        end
    `ifdef STOP_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:92: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@71299.6]
        end
    `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@71300.6]
        end
    `ifdef STOP_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:92: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@71307.6]
        end
    `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@71308.6]
        end
    `ifdef STOP_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:92: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@71315.6]
        end
    `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@71316.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:92: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@71355.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@71356.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:92: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@71363.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@71364.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:92: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@71371.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@71372.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:92: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@71379.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@71380.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:92: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@71387.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@71388.8]
        end
    `ifdef STOP_COND
      end
    `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:92: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@71437.8]
        end
    `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@71438.8]
        end
    `ifdef STOP_COND
      end
    `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:92: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@71445.8]
        end
    `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@71446.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:92: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@71453.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@71454.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:92: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@71461.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@71462.8]
        end
    `ifdef STOP_COND
      end
    `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:92: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@71469.8]
        end
    `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@71470.8]
        end
    `ifdef STOP_COND
      end
    `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:92: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@71477.8]
        end
    `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@71478.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:92: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@71555.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@71556.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:92: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@71578.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@71579.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:92: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@71590.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@71591.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:92: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@71610.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@71611.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71623.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71624.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71625.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71626.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71631.4]
  reg [31:0] _RAND_0;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71635.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71647.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71635.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71647.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@71637.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@71634.4]
  assign io_deq_bits_opcode = full ? 3'h0 : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.4]
  assign io_deq_bits_param = full ? 3'h0 : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.4]
  assign io_deq_bits_size = full ? 3'h0 : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.4]
  assign io_deq_bits_source = full ? 1'h0 : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.4]
  assign io_deq_bits_address = full ? 30'h0 : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.4]
  assign io_deq_bits_mask = full ? 4'h0 : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.4]
  assign io_deq_bits_corrupt = full ? 1'h0 : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71639.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@71654.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71655.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71656.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71657.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.4]
  wire  Repeater_clock; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_reset; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_enq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_enq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_enq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [29:0] Repeater_io_enq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_deq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_deq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_deq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [29:0] Repeater_io_deq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  reg [1:0] _T_260; // @[WidthWidget.scala 89:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71727.4]
  reg [31:0] _RAND_0;
  wire  _T_245_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71713.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.4]
  wire  _T_265; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71732.4]
  wire [29:0] _T_245_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71713.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.4]
  wire [1:0] _T_268; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@71741.4]
  wire [1:0] _T_269; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71742.4]
  wire [3:0] _T_245_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71713.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.4]
  wire  _T_270; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71745.4]
  wire  _T_271; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71746.4]
  wire  _T_272; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71747.4]
  wire  _T_273; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71748.4]
  wire  _GEN_3; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@71755.4]
  wire  _GEN_4; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@71755.4]
  wire [8:0] _T_288; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71760.4]
  wire [1:0] _T_289; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71761.4]
  wire [1:0] _T_290; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71762.4]
  reg [1:0] _T_293; // @[WidthWidget.scala 31:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71764.4]
  reg [31:0] _RAND_1;
  wire  _T_295; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71766.4]
  wire [1:0] _T_299; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71770.4]
  wire  _T_300; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@71771.4]
  wire  _T_301; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@71772.4]
  wire [1:0] _T_302; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71773.4]
  wire [1:0] _T_303; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71774.4]
  wire  _T_304; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@71775.4]
  wire  _T_305; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@71776.4]
  wire [1:0] _T_306; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71777.4]
  wire [1:0] _T_307; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71778.4]
  wire  _T_308; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@71779.4]
  wire  _T_309; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@71780.4]
  reg  _T_315; // @[WidthWidget.scala 36:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71785.4]
  reg [31:0] _RAND_2;
  wire  _T_320; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71798.4]
  wire  _T_321; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71799.4]
  wire  _T_317; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71787.4]
  wire [1:0] _T_319; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71790.6]
  reg [7:0] _T_325_0; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71804.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_325_1; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71804.4]
  reg [31:0] _RAND_4;
  reg [7:0] _T_325_2; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71804.4]
  reg [31:0] _RAND_5;
  wire [7:0] _T_331; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71805.4]
  wire [7:0] _T_332; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71806.4]
  wire [7:0] _T_333; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71807.4]
  wire  _T_337; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71811.4]
  wire [15:0] _T_338; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71817.4]
  wire [15:0] _T_339; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71818.4]
  TLMonitor_40 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.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@71707.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@71713.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.4]
  assign _T_265 = auto_out_a_ready & _T_245_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71732.4]
  assign _T_245_bits_address = Repeater_io_deq_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71713.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.4]
  assign _T_268 = _T_245_bits_address[1:0]; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@71741.4]
  assign _T_269 = _T_268 | _T_260; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71742.4]
  assign _T_245_bits_mask = Repeater_io_deq_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71713.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.4]
  assign _T_270 = _T_245_bits_mask[0]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71745.4]
  assign _T_271 = _T_245_bits_mask[1]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71746.4]
  assign _T_272 = _T_245_bits_mask[2]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71747.4]
  assign _T_273 = _T_245_bits_mask[3]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@71748.4]
  assign _GEN_3 = 2'h1 == _T_269 ? _T_271 : _T_270; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@71755.4]
  assign _GEN_4 = 2'h2 == _T_269 ? _T_272 : _GEN_3; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@71755.4]
  assign _T_288 = 9'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71760.4]
  assign _T_289 = _T_288[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71761.4]
  assign _T_290 = ~ _T_289; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71762.4]
  assign _T_295 = _T_293 == _T_290; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71766.4]
  assign _T_299 = _T_293 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71770.4]
  assign _T_300 = _T_299 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@71771.4]
  assign _T_301 = _T_300 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@71772.4]
  assign _T_302 = _T_293 ^ 2'h1; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71773.4]
  assign _T_303 = _T_302 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71774.4]
  assign _T_304 = _T_303 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@71775.4]
  assign _T_305 = _T_304 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@71776.4]
  assign _T_306 = _T_293 ^ 2'h2; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71777.4]
  assign _T_307 = _T_306 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71778.4]
  assign _T_308 = _T_307 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@71779.4]
  assign _T_309 = _T_308 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@71780.4]
  assign _T_320 = _T_295 == 1'h0; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71798.4]
  assign _T_321 = auto_in_d_ready | _T_320; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71799.4]
  assign _T_317 = _T_321 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71787.4]
  assign _T_319 = _T_293 + 2'h1; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71790.6]
  assign _T_331 = _T_301 ? auto_out_d_bits_data : _T_325_0; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71805.4]
  assign _T_332 = _T_305 ? auto_out_d_bits_data : _T_325_1; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71806.4]
  assign _T_333 = _T_309 ? auto_out_d_bits_data : _T_325_2; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71807.4]
  assign _T_337 = _T_317 & _T_320; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71811.4]
  assign _T_338 = {_T_332,_T_331}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71817.4]
  assign _T_339 = {auto_out_d_bits_data,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71818.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71704.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_295; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71704.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71704.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71704.4]
  assign auto_in_d_bits_data = {_T_339,_T_338}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71704.4]
  assign auto_in_d_bits_corrupt = _T_315; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71704.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_size = Repeater_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_source = Repeater_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_mask = 2'h3 == _T_269 ? _T_273 : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_320; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71703.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71666.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71667.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_295; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71700.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71709.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71710.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@71715.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@71829.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71830.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71831.4]
  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [2:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [29:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output [2:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output [2:0]  auto_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output [2:0]  auto_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output [7:0]  auto_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output [29:0] auto_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  output        auto_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input         auto_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [7:0]  auto_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
  input  [7:0]  auto_mem_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71832.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [29:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [7:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [7:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [29:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [7:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire [7:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [7:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire [7:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71843.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  wire [7:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71849.4]
  TLFragmenter_11 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71837.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@71843.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@71849.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@71864.4]
  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign auto_mem_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign auto_mem_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71863.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71841.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71842.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign fragmenter_auto_out_a_ready = auto_mem_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71860.4]
  assign fragmenter_auto_out_d_valid = auto_mem_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71860.4]
  assign fragmenter_auto_out_d_bits_size = auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71860.4]
  assign fragmenter_auto_out_d_bits_source = auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71860.4]
  assign fragmenter_auto_out_d_bits_data = auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71860.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71847.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71848.4]
  assign buffer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71861.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71853.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71854.4]
  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71864.4]
  assign widget_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign widget_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign widget_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign widget_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
  assign widget_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71862.4]
endmodule
module TLMonitor_41( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71873.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71874.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71875.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@71876.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@72997.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71892.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71897.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71899.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71900.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71901.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@71902.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@71902.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71903.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71905.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71906.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71908.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71909.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71910.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71911.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71912.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71914.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71915.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71917.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71918.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71919.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71920.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71921.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71922.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71923.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71924.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71925.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71926.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71927.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71928.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71929.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71930.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71931.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71932.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71933.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71934.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71935.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71936.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71961.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71964.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71965.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@71966.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@71967.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71968.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71973.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71986.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71987.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71994.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71995.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72001.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72002.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72007.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72009.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72015.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72016.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72018.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72019.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72024.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72026.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72027.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72033.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72087.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72113.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@72116.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@72124.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72127.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72128.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72147.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72149.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72150.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72155.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72157.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72158.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72172.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72223.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72269.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72270.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72276.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72307.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72309.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72310.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72324.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72355.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72357.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72358.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72372.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72422.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72424.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72425.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72431.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72436.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72438.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72441.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72442.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72447.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72449.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72480.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72538.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72597.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72632.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72668.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72728.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@72733.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72734.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72735.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72737.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72738.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72739.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72740.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72752.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72753.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72754.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72755.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72756.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72757.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72758.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72760.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72762.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72763.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72768.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72770.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72771.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72776.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72778.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72779.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72784.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72786.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72787.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72792.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72794.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72795.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72802.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72810.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72812.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72813.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72814.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@72815.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72816.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72818.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72819.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72820.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72821.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72822.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72833.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72835.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72836.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72839.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72840.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72842.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72844.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72845.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72858.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72860.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72861.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72866.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72868.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72869.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72892.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72901.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72911.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72912.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72913.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72914.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72915.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72934.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72935.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72936.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72937.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72938.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72953.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72956.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72958.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72959.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72960.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72962.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72963.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@72955.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72974.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@72976.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@72977.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72979.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72981.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72982.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72983.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72985.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72986.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@72978.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72992.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72993.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72994.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72996.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72999.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73000.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73001.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73002.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@73003.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@73004.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73007.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73013.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73017.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71975.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72047.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72130.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72189.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72240.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72290.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72338.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72386.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72444.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72486.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72544.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72603.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72638.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72674.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@72997.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71892.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71897.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71899.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71900.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71901.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@71902.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@71902.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71903.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71905.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71906.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@71908.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71909.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71910.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71911.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71912.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71914.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71915.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71917.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71918.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71919.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71920.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71921.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71922.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71923.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71924.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71925.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71926.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71927.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71928.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71929.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71930.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71931.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71932.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71933.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71934.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71935.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@71936.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71961.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@71964.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@71965.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@71966.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@71967.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@71968.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71973.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71986.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71987.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71994.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71995.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72001.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72002.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72007.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72009.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72015.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72016.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72018.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72019.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72024.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72026.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72027.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72033.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72087.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72113.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@72116.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@72124.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72127.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72128.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72147.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72149.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72150.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72155.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72157.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72158.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72172.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72223.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72269.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72270.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72276.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72307.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72309.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72310.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72324.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72355.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72357.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72358.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72372.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72422.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72424.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72425.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72431.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72436.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72438.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72441.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72442.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72447.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72449.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72480.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72538.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72597.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72632.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72668.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72728.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@72733.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72734.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72735.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72738.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72739.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72740.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72757.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72758.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72760.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72762.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72763.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72768.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72770.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72771.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72776.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72778.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72779.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72784.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72786.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72787.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72792.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72794.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72795.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72802.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72810.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72812.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72813.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72814.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@72815.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72816.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72819.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72820.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72821.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72822.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72839.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72840.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72842.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72844.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72845.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72858.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72860.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72861.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72866.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72868.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72869.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72892.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72912.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72913.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72914.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72915.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72935.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72936.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72937.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72938.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72953.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72956.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72958.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72959.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72960.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72962.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72963.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@72955.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72974.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@72976.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@72977.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72979.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72981.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72982.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72983.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72985.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72986.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@72978.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72992.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72993.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72994.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72999.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73000.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73001.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73002.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@73003.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@73004.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73007.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73013.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73017.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71975.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72047.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72130.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72189.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72240.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72290.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72338.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72386.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72444.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72486.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72544.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72603.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72638.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72674.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:119:98)\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@71888.8]
        end
    `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@71889.8]
        end
    `ifdef STOP_COND
      end
    `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@71958.8]
        end
    `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@71959.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:119:98)\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@71975.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@71976.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:119:98)\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@71982.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@71983.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:119:98)\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@71989.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@71990.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:119:98)\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@71997.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@71998.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:119:98)\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@72004.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@72005.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:119:98)\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@72012.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@72013.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:119:98)\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@72021.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@72022.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:119:98)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72029.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@72030.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:119:98)\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@72047.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@72048.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:119:98)\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@72054.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@72055.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:119:98)\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@72061.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@72062.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:119:98)\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@72069.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@72070.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:119:98)\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@72076.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@72077.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:119:98)\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@72084.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@72085.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:119:98)\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@72092.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@72093.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:119:98)\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@72101.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@72102.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:119:98)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.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@72110.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:119:98)\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@72130.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@72131.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:119:98)\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@72137.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@72138.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:119:98)\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@72144.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@72145.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:119:98)\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@72152.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@72153.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:119:98)\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@72160.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@72161.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:119:98)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72168.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@72169.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:119:98)\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@72189.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@72190.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:119:98)\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@72196.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@72197.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:119:98)\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@72203.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@72204.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:119:98)\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@72211.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@72212.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:119:98)\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@72219.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@72220.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:119:98)\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@72240.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@72241.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:119:98)\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@72247.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@72248.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:119:98)\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@72254.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@72255.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:119:98)\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@72262.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@72263.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:119:98)\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@72272.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@72273.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:119:98)\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@72290.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@72291.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:119:98)\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@72297.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@72298.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:119:98)\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@72304.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@72305.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:119:98)\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@72312.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@72313.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:119:98)\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@72320.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@72321.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:119:98)\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@72338.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@72339.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:119:98)\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@72345.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@72346.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:119:98)\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@72352.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@72353.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:119:98)\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@72360.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@72361.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:119:98)\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@72368.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@72369.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:119:98)\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@72386.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@72387.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:119:98)\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@72393.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@72394.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:119:98)\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@72400.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@72401.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:119:98)\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@72408.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@72409.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:119:98)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72416.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@72417.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:119:98)\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@72427.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@72428.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:119:98)\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@72444.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@72445.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:119:98)\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@72452.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@72453.10]
        end
    `ifdef STOP_COND
      end
    `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:119:98)\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@72460.10]
        end
    `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@72461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:119:98)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72468.10]
        end
    `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@72469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:119:98)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72476.10]
        end
    `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@72477.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:119:98)\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@72486.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@72487.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:119:98)\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@72493.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@72494.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:119:98)\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@72501.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@72502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72509.10]
        end
    `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@72510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72517.10]
        end
    `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@72518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72525.10]
        end
    `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@72526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72534.10]
        end
    `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@72535.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:119:98)\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@72544.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@72545.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:119:98)\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@72551.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@72552.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:119:98)\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@72559.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@72560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72567.10]
        end
    `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@72568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72575.10]
        end
    `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@72576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:119:98)\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@72584.10]
        end
    `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@72585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:119:98)\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@72593.10]
        end
    `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@72594.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:119:98)\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@72603.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@72604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:119:98)\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@72611.10]
        end
    `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@72612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72619.10]
        end
    `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@72620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72628.10]
        end
    `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@72629.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:119:98)\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@72638.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@72639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:119:98)\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@72646.10]
        end
    `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@72647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:119:98)\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@72655.10]
        end
    `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@72656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:119:98)\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@72664.10]
        end
    `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@72665.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:119:98)\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@72674.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@72675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:119:98)\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@72682.10]
        end
    `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@72683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72690.10]
        end
    `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@72691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:119:98)\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@72699.10]
        end
    `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@72700.10]
        end
    `ifdef STOP_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:119:98)\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@72709.6]
        end
    `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@72710.6]
        end
    `ifdef STOP_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:119:98)\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@72717.6]
        end
    `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@72718.6]
        end
    `ifdef STOP_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:119:98)\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@72725.6]
        end
    `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@72726.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:119:98)\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@72765.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@72766.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:119:98)\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@72773.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@72774.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:119:98)\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@72781.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@72782.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:119:98)\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@72789.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@72790.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:119:98)\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@72797.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@72798.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:119:98)\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@72847.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@72848.8]
        end
    `ifdef STOP_COND
      end
    `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:119:98)\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@72855.8]
        end
    `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@72856.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:119:98)\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@72863.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@72864.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:119:98)\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@72871.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@72872.8]
        end
    `ifdef STOP_COND
      end
    `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:119:98)\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@72879.8]
        end
    `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@72880.8]
        end
    `ifdef STOP_COND
      end
    `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:119:98)\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@72887.8]
        end
    `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@72888.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:119:98)\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@72965.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@72966.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:119:98)\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@72988.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@72989.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:119:98)\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@73009.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@73010.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73053.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73054.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73055.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73056.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73180.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73104.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73105.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73106.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73107.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73108.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73109.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73111.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73112.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73114.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73115.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73116.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73117.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73133.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73134.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73135.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73135.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@73138.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73139.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73140.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73141.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73142.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73143.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73144.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73145.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73145.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73146.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73147.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73148.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73149.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@73150.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73151.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73152.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73166.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73168.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73169.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73170.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73153.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73155.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73155.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73156.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73157.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73162.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73172.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73205.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73206.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73208.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73209.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73210.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73212.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73213.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73214.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73215.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73216.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73218.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73219.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73220.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73221.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73222.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73223.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73224.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73225.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73228.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73235.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73236.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73240.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@73100.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73249.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73241.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73245.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73246.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73250.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73250.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@73251.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@73252.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73253.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73253.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@73254.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73255.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@73256.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73258.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73262.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73264.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73266.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73267.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73274.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73275.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73277.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73278.4]
  TLMonitor_41 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73063.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@73180.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@73107.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73108.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73109.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73111.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73112.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73114.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73115.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73116.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73117.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73133.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73134.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73135.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73135.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@73138.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73139.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73140.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73141.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73142.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73143.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73144.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73145.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73145.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73146.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73147.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73148.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73149.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@73150.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73151.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73152.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73166.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73168.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73169.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73170.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73153.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73155.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73155.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73156.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73157.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73162.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73172.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73205.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73206.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73208.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73209.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73210.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73212.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73213.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73214.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73215.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73216.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73219.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73220.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73221.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73222.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73223.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73224.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73225.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73228.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73236.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73240.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@73100.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73249.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73241.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73245.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73246.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73250.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73250.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@73251.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@73252.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73253.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73253.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@73254.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73255.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@73256.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73258.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73262.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73264.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73266.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73267.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73274.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73275.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73277.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73278.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.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@73102.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73065.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73066.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73099.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73182.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73183.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73248.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73249.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@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; // @[Fragmenter.scala 180: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_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@73269.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@73270.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@73280.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@73281.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73292.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73293.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73294.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.4]
  TLFragmenter_12 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73300.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@73313.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73312.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73304.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73305.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73313.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73311.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73311.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73311.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73311.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73311.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73311.4]
endmodule
module TLMonitor_42( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73322.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73323.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73324.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73325.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74412.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73341.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73346.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73348.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73349.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73350.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73351.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73351.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73352.6]
  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73379.6]
  wire [30:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73382.8]
  wire [31:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73383.8]
  wire [31:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73384.8]
  wire [31:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73385.8]
  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73386.8]
  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73391.8]
  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73404.8]
  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73405.8]
  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73419.8]
  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73420.8]
  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73425.8]
  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73427.8]
  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73428.8]
  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73433.8]
  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73434.8]
  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73436.8]
  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73437.8]
  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73442.8]
  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73444.8]
  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73445.8]
  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73451.6]
  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.8]
  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73507.8]
  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73508.8]
  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73531.6]
  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@73534.8]
  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@73542.8]
  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73545.8]
  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73546.8]
  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73565.8]
  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73567.8]
  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73568.8]
  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73575.8]
  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73576.8]
  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73590.6]
  wire  _T_201; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73641.6]
  wire  _T_229; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73691.6]
  wire  _T_247; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73722.8]
  wire  _T_249; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73724.8]
  wire  _T_250; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73725.8]
  wire  _T_255; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73739.6]
  wire  _T_273; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73770.8]
  wire  _T_275; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73772.8]
  wire  _T_276; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73773.8]
  wire  _T_281; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73787.6]
  wire  _T_307; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73837.6]
  wire  _T_309; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73839.6]
  wire  _T_310; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73840.6]
  wire  _T_312; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73846.6]
  wire  _T_321; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73851.6]
  wire  _T_323; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73853.6]
  wire  _T_325; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73856.8]
  wire  _T_326; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73857.8]
  wire  _T_343; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73895.6]
  wire  _T_371; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73953.6]
  wire  _T_400; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74012.6]
  wire  _T_417; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74047.6]
  wire  _T_435; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74083.6]
  wire  _T_464; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74143.4]
  wire  _T_470; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74149.4]
  wire  _T_471; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74150.4]
  reg [5:0] _T_474; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74152.4]
  reg [31:0] _RAND_0;
  wire [6:0] _T_475; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74153.4]
  wire [6:0] _T_476; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74154.4]
  wire [5:0] _T_477; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74155.4]
  wire  _T_478; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74156.4]
  reg [2:0] _T_487; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74167.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_489; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74168.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_491; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74169.4]
  reg [31:0] _RAND_3;
  reg  _T_493; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74170.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_495; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74171.4]
  reg [31:0] _RAND_5;
  wire  _T_496; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74172.4]
  wire  _T_497; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74173.4]
  wire  _T_498; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74175.6]
  wire  _T_500; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74177.6]
  wire  _T_501; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74178.6]
  wire  _T_502; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74183.6]
  wire  _T_504; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74185.6]
  wire  _T_505; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74186.6]
  wire  _T_506; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74191.6]
  wire  _T_508; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74193.6]
  wire  _T_509; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74194.6]
  wire  _T_510; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74199.6]
  wire  _T_512; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74201.6]
  wire  _T_513; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74202.6]
  wire  _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74207.6]
  wire  _T_516; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74209.6]
  wire  _T_517; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74210.6]
  wire  _T_519; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74217.4]
  wire  _T_520; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74225.4]
  wire [12:0] _T_522; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74227.4]
  wire [5:0] _T_523; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74228.4]
  wire [5:0] _T_524; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74229.4]
  wire  _T_526; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74231.4]
  reg [5:0] _T_529; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74233.4]
  reg [31:0] _RAND_6;
  wire [6:0] _T_530; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74234.4]
  wire [6:0] _T_531; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74235.4]
  wire [5:0] _T_532; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74236.4]
  wire  _T_533; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74237.4]
  reg [2:0] _T_542; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74248.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_546; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74250.4]
  reg [31:0] _RAND_8;
  reg  _T_548; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74251.4]
  reg [31:0] _RAND_9;
  wire  _T_553; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74254.4]
  wire  _T_554; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74255.4]
  wire  _T_555; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74257.6]
  wire  _T_557; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74259.6]
  wire  _T_558; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74260.6]
  wire  _T_563; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74273.6]
  wire  _T_565; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74275.6]
  wire  _T_566; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74276.6]
  wire  _T_567; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74281.6]
  wire  _T_569; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74283.6]
  wire  _T_570; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74284.6]
  wire  _T_580; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74307.4]
  reg [1:0] _T_582; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74316.4]
  reg [31:0] _RAND_10;
  reg [5:0] _T_593; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74326.4]
  reg [31:0] _RAND_11;
  wire [6:0] _T_594; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74327.4]
  wire [6:0] _T_595; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74328.4]
  wire [5:0] _T_596; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74329.4]
  wire  _T_597; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74330.4]
  reg [5:0] _T_614; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74349.4]
  reg [31:0] _RAND_12;
  wire [6:0] _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74350.4]
  wire [6:0] _T_616; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74351.4]
  wire [5:0] _T_617; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74352.4]
  wire  _T_618; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74353.4]
  wire  _T_629; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74368.4]
  wire [1:0] _T_631; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74371.6]
  wire [1:0] _T_632; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74373.6]
  wire  _T_633; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74374.6]
  wire  _T_634; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74375.6]
  wire  _T_636; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74377.6]
  wire  _T_637; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74378.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74370.4]
  wire  _T_642; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74389.4]
  wire  _T_644; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@74391.4]
  wire  _T_645; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74392.4]
  wire [1:0] _T_646; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74394.6]
  wire [1:0] _T_647; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.6]
  wire [1:0] _T_648; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74397.6]
  wire  _T_649; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74398.6]
  wire  _T_651; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74400.6]
  wire  _T_652; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74401.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@74393.4]
  wire [1:0] _T_653; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74407.4]
  wire [1:0] _T_654; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@74408.4]
  wire [1:0] _T_655; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74409.4]
  reg [31:0] _T_657; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74411.4]
  reg [31:0] _RAND_13;
  wire  _T_658; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74414.4]
  wire  _T_659; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74415.4]
  wire  _T_660; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74416.4]
  wire  _T_661; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74417.4]
  wire  _T_662; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@74418.4]
  wire  _T_663; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74419.4]
  wire  _T_665; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74421.4]
  wire  _T_666; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74422.4]
  wire [31:0] _T_668; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74428.4]
  wire  _T_671; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74432.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73393.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73465.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.10]
  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73607.10]
  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73655.10]
  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73705.10]
  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73753.10]
  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73801.10]
  wire  _GEN_109; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73859.10]
  wire  _GEN_111; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73901.10]
  wire  _GEN_115; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73959.10]
  wire  _GEN_119; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74018.10]
  wire  _GEN_121; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74053.10]
  wire  _GEN_123; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74089.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74412.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73341.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73346.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73348.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73349.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73350.6]
  assign _GEN_18 = {{25'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73351.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73351.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73352.6]
  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73379.6]
  assign _T_61 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73382.8]
  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73383.8]
  assign _T_63 = $signed(_T_62) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73384.8]
  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73385.8]
  assign _T_65 = $signed(_T_64) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73386.8]
  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73391.8]
  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73404.8]
  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73405.8]
  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73419.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73420.8]
  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73425.8]
  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73427.8]
  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73428.8]
  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73433.8]
  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73434.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73436.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73437.8]
  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73442.8]
  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73444.8]
  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73445.8]
  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73451.6]
  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73507.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73508.8]
  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73531.6]
  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@73534.8]
  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@73542.8]
  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73545.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73546.8]
  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73565.8]
  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73567.8]
  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73568.8]
  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73575.8]
  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73576.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73590.6]
  assign _T_201 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73641.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73691.6]
  assign _T_247 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73722.8]
  assign _T_249 = _T_247 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73724.8]
  assign _T_250 = _T_249 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73725.8]
  assign _T_255 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73739.6]
  assign _T_273 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73770.8]
  assign _T_275 = _T_273 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73772.8]
  assign _T_276 = _T_275 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73773.8]
  assign _T_281 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73787.6]
  assign _T_307 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73837.6]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73839.6]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73840.6]
  assign _T_312 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73846.6]
  assign _T_321 = io_in_d_bits_source | _T_312; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73851.6]
  assign _T_323 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73853.6]
  assign _T_325 = _T_321 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73856.8]
  assign _T_326 = _T_325 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73857.8]
  assign _T_343 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73895.6]
  assign _T_371 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73953.6]
  assign _T_400 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74012.6]
  assign _T_417 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74047.6]
  assign _T_435 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74083.6]
  assign _T_464 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74143.4]
  assign _T_470 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74149.4]
  assign _T_471 = _T_470 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74150.4]
  assign _T_475 = _T_474 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74153.4]
  assign _T_476 = $unsigned(_T_475); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74154.4]
  assign _T_477 = _T_476[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74155.4]
  assign _T_478 = _T_474 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74156.4]
  assign _T_496 = _T_478 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74172.4]
  assign _T_497 = io_in_a_valid & _T_496; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74173.4]
  assign _T_498 = io_in_a_bits_opcode == _T_487; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74175.6]
  assign _T_500 = _T_498 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74177.6]
  assign _T_501 = _T_500 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74178.6]
  assign _T_502 = io_in_a_bits_param == _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74183.6]
  assign _T_504 = _T_502 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74185.6]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74186.6]
  assign _T_506 = io_in_a_bits_size == _T_491; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74191.6]
  assign _T_508 = _T_506 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74193.6]
  assign _T_509 = _T_508 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74194.6]
  assign _T_510 = io_in_a_bits_source == _T_493; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74199.6]
  assign _T_512 = _T_510 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74201.6]
  assign _T_513 = _T_512 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74202.6]
  assign _T_514 = io_in_a_bits_address == _T_495; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74207.6]
  assign _T_516 = _T_514 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74209.6]
  assign _T_517 = _T_516 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74210.6]
  assign _T_519 = _T_464 & _T_478; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74217.4]
  assign _T_520 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74225.4]
  assign _T_522 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74227.4]
  assign _T_523 = _T_522[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74228.4]
  assign _T_524 = ~ _T_523; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74229.4]
  assign _T_526 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74231.4]
  assign _T_530 = _T_529 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74234.4]
  assign _T_531 = $unsigned(_T_530); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74235.4]
  assign _T_532 = _T_531[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74236.4]
  assign _T_533 = _T_529 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74237.4]
  assign _T_553 = _T_533 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74254.4]
  assign _T_554 = io_in_d_valid & _T_553; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74255.4]
  assign _T_555 = io_in_d_bits_opcode == _T_542; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74257.6]
  assign _T_557 = _T_555 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74259.6]
  assign _T_558 = _T_557 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74260.6]
  assign _T_563 = io_in_d_bits_size == _T_546; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74273.6]
  assign _T_565 = _T_563 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74275.6]
  assign _T_566 = _T_565 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74276.6]
  assign _T_567 = io_in_d_bits_source == _T_548; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74281.6]
  assign _T_569 = _T_567 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74283.6]
  assign _T_570 = _T_569 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74284.6]
  assign _T_580 = _T_520 & _T_533; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74307.4]
  assign _T_594 = _T_593 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74327.4]
  assign _T_595 = $unsigned(_T_594); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74328.4]
  assign _T_596 = _T_595[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74329.4]
  assign _T_597 = _T_593 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74330.4]
  assign _T_615 = _T_614 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74350.4]
  assign _T_616 = $unsigned(_T_615); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74351.4]
  assign _T_617 = _T_616[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74352.4]
  assign _T_618 = _T_614 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74353.4]
  assign _T_629 = _T_464 & _T_597; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74368.4]
  assign _T_631 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74371.6]
  assign _T_632 = _T_582 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74373.6]
  assign _T_633 = _T_632[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74374.6]
  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74375.6]
  assign _T_636 = _T_634 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74377.6]
  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74378.6]
  assign _GEN_15 = _T_629 ? _T_631 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74370.4]
  assign _T_642 = _T_520 & _T_618; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74389.4]
  assign _T_644 = _T_323 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@74391.4]
  assign _T_645 = _T_642 & _T_644; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74392.4]
  assign _T_646 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74394.6]
  assign _T_647 = _GEN_15 | _T_582; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.6]
  assign _T_648 = _T_647 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74397.6]
  assign _T_649 = _T_648[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74398.6]
  assign _T_651 = _T_649 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74400.6]
  assign _T_652 = _T_651 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74401.6]
  assign _GEN_16 = _T_645 ? _T_646 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@74393.4]
  assign _T_653 = _T_582 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74407.4]
  assign _T_654 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@74408.4]
  assign _T_655 = _T_653 & _T_654; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74409.4]
  assign _T_658 = _T_582 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74414.4]
  assign _T_659 = _T_658 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74415.4]
  assign _T_660 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74416.4]
  assign _T_661 = _T_659 | _T_660; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74417.4]
  assign _T_662 = _T_657 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@74418.4]
  assign _T_663 = _T_661 | _T_662; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74419.4]
  assign _T_665 = _T_663 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74421.4]
  assign _T_666 = _T_665 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74422.4]
  assign _T_668 = _T_657 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74428.4]
  assign _T_671 = _T_464 | _T_520; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74432.4]
  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73393.10]
  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73465.10]
  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.10]
  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73607.10]
  assign _GEN_71 = io_in_a_valid & _T_201; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73655.10]
  assign _GEN_79 = io_in_a_valid & _T_229; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73705.10]
  assign _GEN_89 = io_in_a_valid & _T_255; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73753.10]
  assign _GEN_99 = io_in_a_valid & _T_281; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73801.10]
  assign _GEN_109 = io_in_d_valid & _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73859.10]
  assign _GEN_111 = io_in_d_valid & _T_343; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73901.10]
  assign _GEN_115 = io_in_d_valid & _T_371; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73959.10]
  assign _GEN_119 = io_in_d_valid & _T_400; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74018.10]
  assign _GEN_121 = io_in_d_valid & _T_417; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74053.10]
  assign _GEN_123 = io_in_d_valid & _T_435; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74089.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_474 = _RAND_0[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_487 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_489 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_491 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_493 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_495 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_529 = _RAND_6[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_542 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_546 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_548 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_582 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_593 = _RAND_11[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_614 = _RAND_12[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_657 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_474 <= 6'h0;
    end else begin
      if (_T_464) begin
        if (_T_478) begin
          if (_T_471) begin
            _T_474 <= _T_34;
          end else begin
            _T_474 <= 6'h0;
          end
        end else begin
          _T_474 <= _T_477;
        end
      end
    end
    if (_T_519) begin
      _T_487 <= io_in_a_bits_opcode;
    end
    if (_T_519) begin
      _T_489 <= io_in_a_bits_param;
    end
    if (_T_519) begin
      _T_491 <= io_in_a_bits_size;
    end
    if (_T_519) begin
      _T_493 <= io_in_a_bits_source;
    end
    if (_T_519) begin
      _T_495 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_529 <= 6'h0;
    end else begin
      if (_T_520) begin
        if (_T_533) begin
          if (_T_526) begin
            _T_529 <= _T_524;
          end else begin
            _T_529 <= 6'h0;
          end
        end else begin
          _T_529 <= _T_532;
        end
      end
    end
    if (_T_580) begin
      _T_542 <= io_in_d_bits_opcode;
    end
    if (_T_580) begin
      _T_546 <= io_in_d_bits_size;
    end
    if (_T_580) begin
      _T_548 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_582 <= 2'h0;
    end else begin
      _T_582 <= _T_655;
    end
    if (reset) begin
      _T_593 <= 6'h0;
    end else begin
      if (_T_464) begin
        if (_T_597) begin
          if (_T_471) begin
            _T_593 <= _T_34;
          end else begin
            _T_593 <= 6'h0;
          end
        end else begin
          _T_593 <= _T_596;
        end
      end
    end
    if (reset) begin
      _T_614 <= 6'h0;
    end else begin
      if (_T_520) begin
        if (_T_618) begin
          if (_T_526) begin
            _T_614 <= _T_524;
          end else begin
            _T_614 <= 6'h0;
          end
        end else begin
          _T_614 <= _T_617;
        end
      end
    end
    if (reset) begin
      _T_657 <= 32'h0;
    end else begin
      if (_T_671) begin
        _T_657 <= 32'h0;
      end else begin
        _T_657 <= _T_668;
      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:125: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@73337.8]
        end
    `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@73338.8]
        end
    `ifdef STOP_COND
      end
    `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@73376.8]
        end
    `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@73377.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:125: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@73393.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@73394.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:125: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@73400.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@73401.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:125: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@73407.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@73408.10]
        end
    `ifdef STOP_COND
      end
    `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:125: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@73415.10]
        end
    `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@73416.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:125: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@73422.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@73423.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:125: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@73430.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@73431.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:125: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@73439.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@73440.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:125:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73447.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@73448.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:125: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@73465.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@73466.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:125: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@73472.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@73473.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:125: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@73479.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@73480.10]
        end
    `ifdef STOP_COND
      end
    `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:125: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@73487.10]
        end
    `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@73488.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:125: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@73494.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@73495.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:125: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@73502.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@73503.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:125: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@73510.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@73511.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:125: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@73519.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@73520.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:125:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73527.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@73528.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:125: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@73548.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@73549.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:125: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@73555.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@73556.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:125: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@73562.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@73563.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:125: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@73570.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@73571.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:125: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@73578.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@73579.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:125:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73586.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@73587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:125: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@73607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_153) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73608.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:125: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@73614.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@73615.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:125: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@73621.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@73622.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:125: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@73629.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@73630.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:125: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@73637.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@73638.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:125: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@73655.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@73656.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:125: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@73662.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@73663.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:125: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@73669.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@73670.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:125: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@73677.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@73678.10]
        end
    `ifdef STOP_COND
      end
    `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:125: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@73687.10]
        end
    `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@73688.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:125: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@73705.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@73706.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:125: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@73712.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@73713.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:125: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@73719.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@73720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_250) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:125: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@73727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_250) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.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:125: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@73735.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@73736.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:125: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@73753.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@73754.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:125: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@73760.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@73761.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:125: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@73767.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@73768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_276) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:125: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@73775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_276) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73776.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:125: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@73783.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@73784.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:125: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@73801.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@73802.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:125: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@73808.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@73809.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:125: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@73815.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@73816.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:125: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@73823.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@73824.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:125:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73831.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@73832.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_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:125: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@73842.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_310) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73843.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:125: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@73859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_326) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125: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@73867.10]
        end
    `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@73868.10]
        end
    `ifdef STOP_COND
      end
    `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:125: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@73875.10]
        end
    `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@73876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73883.10]
        end
    `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@73884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73891.10]
        end
    `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@73892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_111 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:125: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@73901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_111 & _T_326) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_111 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:125: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@73908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_111 & _T_70) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125: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@73916.10]
        end
    `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@73917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@73924.10]
        end
    `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@73925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@73932.10]
        end
    `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@73933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73940.10]
        end
    `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@73941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@73949.10]
        end
    `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@73950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:125: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@73959.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_326) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:125: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@73966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_70) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125: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@73974.10]
        end
    `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@73975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@73982.10]
        end
    `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@73983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@73990.10]
        end
    `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@73991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:125: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@73999.10]
        end
    `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@74000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:125: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@74008.10]
        end
    `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@74009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:125: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@74018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_326) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125: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@74026.10]
        end
    `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@74027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74034.10]
        end
    `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@74035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@74043.10]
        end
    `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@74044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_121 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:125: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@74053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_121 & _T_326) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125: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@74061.10]
        end
    `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@74062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:125: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@74070.10]
        end
    `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@74071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:125: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@74079.10]
        end
    `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@74080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:125: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@74089.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_326) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:125: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@74097.10]
        end
    `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@74098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74105.10]
        end
    `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@74106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:125: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@74114.10]
        end
    `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@74115.10]
        end
    `ifdef STOP_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:125: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@74124.6]
        end
    `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@74125.6]
        end
    `ifdef STOP_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:125: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@74132.6]
        end
    `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@74133.6]
        end
    `ifdef STOP_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:125: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@74140.6]
        end
    `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@74141.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_501) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:125: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@74180.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_501) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74181.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_505) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:125: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@74188.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_505) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74189.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_509) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:125: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@74196.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_509) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74197.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_513) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:125: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@74204.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_513) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74205.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_517) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:125: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@74212.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_517) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74213.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & _T_558) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:125: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@74262.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_554 & _T_558) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74263.8]
        end
    `ifdef STOP_COND
      end
    `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:125: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@74270.8]
        end
    `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@74271.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & _T_566) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:125: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@74278.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_554 & _T_566) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74279.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & _T_570) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:125: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@74286.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_554 & _T_570) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74287.8]
        end
    `ifdef STOP_COND
      end
    `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:125: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@74294.8]
        end
    `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@74295.8]
        end
    `ifdef STOP_COND
      end
    `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:125: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@74302.8]
        end
    `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@74303.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_629 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:125: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@74380.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_629 & _T_637) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74381.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_645 & _T_652) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:125: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@74403.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_645 & _T_652) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74404.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_666) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:125: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@74424.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_666) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74425.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74437.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74438.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74439.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input  [30:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output [30:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74440.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74445.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_4;
  reg [30:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_5;
  reg  saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74449.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74456.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74461.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74462.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74463.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74449.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74456.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74461.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74462.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74463.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74454.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74451.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74448.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74453.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[30: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_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74468.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74469.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74470.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [7:0]  auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output [7:0]  auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [30:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire [30:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  reg [5:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74519.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74520.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74521.4]
  reg [31:0] _RAND_2;
  wire [5:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74522.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74523.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74524.4]
  wire [1:0] _T_253; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.4]
  wire  _T_254; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74527.4]
  wire  _T_255; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74528.4]
  wire  _T_256; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74529.4]
  wire  _T_259; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74532.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74533.4]
  wire [5:0] _T_260; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74533.4]
  wire  _T_261; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@74534.4]
  wire  _T_262; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74535.4]
  wire  _T_264; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74537.4]
  wire  _T_265; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74538.4]
  wire  _T_266; // @[Fragmenter.scala 181:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74543.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@74544.4]
  wire [5:0] _T_267; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@74544.4]
  wire [5:0] _T_271; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74548.4]
  wire [6:0] _GEN_10; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74549.4]
  wire [6:0] _T_272; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74549.4]
  wire [6:0] _T_273; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@74550.4]
  wire [6:0] _T_274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74551.4]
  wire [6:0] _T_275; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74552.4]
  wire [6:0] _T_276; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74553.4]
  wire [2:0] _T_277; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74554.4]
  wire [3:0] _T_278; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74555.4]
  wire  _T_279; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74556.4]
  wire [3:0] _GEN_11; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74557.4]
  wire [3:0] _T_280; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74557.4]
  wire [1:0] _T_281; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74558.4]
  wire [1:0] _T_282; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74559.4]
  wire  _T_283; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74560.4]
  wire [1:0] _T_284; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74561.4]
  wire  _T_285; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@74562.4]
  wire [1:0] _T_286; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74563.4]
  wire [2:0] _T_287; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74564.4]
  wire  _T_294; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74578.4]
  wire  _T_296; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74580.4]
  wire  _T_297; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74581.4]
  wire  _T_298; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74582.4]
  wire  _T_288; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74565.4]
  wire [6:0] _T_289; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74567.6]
  wire [6:0] _T_290; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74568.6]
  wire [5:0] _T_291; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74569.6]
  wire  _T_293; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74574.8]
  wire  _T_299; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74584.4]
  wire  _T_327; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74617.4]
  wire [2:0] _T_328; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74618.4]
  wire [12:0] _T_330; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74620.4]
  wire [5:0] _T_331; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74621.4]
  wire [5:0] _T_332; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74622.4]
  wire [7:0] _T_334; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74624.4]
  wire  _T_335; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74625.4]
  wire  _T_336; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74626.4]
  wire  _T_337; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74627.4]
  wire  _T_338; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74628.4]
  wire  _T_339; // @[Fragmenter.scala 266:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74629.4]
  reg [5:0] _T_341; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74630.4]
  reg [31:0] _RAND_3;
  wire  _T_342; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74631.4]
  wire [6:0] _T_344; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74633.4]
  wire [6:0] _T_345; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74634.4]
  wire [5:0] _T_346; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74635.4]
  wire [5:0] _T_347; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74636.4]
  wire [5:0] _T_348; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74637.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74640.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 272:70:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.4]
  wire [5:0] _T_355; // @[Fragmenter.scala 272:70:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.4]
  wire [5:0] _T_356; // @[Fragmenter.scala 272:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74645.4]
  reg  _T_359; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74647.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74648.4]
  wire  _T_361; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74652.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@74515.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74661.4]
  wire  _T_362; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74653.4]
  wire  _T_363; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74657.4]
  wire  _T_364; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74658.4]
  wire [5:0] _T_367; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@74663.4]
  wire [5:0] _T_368; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@74664.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@74665.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74667.4]
  wire [30:0] _GEN_15; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@74668.4]
  wire [1:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74670.4]
  wire  _T_375; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74674.4]
  wire  _T_377; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74676.4]
  wire  _T_379; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74678.4]
  wire  _T_380; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74679.4]
  wire  _T_382; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74686.4]
  wire  _T_383; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74687.4]
  wire  _T_385; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74689.4]
  wire  _T_386; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74690.4]
  TLMonitor_42 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74478.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_14 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.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@74522.4]
  assign _T_250 = _T_244 == 6'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74523.4]
  assign _T_251 = _T_249 == 6'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74524.4]
  assign _T_253 = 2'h1 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.4]
  assign _T_254 = _T_253[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74527.4]
  assign _T_255 = ~ _T_254; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74528.4]
  assign _T_256 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74529.4]
  assign _T_259 = auto_out_d_valid == 1'h0; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74532.4]
  assign _GEN_7 = {{5'd0}, _T_255}; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74533.4]
  assign _T_260 = _T_249 & _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74533.4]
  assign _T_261 = _T_260 == 6'h0; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@74534.4]
  assign _T_262 = _T_259 | _T_261; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74535.4]
  assign _T_264 = _T_262 | reset; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74537.4]
  assign _T_265 = _T_264 == 1'h0; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74538.4]
  assign _T_266 = _T_256 ? _T_255 : 1'h0; // @[Fragmenter.scala 181:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74543.4]
  assign _GEN_8 = {{5'd0}, _T_266}; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@74544.4]
  assign _T_267 = _T_249 | _GEN_8; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@74544.4]
  assign _T_271 = _T_249 | _GEN_7; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74548.4]
  assign _GEN_10 = {{1'd0}, _T_271}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74549.4]
  assign _T_272 = _GEN_10 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74549.4]
  assign _T_273 = _T_272 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@74550.4]
  assign _T_274 = {1'h0,_T_271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74551.4]
  assign _T_275 = ~ _T_274; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74552.4]
  assign _T_276 = _T_273 & _T_275; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74553.4]
  assign _T_277 = _T_276[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74554.4]
  assign _T_278 = _T_276[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74555.4]
  assign _T_279 = _T_277 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74556.4]
  assign _GEN_11 = {{1'd0}, _T_277}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74557.4]
  assign _T_280 = _GEN_11 | _T_278; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74557.4]
  assign _T_281 = _T_280[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74558.4]
  assign _T_282 = _T_280[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74559.4]
  assign _T_283 = _T_281 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74560.4]
  assign _T_284 = _T_281 | _T_282; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74561.4]
  assign _T_285 = _T_284[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@74562.4]
  assign _T_286 = {_T_283,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74563.4]
  assign _T_287 = {_T_279,_T_286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74564.4]
  assign _T_294 = _T_256 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74578.4]
  assign _T_296 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74580.4]
  assign _T_297 = _T_294 & _T_296; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74581.4]
  assign _T_298 = auto_in_d_ready | _T_297; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74582.4]
  assign _T_288 = _T_298 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74565.4]
  assign _T_289 = _T_244 - 6'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74567.6]
  assign _T_290 = $unsigned(_T_289); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74568.6]
  assign _T_291 = _T_290[5:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74569.6]
  assign _T_293 = auto_out_d_bits_source[6]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74574.8]
  assign _T_299 = _T_297 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74584.4]
  assign _T_327 = Repeater_io_deq_bits_size > 3'h0; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74617.4]
  assign _T_328 = _T_327 ? 3'h0 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74618.4]
  assign _T_330 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74620.4]
  assign _T_331 = _T_330[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74621.4]
  assign _T_332 = ~ _T_331; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74622.4]
  assign _T_334 = 8'h1 << _T_328; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74624.4]
  assign _T_335 = _T_334[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74625.4]
  assign _T_336 = ~ _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74626.4]
  assign _T_337 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74627.4]
  assign _T_338 = _T_337 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74628.4]
  assign _T_339 = _T_338 ? 1'h0 : _T_336; // @[Fragmenter.scala 266:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74629.4]
  assign _T_342 = _T_341 == 6'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74631.4]
  assign _T_344 = _T_341 - 6'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74633.4]
  assign _T_345 = $unsigned(_T_344); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74634.4]
  assign _T_346 = _T_345[5:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74635.4]
  assign _T_347 = _T_342 ? _T_332 : _T_346; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74636.4]
  assign _T_348 = ~ _T_347; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74637.4]
  assign _GEN_12 = {{5'd0}, _T_339}; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.4]
  assign _T_350 = _T_348 | _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74640.4]
  assign _GEN_13 = {{5'd0}, _T_336}; // @[Fragmenter.scala 272:70:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.4]
  assign _T_355 = _T_348 | _GEN_13; // @[Fragmenter.scala 272:70:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.4]
  assign _T_356 = ~ _T_355; // @[Fragmenter.scala 272:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74645.4]
  assign _GEN_5 = _T_342 ? _T_248 : _T_359; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74648.4]
  assign _T_361 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74652.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@74515.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74661.4]
  assign _T_362 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74653.4]
  assign _T_363 = _T_338 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74657.4]
  assign _T_364 = _T_356 != 6'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74658.4]
  assign _T_367 = ~ _T_332; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@74663.4]
  assign _T_368 = _T_347 | _T_367; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@74664.4]
  assign _T_369 = _T_368 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@74665.4]
  assign _T_371 = ~ _T_369; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74667.4]
  assign _GEN_15 = {{25'd0}, _T_371}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@74668.4]
  assign _T_373 = {Repeater_io_deq_bits_source,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74670.4]
  assign _T_375 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74674.4]
  assign _T_377 = _T_375 | _T_363; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74676.4]
  assign _T_379 = _T_377 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74678.4]
  assign _T_380 = _T_379 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74679.4]
  assign _T_382 = Repeater_io_deq_bits_mask; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74686.4]
  assign _T_383 = _T_375 | _T_382; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74687.4]
  assign _T_385 = _T_383 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74689.4]
  assign _T_386 = _T_385 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74690.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74518.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_299; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74518.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74518.4]
  assign auto_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74518.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74518.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74518.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_a_bits_size = _T_328[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_a_bits_source = {_T_373,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.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@74517.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_297; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74480.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74481.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_299; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74514.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74594.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74595.4]
  assign Repeater_io_repeat = _T_363 & _T_364; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74660.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74596.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74661.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@74540.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@74541.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_380) 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@74681.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_380) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74682.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@74692.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@74693.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_43( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74711.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74712.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74713.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74714.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@75812.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@74730.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74735.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74737.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74738.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74739.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74740.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74740.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74741.6]
  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74768.6]
  wire [30:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74771.8]
  wire [31:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74772.8]
  wire [31:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@74773.8]
  wire [31:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@74774.8]
  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74775.8]
  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74780.8]
  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74793.8]
  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74794.8]
  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74808.8]
  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74809.8]
  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74814.8]
  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74816.8]
  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74817.8]
  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74822.8]
  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74823.8]
  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74825.8]
  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74826.8]
  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74831.8]
  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74833.8]
  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74834.8]
  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74840.6]
  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74894.8]
  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74896.8]
  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74897.8]
  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74920.6]
  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@74923.8]
  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@74931.8]
  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74934.8]
  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74935.8]
  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.8]
  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74956.8]
  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74957.8]
  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74964.8]
  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74965.8]
  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74979.6]
  wire  _T_201; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75030.6]
  wire  _T_229; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75080.6]
  wire  _T_247; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75111.8]
  wire  _T_249; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75113.8]
  wire  _T_250; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75114.8]
  wire  _T_255; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75128.6]
  wire  _T_273; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75159.8]
  wire  _T_275; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75161.8]
  wire  _T_276; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75162.8]
  wire  _T_281; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75176.6]
  wire  _T_307; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75226.6]
  wire  _T_309; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75228.6]
  wire  _T_310; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75229.6]
  wire  _T_312; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75235.6]
  wire  _T_321; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75240.6]
  wire  _T_323; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75242.6]
  wire  _T_325; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75245.8]
  wire  _T_326; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75246.8]
  wire  _T_343; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75284.6]
  wire  _T_371; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75342.6]
  wire  _T_400; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75401.6]
  wire  _T_417; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75436.6]
  wire  _T_435; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75472.6]
  wire  _T_464; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75532.4]
  wire  _T_470; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75538.4]
  wire  _T_471; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75539.4]
  reg [5:0] _T_474; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.4]
  reg [31:0] _RAND_0;
  wire [6:0] _T_475; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75542.4]
  wire [6:0] _T_476; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75543.4]
  wire [5:0] _T_477; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75544.4]
  wire  _T_478; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75545.4]
  reg [2:0] _T_487; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75556.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_489; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75557.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_491; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75558.4]
  reg [31:0] _RAND_3;
  reg  _T_493; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75559.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_495; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75560.4]
  reg [31:0] _RAND_5;
  wire  _T_496; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75561.4]
  wire  _T_497; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75562.4]
  wire  _T_498; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75564.6]
  wire  _T_500; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75566.6]
  wire  _T_501; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75567.6]
  wire  _T_502; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75572.6]
  wire  _T_504; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75574.6]
  wire  _T_505; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75575.6]
  wire  _T_506; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75580.6]
  wire  _T_508; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75582.6]
  wire  _T_509; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75583.6]
  wire  _T_510; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75588.6]
  wire  _T_512; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75590.6]
  wire  _T_513; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.6]
  wire  _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75596.6]
  wire  _T_516; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75598.6]
  wire  _T_517; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75599.6]
  wire  _T_519; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75606.4]
  wire  _T_520; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75614.4]
  wire [12:0] _T_522; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75616.4]
  wire [5:0] _T_523; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75617.4]
  wire [5:0] _T_524; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75618.4]
  wire  _T_526; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75620.4]
  reg [5:0] _T_529; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75622.4]
  reg [31:0] _RAND_6;
  wire [6:0] _T_530; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75623.4]
  wire [6:0] _T_531; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75624.4]
  wire [5:0] _T_532; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75625.4]
  wire  _T_533; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75626.4]
  reg [2:0] _T_542; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75637.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_546; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.4]
  reg [31:0] _RAND_8;
  reg  _T_548; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75640.4]
  reg [31:0] _RAND_9;
  wire  _T_553; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75643.4]
  wire  _T_554; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75644.4]
  wire  _T_555; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75646.6]
  wire  _T_557; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75648.6]
  wire  _T_558; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75649.6]
  wire  _T_563; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75662.6]
  wire  _T_565; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75664.6]
  wire  _T_566; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75665.6]
  wire  _T_567; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75670.6]
  wire  _T_569; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75672.6]
  wire  _T_570; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75673.6]
  wire  _T_580; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75696.4]
  reg [1:0] _T_582; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75705.4]
  reg [31:0] _RAND_10;
  reg [5:0] _T_593; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75715.4]
  reg [31:0] _RAND_11;
  wire [6:0] _T_594; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75716.4]
  wire [6:0] _T_595; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75717.4]
  wire [5:0] _T_596; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75718.4]
  wire  _T_597; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75719.4]
  reg [5:0] _T_614; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75738.4]
  reg [31:0] _RAND_12;
  wire [6:0] _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75739.4]
  wire [6:0] _T_616; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75740.4]
  wire [5:0] _T_617; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75741.4]
  wire  _T_618; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75742.4]
  wire  _T_629; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75757.4]
  wire [1:0] _T_631; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@75760.6]
  wire [1:0] _T_632; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75762.6]
  wire  _T_633; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75763.6]
  wire  _T_634; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75764.6]
  wire  _T_636; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75766.6]
  wire  _T_637; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75767.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@75759.4]
  wire  _T_642; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75778.4]
  wire  _T_644; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@75780.4]
  wire  _T_645; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@75781.4]
  wire [1:0] _T_646; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@75783.6]
  wire [1:0] _T_647; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75785.6]
  wire [1:0] _T_648; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75786.6]
  wire  _T_649; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.6]
  wire  _T_651; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75789.6]
  wire  _T_652; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75790.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@75782.4]
  wire  _T_653; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75796.4]
  wire  _T_654; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@75797.4]
  wire  _T_655; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75798.4]
  wire  _T_656; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75799.4]
  wire  _T_658; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75801.4]
  wire  _T_659; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75802.4]
  wire [1:0] _T_660; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75807.4]
  wire [1:0] _T_661; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75808.4]
  wire [1:0] _T_662; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75809.4]
  reg [31:0] _T_664; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75811.4]
  reg [31:0] _RAND_13;
  wire  _T_665; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75814.4]
  wire  _T_666; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75815.4]
  wire  _T_667; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75816.4]
  wire  _T_668; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75817.4]
  wire  _T_669; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@75818.4]
  wire  _T_670; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@75819.4]
  wire  _T_672; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75821.4]
  wire  _T_673; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75822.4]
  wire [31:0] _T_675; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75828.4]
  wire  _T_678; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75832.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74782.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74854.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74937.10]
  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74996.10]
  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75044.10]
  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75094.10]
  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75142.10]
  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75190.10]
  wire  _GEN_109; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75248.10]
  wire  _GEN_111; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75290.10]
  wire  _GEN_115; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
  wire  _GEN_119; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75407.10]
  wire  _GEN_121; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75442.10]
  wire  _GEN_123; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75478.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@75812.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@74730.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74735.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74737.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74738.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74739.6]
  assign _GEN_18 = {{25'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74740.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@74740.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74741.6]
  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74768.6]
  assign _T_61 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74771.8]
  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74772.8]
  assign _T_63 = $signed(_T_62) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@74773.8]
  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@74774.8]
  assign _T_65 = $signed(_T_64) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74775.8]
  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74780.8]
  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74793.8]
  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74794.8]
  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74808.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74809.8]
  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74814.8]
  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74816.8]
  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74817.8]
  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74822.8]
  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74823.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74825.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74826.8]
  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@74831.8]
  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74833.8]
  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74834.8]
  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74840.6]
  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74894.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74896.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74897.8]
  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74920.6]
  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@74923.8]
  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@74931.8]
  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74934.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74935.8]
  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.8]
  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74956.8]
  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74957.8]
  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74964.8]
  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74965.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74979.6]
  assign _T_201 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75030.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75080.6]
  assign _T_247 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75111.8]
  assign _T_249 = _T_247 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75113.8]
  assign _T_250 = _T_249 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75114.8]
  assign _T_255 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75128.6]
  assign _T_273 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75159.8]
  assign _T_275 = _T_273 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75161.8]
  assign _T_276 = _T_275 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75162.8]
  assign _T_281 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75176.6]
  assign _T_307 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75226.6]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75228.6]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75229.6]
  assign _T_312 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75235.6]
  assign _T_321 = io_in_d_bits_source | _T_312; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75240.6]
  assign _T_323 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75242.6]
  assign _T_325 = _T_321 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75245.8]
  assign _T_326 = _T_325 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75246.8]
  assign _T_343 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75284.6]
  assign _T_371 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75342.6]
  assign _T_400 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75401.6]
  assign _T_417 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75436.6]
  assign _T_435 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75472.6]
  assign _T_464 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75532.4]
  assign _T_470 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75538.4]
  assign _T_471 = _T_470 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75539.4]
  assign _T_475 = _T_474 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75542.4]
  assign _T_476 = $unsigned(_T_475); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75543.4]
  assign _T_477 = _T_476[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75544.4]
  assign _T_478 = _T_474 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75545.4]
  assign _T_496 = _T_478 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75561.4]
  assign _T_497 = io_in_a_valid & _T_496; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75562.4]
  assign _T_498 = io_in_a_bits_opcode == _T_487; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75564.6]
  assign _T_500 = _T_498 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75566.6]
  assign _T_501 = _T_500 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75567.6]
  assign _T_502 = io_in_a_bits_param == _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75572.6]
  assign _T_504 = _T_502 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75574.6]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75575.6]
  assign _T_506 = io_in_a_bits_size == _T_491; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75580.6]
  assign _T_508 = _T_506 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75582.6]
  assign _T_509 = _T_508 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75583.6]
  assign _T_510 = io_in_a_bits_source == _T_493; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75588.6]
  assign _T_512 = _T_510 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75590.6]
  assign _T_513 = _T_512 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.6]
  assign _T_514 = io_in_a_bits_address == _T_495; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75596.6]
  assign _T_516 = _T_514 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75598.6]
  assign _T_517 = _T_516 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75599.6]
  assign _T_519 = _T_464 & _T_478; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75606.4]
  assign _T_520 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75614.4]
  assign _T_522 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75616.4]
  assign _T_523 = _T_522[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75617.4]
  assign _T_524 = ~ _T_523; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75618.4]
  assign _T_526 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75620.4]
  assign _T_530 = _T_529 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75623.4]
  assign _T_531 = $unsigned(_T_530); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75624.4]
  assign _T_532 = _T_531[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75625.4]
  assign _T_533 = _T_529 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75626.4]
  assign _T_553 = _T_533 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75643.4]
  assign _T_554 = io_in_d_valid & _T_553; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75644.4]
  assign _T_555 = io_in_d_bits_opcode == _T_542; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75646.6]
  assign _T_557 = _T_555 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75648.6]
  assign _T_558 = _T_557 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75649.6]
  assign _T_563 = io_in_d_bits_size == _T_546; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75662.6]
  assign _T_565 = _T_563 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75664.6]
  assign _T_566 = _T_565 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75665.6]
  assign _T_567 = io_in_d_bits_source == _T_548; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75670.6]
  assign _T_569 = _T_567 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75672.6]
  assign _T_570 = _T_569 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75673.6]
  assign _T_580 = _T_520 & _T_533; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75696.4]
  assign _T_594 = _T_593 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75716.4]
  assign _T_595 = $unsigned(_T_594); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75717.4]
  assign _T_596 = _T_595[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75718.4]
  assign _T_597 = _T_593 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75719.4]
  assign _T_615 = _T_614 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75739.4]
  assign _T_616 = $unsigned(_T_615); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75740.4]
  assign _T_617 = _T_616[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75741.4]
  assign _T_618 = _T_614 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75742.4]
  assign _T_629 = _T_464 & _T_597; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75757.4]
  assign _T_631 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@75760.6]
  assign _T_632 = _T_582 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75762.6]
  assign _T_633 = _T_632[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75763.6]
  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75764.6]
  assign _T_636 = _T_634 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75766.6]
  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75767.6]
  assign _GEN_15 = _T_629 ? _T_631 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@75759.4]
  assign _T_642 = _T_520 & _T_618; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75778.4]
  assign _T_644 = _T_323 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@75780.4]
  assign _T_645 = _T_642 & _T_644; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@75781.4]
  assign _T_646 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@75783.6]
  assign _T_647 = _GEN_15 | _T_582; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75785.6]
  assign _T_648 = _T_647 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75786.6]
  assign _T_649 = _T_648[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.6]
  assign _T_651 = _T_649 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75789.6]
  assign _T_652 = _T_651 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75790.6]
  assign _GEN_16 = _T_645 ? _T_646 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@75782.4]
  assign _T_653 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75796.4]
  assign _T_654 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@75797.4]
  assign _T_655 = _T_654 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75798.4]
  assign _T_656 = _T_653 | _T_655; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75799.4]
  assign _T_658 = _T_656 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75801.4]
  assign _T_659 = _T_658 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75802.4]
  assign _T_660 = _T_582 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75807.4]
  assign _T_661 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75808.4]
  assign _T_662 = _T_660 & _T_661; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75809.4]
  assign _T_665 = _T_582 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75814.4]
  assign _T_666 = _T_665 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75815.4]
  assign _T_667 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75816.4]
  assign _T_668 = _T_666 | _T_667; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75817.4]
  assign _T_669 = _T_664 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@75818.4]
  assign _T_670 = _T_668 | _T_669; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@75819.4]
  assign _T_672 = _T_670 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75821.4]
  assign _T_673 = _T_672 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75822.4]
  assign _T_675 = _T_664 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75828.4]
  assign _T_678 = _T_464 | _T_520; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75832.4]
  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74782.10]
  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74854.10]
  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74937.10]
  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74996.10]
  assign _GEN_71 = io_in_a_valid & _T_201; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75044.10]
  assign _GEN_79 = io_in_a_valid & _T_229; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75094.10]
  assign _GEN_89 = io_in_a_valid & _T_255; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75142.10]
  assign _GEN_99 = io_in_a_valid & _T_281; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75190.10]
  assign _GEN_109 = io_in_d_valid & _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75248.10]
  assign _GEN_111 = io_in_d_valid & _T_343; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75290.10]
  assign _GEN_115 = io_in_d_valid & _T_371; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
  assign _GEN_119 = io_in_d_valid & _T_400; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75407.10]
  assign _GEN_121 = io_in_d_valid & _T_417; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75442.10]
  assign _GEN_123 = io_in_d_valid & _T_435; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75478.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_474 = _RAND_0[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_487 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_489 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_491 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_493 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_495 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_529 = _RAND_6[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_542 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_546 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_548 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_582 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_593 = _RAND_11[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_614 = _RAND_12[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_664 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_474 <= 6'h0;
    end else begin
      if (_T_464) begin
        if (_T_478) begin
          if (_T_471) begin
            _T_474 <= _T_34;
          end else begin
            _T_474 <= 6'h0;
          end
        end else begin
          _T_474 <= _T_477;
        end
      end
    end
    if (_T_519) begin
      _T_487 <= io_in_a_bits_opcode;
    end
    if (_T_519) begin
      _T_489 <= io_in_a_bits_param;
    end
    if (_T_519) begin
      _T_491 <= io_in_a_bits_size;
    end
    if (_T_519) begin
      _T_493 <= io_in_a_bits_source;
    end
    if (_T_519) begin
      _T_495 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_529 <= 6'h0;
    end else begin
      if (_T_520) begin
        if (_T_533) begin
          if (_T_526) begin
            _T_529 <= _T_524;
          end else begin
            _T_529 <= 6'h0;
          end
        end else begin
          _T_529 <= _T_532;
        end
      end
    end
    if (_T_580) begin
      _T_542 <= io_in_d_bits_opcode;
    end
    if (_T_580) begin
      _T_546 <= io_in_d_bits_size;
    end
    if (_T_580) begin
      _T_548 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_582 <= 2'h0;
    end else begin
      _T_582 <= _T_662;
    end
    if (reset) begin
      _T_593 <= 6'h0;
    end else begin
      if (_T_464) begin
        if (_T_597) begin
          if (_T_471) begin
            _T_593 <= _T_34;
          end else begin
            _T_593 <= 6'h0;
          end
        end else begin
          _T_593 <= _T_596;
        end
      end
    end
    if (reset) begin
      _T_614 <= 6'h0;
    end else begin
      if (_T_520) begin
        if (_T_618) begin
          if (_T_526) begin
            _T_614 <= _T_524;
          end else begin
            _T_614 <= 6'h0;
          end
        end else begin
          _T_614 <= _T_617;
        end
      end
    end
    if (reset) begin
      _T_664 <= 32'h0;
    end else begin
      if (_T_678) begin
        _T_664 <= 32'h0;
      end else begin
        _T_664 <= _T_675;
      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:126: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@74726.8]
        end
    `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@74727.8]
        end
    `ifdef STOP_COND
      end
    `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@74765.8]
        end
    `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@74766.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:126: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@74782.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@74783.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:126: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@74789.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@74790.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:126: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@74796.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@74797.10]
        end
    `ifdef STOP_COND
      end
    `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:126: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@74804.10]
        end
    `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@74805.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:126: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@74811.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@74812.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:126: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@74819.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@74820.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:126: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@74828.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@74829.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:126:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74836.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@74837.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:126: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@74854.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@74855.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:126: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@74861.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@74862.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:126: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@74868.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@74869.10]
        end
    `ifdef STOP_COND
      end
    `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:126: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@74876.10]
        end
    `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@74877.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:126: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@74883.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@74884.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:126: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@74891.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@74892.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:126: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@74899.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@74900.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:126: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@74908.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@74909.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:126:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74916.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@74917.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:126: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@74937.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@74938.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:126: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@74944.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@74945.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:126: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@74951.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@74952.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:126: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@74959.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@74960.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:126: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@74967.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@74968.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:126:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74975.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@74976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:126: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@74996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_153) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.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:126: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@75003.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@75004.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:126: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@75010.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@75011.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:126: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@75018.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@75019.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:126: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@75026.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@75027.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:126: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@75044.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@75045.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:126: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@75051.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@75052.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:126: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@75058.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@75059.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:126: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@75066.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@75067.10]
        end
    `ifdef STOP_COND
      end
    `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:126: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@75076.10]
        end
    `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@75077.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:126: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@75094.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@75095.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:126: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@75101.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@75102.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:126: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@75108.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@75109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_250) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:126: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@75116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_250) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75117.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:126: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@75124.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@75125.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:126: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@75142.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@75143.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:126: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@75149.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@75150.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:126: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@75156.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@75157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_276) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:126: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@75164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_276) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.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:126: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@75172.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@75173.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:126: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@75190.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@75191.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:126: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@75197.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@75198.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:126: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@75204.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@75205.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:126: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@75212.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@75213.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:126:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75220.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@75221.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_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:126: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@75231.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_310) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75232.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:126: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@75248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_326) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126: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@75256.10]
        end
    `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@75257.10]
        end
    `ifdef STOP_COND
      end
    `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:126: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@75264.10]
        end
    `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@75265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75272.10]
        end
    `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@75273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75280.10]
        end
    `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@75281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_111 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:126: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@75290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_111 & _T_326) begin
          $fatal; // @[Monitor.scala 284: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_111 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:126: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@75297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_111 & _T_70) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126: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@75305.10]
        end
    `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@75306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75313.10]
        end
    `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@75314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75321.10]
        end
    `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@75322.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75329.10]
        end
    `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@75330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75338.10]
        end
    `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@75339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:126: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@75348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_326) begin
          $fatal; // @[Monitor.scala 294: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_115 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:126: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@75355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_70) begin
          $fatal; // @[Monitor.scala 295: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 (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:126: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@75363.10]
        end
    `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@75364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75371.10]
        end
    `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@75372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75379.10]
        end
    `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@75380.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:126: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@75388.10]
        end
    `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@75389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:126: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@75397.10]
        end
    `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@75398.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:126: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@75407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_326) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126: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@75415.10]
        end
    `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@75416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75423.10]
        end
    `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@75424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75432.10]
        end
    `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@75433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_121 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:126: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@75442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_121 & _T_326) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126: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@75450.10]
        end
    `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@75451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:126: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@75459.10]
        end
    `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@75460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:126: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@75468.10]
        end
    `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@75469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_326) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:126: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@75478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_326) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:126: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@75486.10]
        end
    `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@75487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75494.10]
        end
    `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@75495.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:126: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@75503.10]
        end
    `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@75504.10]
        end
    `ifdef STOP_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:126: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@75513.6]
        end
    `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@75514.6]
        end
    `ifdef STOP_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:126: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@75521.6]
        end
    `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@75522.6]
        end
    `ifdef STOP_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:126: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@75529.6]
        end
    `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@75530.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_501) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:126: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@75569.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_501) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75570.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_505) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:126: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@75577.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_505) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75578.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_509) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:126: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@75585.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_509) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75586.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_513) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:126: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@75593.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_513) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75594.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_497 & _T_517) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:126: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@75601.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_497 & _T_517) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75602.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & _T_558) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:126: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@75651.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_554 & _T_558) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75652.8]
        end
    `ifdef STOP_COND
      end
    `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:126: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@75659.8]
        end
    `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@75660.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & _T_566) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:126: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@75667.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_554 & _T_566) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75668.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & _T_570) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:126: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@75675.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_554 & _T_570) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75676.8]
        end
    `ifdef STOP_COND
      end
    `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:126: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@75683.8]
        end
    `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@75684.8]
        end
    `ifdef STOP_COND
      end
    `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:126: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@75691.8]
        end
    `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@75692.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_629 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:126: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@75769.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_629 & _T_637) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75770.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_645 & _T_652) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:126: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@75792.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_645 & _T_652) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75793.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_659) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:126: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@75804.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_659) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75805.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_673) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:126: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@75824.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_673) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75825.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75837.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75838.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75839.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input  [30:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input  [7:0]  io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output [30:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output [7:0]  io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75840.4]
);
  reg [2:0] _T_35_opcode [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [2:0] _T_35_param [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [2:0] _T_35_size [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg  _T_35_source [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [30:0] _T_35_address [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_4;
  wire [30:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [30:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg  _T_35_mask [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_5;
  wire  _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [7:0] _T_35_data [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_6;
  wire [7:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [7:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg  _T_35_corrupt [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire [2:0] _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75842.4]
  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75843.4]
  reg [31:0] _RAND_8;
  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75844.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@75846.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75847.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75848.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75849.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75850.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75853.4]
  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75868.6]
  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75874.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75877.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@75842.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@75842.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@75842.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@75842.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@75842.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@75842.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@75842.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@75842.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@75846.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@75847.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75848.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75849.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75850.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75853.4]
  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75868.6]
  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75874.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75877.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75884.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75882.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75893.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75892.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75891.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75890.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75889.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75888.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75887.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75886.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[30: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_data[initvar] = _RAND_6[7:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_7 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; 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[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  value_1 = _RAND_9[2: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@75842.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@75842.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@75842.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@75842.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@75842.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@75842.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@75842.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@75842.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_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75901.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75902.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75903.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [7:0]  auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output [7:0]  auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [30:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [7:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [30:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire [7:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.4]
  TLMonitor_43 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75911.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)
  );
  Queue_8 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75952.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)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75951.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75951.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75951.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75951.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75951.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75951.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75950.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75913.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75914.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75953.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75954.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75955.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75963.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75962.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75961.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75960.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75959.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75958.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75957.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75956.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75965.4]
endmodule
module TLMonitor_44( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75981.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75982.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75983.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@77113.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76000.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76005.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76007.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76008.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76009.6]
  wire [30:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76010.6]
  wire [30:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76010.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76011.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76013.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76014.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@76016.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76017.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76018.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76019.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76020.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76022.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76023.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76025.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76026.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76027.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76028.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76029.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76030.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76031.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76032.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76033.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76034.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76035.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76036.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76037.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76038.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76039.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76040.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76041.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76042.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76043.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76044.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76069.6]
  wire [30:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76072.8]
  wire [31:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76073.8]
  wire [31:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76074.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76075.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76076.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76081.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76094.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76095.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76102.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76103.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76109.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76110.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76115.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76117.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76118.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76123.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76124.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76126.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76127.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76132.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76134.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76135.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76141.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76195.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76197.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76198.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76221.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@76224.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@76232.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76235.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76236.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76255.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76257.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76258.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76263.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76265.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76266.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76280.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76331.6]
  wire [3:0] _T_254; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76370.8]
  wire [3:0] _T_255; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76371.8]
  wire  _T_256; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76372.8]
  wire  _T_258; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76374.8]
  wire  _T_259; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76375.8]
  wire  _T_260; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76381.6]
  wire  _T_278; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76412.8]
  wire  _T_280; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76414.8]
  wire  _T_281; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76415.8]
  wire  _T_286; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76429.6]
  wire  _T_304; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76460.8]
  wire  _T_306; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76462.8]
  wire  _T_307; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76463.8]
  wire  _T_312; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76477.6]
  wire  _T_338; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76527.6]
  wire  _T_340; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76529.6]
  wire  _T_341; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76530.6]
  wire  _T_343; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76536.6]
  wire  _T_352; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76541.6]
  wire  _T_354; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76543.6]
  wire  _T_356; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76546.8]
  wire  _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76547.8]
  wire  _T_358; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76552.8]
  wire  _T_360; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.8]
  wire  _T_361; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76555.8]
  wire  _T_366; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76568.8]
  wire  _T_368; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76570.8]
  wire  _T_369; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76571.8]
  wire  _T_374; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76585.6]
  wire  _T_402; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76643.6]
  wire  _T_431; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76702.6]
  wire  _T_448; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76737.6]
  wire  _T_466; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76773.6]
  wire  _T_495; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76833.4]
  wire [3:0] _T_500; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76838.4]
  wire  _T_501; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76839.4]
  wire  _T_502; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76840.4]
  reg [3:0] _T_505; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76842.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_506; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76843.4]
  wire [4:0] _T_507; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76844.4]
  wire [3:0] _T_508; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76845.4]
  wire  _T_509; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76846.4]
  reg [2:0] _T_518; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76857.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_520; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76858.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_522; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76859.4]
  reg [31:0] _RAND_3;
  reg  _T_524; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76860.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_526; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76861.4]
  reg [31:0] _RAND_5;
  wire  _T_527; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76862.4]
  wire  _T_528; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76863.4]
  wire  _T_529; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76865.6]
  wire  _T_531; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76867.6]
  wire  _T_532; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76868.6]
  wire  _T_533; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76873.6]
  wire  _T_535; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76875.6]
  wire  _T_536; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76876.6]
  wire  _T_537; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76881.6]
  wire  _T_539; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76883.6]
  wire  _T_540; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76884.6]
  wire  _T_541; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76889.6]
  wire  _T_543; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76891.6]
  wire  _T_544; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76892.6]
  wire  _T_545; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76897.6]
  wire  _T_547; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76899.6]
  wire  _T_548; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76900.6]
  wire  _T_550; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76907.4]
  wire  _T_551; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76915.4]
  wire [12:0] _T_553; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76917.4]
  wire [5:0] _T_554; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76918.4]
  wire [5:0] _T_555; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76919.4]
  wire [3:0] _T_556; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76920.4]
  wire  _T_557; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76921.4]
  reg [3:0] _T_560; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76923.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_561; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76924.4]
  wire [4:0] _T_562; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76925.4]
  wire [3:0] _T_563; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76926.4]
  wire  _T_564; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76927.4]
  reg [2:0] _T_573; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76938.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_577; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76940.4]
  reg [31:0] _RAND_8;
  reg  _T_579; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76941.4]
  reg [31:0] _RAND_9;
  wire  _T_584; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76944.4]
  wire  _T_585; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76945.4]
  wire  _T_586; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76947.6]
  wire  _T_588; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76949.6]
  wire  _T_589; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76950.6]
  wire  _T_594; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76963.6]
  wire  _T_596; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76965.6]
  wire  _T_597; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76966.6]
  wire  _T_598; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76971.6]
  wire  _T_600; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76973.6]
  wire  _T_601; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76974.6]
  wire  _T_611; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76997.4]
  reg [1:0] _T_613; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77006.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_624; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77016.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_625; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77017.4]
  wire [4:0] _T_626; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77018.4]
  wire [3:0] _T_627; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77019.4]
  wire  _T_628; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77020.4]
  reg [3:0] _T_645; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77039.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_646; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.4]
  wire [4:0] _T_647; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77041.4]
  wire [3:0] _T_648; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77042.4]
  wire  _T_649; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77043.4]
  wire  _T_660; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77058.4]
  wire [1:0] _T_662; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77061.6]
  wire [1:0] _T_663; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77063.6]
  wire  _T_664; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77064.6]
  wire  _T_665; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77065.6]
  wire  _T_667; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77067.6]
  wire  _T_668; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77068.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77060.4]
  wire  _T_673; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77079.4]
  wire  _T_675; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@77081.4]
  wire  _T_676; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77082.4]
  wire [1:0] _T_677; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77084.6]
  wire [1:0] _T_678; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77086.6]
  wire [1:0] _T_679; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77087.6]
  wire  _T_680; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.6]
  wire  _T_682; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77090.6]
  wire  _T_683; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77091.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@77083.4]
  wire  _T_684; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77097.4]
  wire  _T_685; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@77098.4]
  wire  _T_686; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77099.4]
  wire  _T_687; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77100.4]
  wire  _T_689; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77102.4]
  wire  _T_690; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77103.4]
  wire [1:0] _T_691; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77108.4]
  wire [1:0] _T_692; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77109.4]
  wire [1:0] _T_693; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77110.4]
  reg [31:0] _T_695; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77112.4]
  reg [31:0] _RAND_13;
  wire  _T_696; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77115.4]
  wire  _T_697; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77116.4]
  wire  _T_698; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77117.4]
  wire  _T_699; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77118.4]
  wire  _T_700; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@77119.4]
  wire  _T_701; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@77120.4]
  wire  _T_703; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77122.4]
  wire  _T_704; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77123.4]
  wire [31:0] _T_706; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77129.4]
  wire  _T_709; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77133.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76083.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76155.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76238.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76297.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76345.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76395.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76443.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76491.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76549.10]
  wire  _GEN_121; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76591.10]
  wire  _GEN_129; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76649.10]
  wire  _GEN_135; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76708.10]
  wire  _GEN_139; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76743.10]
  wire  _GEN_141; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76779.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@77113.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76000.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76005.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76007.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76008.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76009.6]
  assign _GEN_18 = {{25'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76010.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76010.6]
  assign _T_36 = _T_35 == 31'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76011.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76013.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76014.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@76016.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76017.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76018.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76019.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76020.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76022.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76023.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76025.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76026.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76027.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76028.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76029.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76030.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76031.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76032.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76033.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76034.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76035.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76036.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76037.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76038.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76039.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76040.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76041.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76042.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76043.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76044.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76069.6]
  assign _T_92 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76072.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76073.8]
  assign _T_94 = $signed(_T_93) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76074.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76075.8]
  assign _T_96 = $signed(_T_95) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76076.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76081.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76094.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76095.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76102.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76103.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76109.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76110.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76115.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76117.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76118.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76123.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76124.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76126.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76127.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76132.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76134.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76135.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76141.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76195.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76197.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76198.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76221.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@76224.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@76232.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76235.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76236.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76255.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76257.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76258.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76263.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76265.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76266.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76280.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76331.6]
  assign _T_254 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76370.8]
  assign _T_255 = io_in_a_bits_mask & _T_254; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76371.8]
  assign _T_256 = _T_255 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76372.8]
  assign _T_258 = _T_256 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76374.8]
  assign _T_259 = _T_258 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76375.8]
  assign _T_260 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76381.6]
  assign _T_278 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76412.8]
  assign _T_280 = _T_278 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76414.8]
  assign _T_281 = _T_280 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76415.8]
  assign _T_286 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76429.6]
  assign _T_304 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76460.8]
  assign _T_306 = _T_304 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76462.8]
  assign _T_307 = _T_306 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76463.8]
  assign _T_312 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76477.6]
  assign _T_338 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76527.6]
  assign _T_340 = _T_338 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76529.6]
  assign _T_341 = _T_340 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76530.6]
  assign _T_343 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76536.6]
  assign _T_352 = io_in_d_bits_source | _T_343; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76541.6]
  assign _T_354 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76543.6]
  assign _T_356 = _T_352 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76546.8]
  assign _T_357 = _T_356 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76547.8]
  assign _T_358 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76552.8]
  assign _T_360 = _T_358 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.8]
  assign _T_361 = _T_360 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76555.8]
  assign _T_366 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76568.8]
  assign _T_368 = _T_366 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76570.8]
  assign _T_369 = _T_368 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76571.8]
  assign _T_374 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76585.6]
  assign _T_402 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76643.6]
  assign _T_431 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76702.6]
  assign _T_448 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76737.6]
  assign _T_466 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76773.6]
  assign _T_495 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76833.4]
  assign _T_500 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76838.4]
  assign _T_501 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76839.4]
  assign _T_502 = _T_501 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76840.4]
  assign _T_506 = _T_505 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76843.4]
  assign _T_507 = $unsigned(_T_506); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76844.4]
  assign _T_508 = _T_507[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76845.4]
  assign _T_509 = _T_505 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76846.4]
  assign _T_527 = _T_509 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76862.4]
  assign _T_528 = io_in_a_valid & _T_527; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76863.4]
  assign _T_529 = io_in_a_bits_opcode == _T_518; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76865.6]
  assign _T_531 = _T_529 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76867.6]
  assign _T_532 = _T_531 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76868.6]
  assign _T_533 = io_in_a_bits_param == _T_520; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76873.6]
  assign _T_535 = _T_533 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76875.6]
  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76876.6]
  assign _T_537 = io_in_a_bits_size == _T_522; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76881.6]
  assign _T_539 = _T_537 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76883.6]
  assign _T_540 = _T_539 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76884.6]
  assign _T_541 = io_in_a_bits_source == _T_524; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76889.6]
  assign _T_543 = _T_541 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76891.6]
  assign _T_544 = _T_543 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76892.6]
  assign _T_545 = io_in_a_bits_address == _T_526; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76897.6]
  assign _T_547 = _T_545 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76899.6]
  assign _T_548 = _T_547 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76900.6]
  assign _T_550 = _T_495 & _T_509; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76907.4]
  assign _T_551 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76915.4]
  assign _T_553 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76917.4]
  assign _T_554 = _T_553[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76918.4]
  assign _T_555 = ~ _T_554; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76919.4]
  assign _T_556 = _T_555[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76920.4]
  assign _T_557 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76921.4]
  assign _T_561 = _T_560 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76924.4]
  assign _T_562 = $unsigned(_T_561); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76925.4]
  assign _T_563 = _T_562[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76926.4]
  assign _T_564 = _T_560 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76927.4]
  assign _T_584 = _T_564 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76944.4]
  assign _T_585 = io_in_d_valid & _T_584; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76945.4]
  assign _T_586 = io_in_d_bits_opcode == _T_573; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76947.6]
  assign _T_588 = _T_586 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76949.6]
  assign _T_589 = _T_588 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76950.6]
  assign _T_594 = io_in_d_bits_size == _T_577; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76963.6]
  assign _T_596 = _T_594 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76965.6]
  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76966.6]
  assign _T_598 = io_in_d_bits_source == _T_579; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76971.6]
  assign _T_600 = _T_598 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76973.6]
  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76974.6]
  assign _T_611 = _T_551 & _T_564; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76997.4]
  assign _T_625 = _T_624 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77017.4]
  assign _T_626 = $unsigned(_T_625); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77018.4]
  assign _T_627 = _T_626[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77019.4]
  assign _T_628 = _T_624 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77020.4]
  assign _T_646 = _T_645 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.4]
  assign _T_647 = $unsigned(_T_646); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77041.4]
  assign _T_648 = _T_647[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77042.4]
  assign _T_649 = _T_645 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77043.4]
  assign _T_660 = _T_495 & _T_628; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77058.4]
  assign _T_662 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77061.6]
  assign _T_663 = _T_613 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77063.6]
  assign _T_664 = _T_663[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77064.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77065.6]
  assign _T_667 = _T_665 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77067.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77068.6]
  assign _GEN_15 = _T_660 ? _T_662 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77060.4]
  assign _T_673 = _T_551 & _T_649; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77079.4]
  assign _T_675 = _T_354 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@77081.4]
  assign _T_676 = _T_673 & _T_675; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77082.4]
  assign _T_677 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77084.6]
  assign _T_678 = _GEN_15 | _T_613; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77086.6]
  assign _T_679 = _T_678 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77087.6]
  assign _T_680 = _T_679[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.6]
  assign _T_682 = _T_680 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77090.6]
  assign _T_683 = _T_682 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77091.6]
  assign _GEN_16 = _T_676 ? _T_677 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@77083.4]
  assign _T_684 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77097.4]
  assign _T_685 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@77098.4]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77099.4]
  assign _T_687 = _T_684 | _T_686; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77100.4]
  assign _T_689 = _T_687 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77102.4]
  assign _T_690 = _T_689 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77103.4]
  assign _T_691 = _T_613 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77108.4]
  assign _T_692 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77109.4]
  assign _T_693 = _T_691 & _T_692; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77110.4]
  assign _T_696 = _T_613 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77115.4]
  assign _T_697 = _T_696 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77116.4]
  assign _T_698 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77117.4]
  assign _T_699 = _T_697 | _T_698; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77118.4]
  assign _T_700 = _T_695 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@77119.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@77120.4]
  assign _T_703 = _T_701 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77122.4]
  assign _T_704 = _T_703 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77123.4]
  assign _T_706 = _T_695 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77129.4]
  assign _T_709 = _T_495 | _T_551; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77133.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76083.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76155.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76238.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76297.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76345.10]
  assign _GEN_85 = io_in_a_valid & _T_260; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76395.10]
  assign _GEN_95 = io_in_a_valid & _T_286; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76443.10]
  assign _GEN_105 = io_in_a_valid & _T_312; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76491.10]
  assign _GEN_115 = io_in_d_valid & _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76549.10]
  assign _GEN_121 = io_in_d_valid & _T_374; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76591.10]
  assign _GEN_129 = io_in_d_valid & _T_402; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76649.10]
  assign _GEN_135 = io_in_d_valid & _T_431; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76708.10]
  assign _GEN_139 = io_in_d_valid & _T_448; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76743.10]
  assign _GEN_141 = io_in_d_valid & _T_466; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76779.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_505 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_518 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_520 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_522 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_524 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_526 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_560 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_573 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_577 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_579 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_613 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_624 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_645 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_695 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_505 <= 4'h0;
    end else begin
      if (_T_495) begin
        if (_T_509) begin
          if (_T_502) begin
            _T_505 <= _T_500;
          end else begin
            _T_505 <= 4'h0;
          end
        end else begin
          _T_505 <= _T_508;
        end
      end
    end
    if (_T_550) begin
      _T_518 <= io_in_a_bits_opcode;
    end
    if (_T_550) begin
      _T_520 <= io_in_a_bits_param;
    end
    if (_T_550) begin
      _T_522 <= io_in_a_bits_size;
    end
    if (_T_550) begin
      _T_524 <= io_in_a_bits_source;
    end
    if (_T_550) begin
      _T_526 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_560 <= 4'h0;
    end else begin
      if (_T_551) begin
        if (_T_564) begin
          if (_T_557) begin
            _T_560 <= _T_556;
          end else begin
            _T_560 <= 4'h0;
          end
        end else begin
          _T_560 <= _T_563;
        end
      end
    end
    if (_T_611) begin
      _T_573 <= io_in_d_bits_opcode;
    end
    if (_T_611) begin
      _T_577 <= io_in_d_bits_size;
    end
    if (_T_611) begin
      _T_579 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_613 <= 2'h0;
    end else begin
      _T_613 <= _T_693;
    end
    if (reset) begin
      _T_624 <= 4'h0;
    end else begin
      if (_T_495) begin
        if (_T_628) begin
          if (_T_502) begin
            _T_624 <= _T_500;
          end else begin
            _T_624 <= 4'h0;
          end
        end else begin
          _T_624 <= _T_627;
        end
      end
    end
    if (reset) begin
      _T_645 <= 4'h0;
    end else begin
      if (_T_551) begin
        if (_T_649) begin
          if (_T_557) begin
            _T_645 <= _T_556;
          end else begin
            _T_645 <= 4'h0;
          end
        end else begin
          _T_645 <= _T_648;
        end
      end
    end
    if (reset) begin
      _T_695 <= 32'h0;
    end else begin
      if (_T_709) begin
        _T_695 <= 32'h0;
      end else begin
        _T_695 <= _T_706;
      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:127: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@75996.8]
        end
    `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@75997.8]
        end
    `ifdef STOP_COND
      end
    `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@76066.8]
        end
    `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@76067.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:127: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@76083.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@76084.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:127: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@76090.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@76091.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:127: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@76097.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@76098.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:127: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@76105.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@76106.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:127: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@76112.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@76113.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:127: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@76120.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@76121.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:127: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@76129.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@76130.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:127:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76137.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@76138.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:127: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@76155.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@76156.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:127: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@76162.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@76163.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:127: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@76169.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@76170.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:127: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@76177.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@76178.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:127: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@76184.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@76185.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:127: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@76192.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@76193.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:127: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@76200.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@76201.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:127: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@76209.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@76210.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:127:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76217.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@76218.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:127: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@76238.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@76239.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:127: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@76245.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@76246.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:127: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@76252.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@76253.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:127: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@76260.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@76261.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:127: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@76268.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@76269.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:127:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76276.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@76277.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:127: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@76297.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@76298.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:127: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@76304.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@76305.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:127: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@76311.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@76312.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:127: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@76319.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@76320.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:127: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@76327.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@76328.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:127: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@76345.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@76346.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:127: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@76352.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@76353.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:127: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@76359.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@76360.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:127: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@76367.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@76368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_259) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:127: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@76377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_259) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76378.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:127: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@76395.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@76396.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:127: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@76402.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@76403.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:127: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@76409.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@76410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_281) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:127: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@76417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_281) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76418.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:127: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@76425.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@76426.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:127: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@76443.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@76444.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:127: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@76450.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@76451.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:127: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@76457.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@76458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_307) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:127: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@76465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_307) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76466.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:127: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@76473.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@76474.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:127: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@76491.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@76492.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:127: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@76498.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@76499.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:127: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@76505.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@76506.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:127: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@76513.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@76514.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:127:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76521.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@76522.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_341) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:127: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@76532.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_341) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76533.8]
        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 ReleaseAck carries invalid source ID (connected at SPI.scala:127: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@76549.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 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.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 ReleaseAck smaller than a beat (connected at SPI.scala:127: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@76557.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 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76558.10]
        end
    `ifdef STOP_COND
      end
    `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:127: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@76565.10]
        end
    `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@76566.10]
        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 is corrupt (connected at SPI.scala:127:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76573.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 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:127:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76581.10]
        end
    `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@76582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_121 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:127: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@76591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_121 & _T_357) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_121 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:127: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@76598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_121 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_121 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:127: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@76606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_121 & _T_361) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76614.10]
        end
    `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@76615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76622.10]
        end
    `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@76623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_121 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:127:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_121 & _T_369) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76639.10]
        end
    `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@76640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_129 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:127: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@76649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_129 & _T_357) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_129 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:127: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@76656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_129 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_129 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:127: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@76664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_129 & _T_361) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76672.10]
        end
    `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@76673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76680.10]
        end
    `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@76681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:127: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@76689.10]
        end
    `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@76690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:127: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@76698.10]
        end
    `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@76699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:127: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@76708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_357) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:127: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@76716.10]
        end
    `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@76717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:127:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_369) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76733.10]
        end
    `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@76734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:127: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@76743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_357) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:127: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@76751.10]
        end
    `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@76752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:127: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@76760.10]
        end
    `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@76761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:127: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@76769.10]
        end
    `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@76770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_141 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:127: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@76779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_141 & _T_357) begin
          $fatal; // @[Monitor.scala 320: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 (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:127: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@76787.10]
        end
    `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@76788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_141 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:127:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76795.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_141 & _T_369) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:127: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@76804.10]
        end
    `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@76805.10]
        end
    `ifdef STOP_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:127: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@76814.6]
        end
    `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@76815.6]
        end
    `ifdef STOP_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:127: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@76822.6]
        end
    `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@76823.6]
        end
    `ifdef STOP_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:127: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@76830.6]
        end
    `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@76831.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_528 & _T_532) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:127: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@76870.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_528 & _T_532) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76871.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_528 & _T_536) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:127: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@76878.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_528 & _T_536) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76879.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_528 & _T_540) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:127: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@76886.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_528 & _T_540) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76887.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_528 & _T_544) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:127: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@76894.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_528 & _T_544) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76895.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_528 & _T_548) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:127: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@76902.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_528 & _T_548) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76903.8]
        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: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:127: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@76952.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 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76953.8]
        end
    `ifdef STOP_COND
      end
    `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:127: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@76960.8]
        end
    `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@76961.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: 'D' channel size changed within multibeat operation (connected at SPI.scala:127: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@76968.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 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76969.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: 'D' channel source changed within multibeat operation (connected at SPI.scala:127: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@76976.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 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76977.8]
        end
    `ifdef STOP_COND
      end
    `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:127: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@76984.8]
        end
    `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@76985.8]
        end
    `ifdef STOP_COND
      end
    `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:127: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@76992.8]
        end
    `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@76993.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_660 & _T_668) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:127: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@77070.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_660 & _T_668) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77071.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_676 & _T_683) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:127: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@77093.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_676 & _T_683) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77094.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_690) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:127: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@77105.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_690) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77106.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_704) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:127: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@77125.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_704) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77126.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77138.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77139.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77140.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input  [30:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output [30:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77141.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77146.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_4;
  reg [30:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_6;
  reg [31:0] saved_data; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_7;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77147.4]
  reg [31:0] _RAND_8;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77150.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77156.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77157.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77162.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77163.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77164.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77150.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77156.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77157.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77162.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77163.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77164.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77152.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77149.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_data = full ? saved_data : io_enq_bits_data; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77154.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[30: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_data = _RAND_7[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  saved_corrupt = _RAND_8[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_data <= io_enq_bits_data;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLWidthWidget_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77169.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77170.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77171.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output [7:0]  auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.4]
  wire  Repeater_clock; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_reset; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_repeat; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_enq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_enq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_enq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [30:0] Repeater_io_enq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [31:0] Repeater_io_enq_bits_data; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_deq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_deq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_deq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [30:0] Repeater_io_deq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [31:0] Repeater_io_deq_bits_data; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
  wire [23:0] _T_249; // @[WidthWidget.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77231.4]
  wire [7:0] _T_250; // @[WidthWidget.scala 145:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77232.4]
  wire [31:0] _T_251; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77233.4]
  wire [2:0] _T_245_bits_opcode; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  wire  _T_252; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77235.4]
  wire  _T_253; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.4]
  wire [2:0] _T_245_bits_size; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  wire [8:0] _T_255; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77238.4]
  wire [1:0] _T_256; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77239.4]
  wire [1:0] _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77240.4]
  reg [1:0] _T_260; // @[WidthWidget.scala 89:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77242.4]
  reg [31:0] _RAND_0;
  wire  _T_262; // @[WidthWidget.scala 91:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77244.4]
  wire  _T_263; // @[WidthWidget.scala 91:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77245.4]
  wire  _T_264; // @[WidthWidget.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77246.4]
  wire  _T_245_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  wire  _T_265; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77247.4]
  wire [1:0] _T_267; // @[WidthWidget.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77250.6]
  wire [30:0] _T_245_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  wire [1:0] _T_268; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77256.4]
  wire [1:0] _T_269; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77257.4]
  wire [7:0] _T_270; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77259.4]
  wire [7:0] _T_271; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77260.4]
  wire [7:0] _T_272; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77261.4]
  wire [7:0] _T_273; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77262.4]
  wire [7:0] _GEN_3; // @[WidthWidget.scala 119:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77269.4]
  wire [7:0] _GEN_4; // @[WidthWidget.scala 119:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77269.4]
  wire [3:0] _T_245_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  wire  _T_285; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77270.4]
  wire  _T_286; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77271.4]
  wire  _T_287; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77272.4]
  wire  _T_288; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77273.4]
  wire  _GEN_7; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77280.4]
  wire  _GEN_8; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77280.4]
  wire  _T_301; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77283.4]
  wire [8:0] _T_303; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77285.4]
  wire [1:0] _T_304; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77286.4]
  wire [1:0] _T_305; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77287.4]
  reg [1:0] _T_308; // @[WidthWidget.scala 31:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77289.4]
  reg [31:0] _RAND_1;
  wire  _T_310; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77291.4]
  wire  _T_311; // @[WidthWidget.scala 33:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77292.4]
  wire  _T_312; // @[WidthWidget.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77293.4]
  wire [1:0] _T_314; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77295.4]
  wire  _T_315; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77296.4]
  wire  _T_316; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@77297.4]
  wire [1:0] _T_317; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@77298.4]
  wire [1:0] _T_318; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77299.4]
  wire  _T_319; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77300.4]
  wire  _T_320; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@77301.4]
  wire [1:0] _T_321; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@77302.4]
  wire [1:0] _T_322; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77303.4]
  wire  _T_323; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77304.4]
  wire  _T_324; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@77305.4]
  reg  _T_330; // @[WidthWidget.scala 36:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77310.4]
  reg [31:0] _RAND_2;
  wire  _T_335; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77323.4]
  wire  _T_336; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77324.4]
  wire  _T_332; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77312.4]
  wire [1:0] _T_334; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77315.6]
  reg [7:0] _T_340_0; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77329.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_340_1; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77329.4]
  reg [31:0] _RAND_4;
  reg [7:0] _T_340_2; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77329.4]
  reg [31:0] _RAND_5;
  wire [7:0] _T_346; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77330.4]
  wire [7:0] _T_347; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77331.4]
  wire [7:0] _T_348; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77332.4]
  wire  _T_352; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77336.4]
  wire [15:0] _T_353; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77342.4]
  wire [15:0] _T_354; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77343.4]
  TLMonitor_44 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77179.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)
  );
  Repeater_15 Repeater ( // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77222.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .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_data(Repeater_io_enq_bits_data),
    .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_data(Repeater_io_deq_bits_data),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = Repeater_io_deq_bits_data[31:8]; // @[WidthWidget.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77231.4]
  assign _T_250 = auto_in_a_bits_data[7:0]; // @[WidthWidget.scala 145:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77232.4]
  assign _T_251 = {_T_249,_T_250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77233.4]
  assign _T_245_bits_opcode = Repeater_io_deq_bits_opcode; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  assign _T_252 = _T_245_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77235.4]
  assign _T_253 = _T_252 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.4]
  assign _T_245_bits_size = Repeater_io_deq_bits_size; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  assign _T_255 = 9'h3 << _T_245_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77238.4]
  assign _T_256 = _T_255[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77239.4]
  assign _T_257 = ~ _T_256; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77240.4]
  assign _T_262 = _T_260 == _T_257; // @[WidthWidget.scala 91:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77244.4]
  assign _T_263 = _T_253 == 1'h0; // @[WidthWidget.scala 91:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77245.4]
  assign _T_264 = _T_262 | _T_263; // @[WidthWidget.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77246.4]
  assign _T_245_valid = Repeater_io_deq_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  assign _T_265 = auto_out_a_ready & _T_245_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77247.4]
  assign _T_267 = _T_260 + 2'h1; // @[WidthWidget.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77250.6]
  assign _T_245_bits_address = Repeater_io_deq_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  assign _T_268 = _T_245_bits_address[1:0]; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77256.4]
  assign _T_269 = _T_268 | _T_260; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77257.4]
  assign _T_270 = _T_251[7:0]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77259.4]
  assign _T_271 = _T_251[15:8]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77260.4]
  assign _T_272 = _T_251[23:16]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77261.4]
  assign _T_273 = _T_251[31:24]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77262.4]
  assign _GEN_3 = 2'h1 == _T_269 ? _T_271 : _T_270; // @[WidthWidget.scala 119:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77269.4]
  assign _GEN_4 = 2'h2 == _T_269 ? _T_272 : _GEN_3; // @[WidthWidget.scala 119:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77269.4]
  assign _T_245_bits_mask = Repeater_io_deq_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77228.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.4]
  assign _T_285 = _T_245_bits_mask[0]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77270.4]
  assign _T_286 = _T_245_bits_mask[1]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77271.4]
  assign _T_287 = _T_245_bits_mask[2]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77272.4]
  assign _T_288 = _T_245_bits_mask[3]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77273.4]
  assign _GEN_7 = 2'h1 == _T_269 ? _T_286 : _T_285; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77280.4]
  assign _GEN_8 = 2'h2 == _T_269 ? _T_287 : _GEN_7; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77280.4]
  assign _T_301 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77283.4]
  assign _T_303 = 9'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77285.4]
  assign _T_304 = _T_303[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77286.4]
  assign _T_305 = ~ _T_304; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77287.4]
  assign _T_310 = _T_308 == _T_305; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77291.4]
  assign _T_311 = _T_301 == 1'h0; // @[WidthWidget.scala 33:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77292.4]
  assign _T_312 = _T_310 | _T_311; // @[WidthWidget.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77293.4]
  assign _T_314 = _T_308 & _T_305; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77295.4]
  assign _T_315 = _T_314 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77296.4]
  assign _T_316 = _T_315 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@77297.4]
  assign _T_317 = _T_308 ^ 2'h1; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@77298.4]
  assign _T_318 = _T_317 & _T_305; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77299.4]
  assign _T_319 = _T_318 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77300.4]
  assign _T_320 = _T_319 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@77301.4]
  assign _T_321 = _T_308 ^ 2'h2; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@77302.4]
  assign _T_322 = _T_321 & _T_305; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77303.4]
  assign _T_323 = _T_322 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77304.4]
  assign _T_324 = _T_323 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@77305.4]
  assign _T_335 = _T_312 == 1'h0; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77323.4]
  assign _T_336 = auto_in_d_ready | _T_335; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77324.4]
  assign _T_332 = _T_336 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77312.4]
  assign _T_334 = _T_308 + 2'h1; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77315.6]
  assign _T_346 = _T_316 ? auto_out_d_bits_data : _T_340_0; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77330.4]
  assign _T_347 = _T_320 ? auto_out_d_bits_data : _T_340_1; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77331.4]
  assign _T_348 = _T_324 ? auto_out_d_bits_data : _T_340_2; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77332.4]
  assign _T_352 = _T_332 & _T_335; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77336.4]
  assign _T_353 = {_T_347,_T_346}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77342.4]
  assign _T_354 = {auto_out_d_bits_data,_T_348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77343.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_312; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_in_d_bits_data = {_T_354,_T_353}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_in_d_bits_corrupt = _T_330; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_size = Repeater_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_source = Repeater_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_mask = 2'h3 == _T_269 ? _T_288 : _GEN_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_data = 2'h3 == _T_269 ? _T_273 : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_335; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77181.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77182.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_312; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_330; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77215.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77224.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77225.4]
  assign Repeater_io_repeat = _T_264 == 1'h0; // @[Repeater.scala 35:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77226.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_data = auto_in_a_bits_data; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.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_308 = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_330 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_340_0 = _RAND_3[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_340_1 = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_340_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
        if (_T_264) begin
          _T_260 <= 2'h0;
        end else begin
          _T_260 <= _T_267;
        end
      end
    end
    if (reset) begin
      _T_308 <= 2'h0;
    end else begin
      if (_T_332) begin
        if (_T_312) begin
          _T_308 <= 2'h0;
        end else begin
          _T_308 <= _T_334;
        end
      end
    end
    if (reset) begin
      _T_330 <= 1'h0;
    end else begin
      if (_T_332) begin
        if (_T_312) begin
          _T_330 <= 1'h0;
        end
      end
    end
    if (_T_352) begin
      if (_T_316) begin
        _T_340_0 <= auto_out_d_bits_data;
      end
    end
    if (_T_352) begin
      if (_T_320) begin
        _T_340_1 <= auto_out_d_bits_data;
      end
    end
    if (_T_352) begin
      if (_T_324) begin
        _T_340_2 <= auto_out_d_bits_data;
      end
    end
  end
endmodule
module SimpleLazyModule_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77354.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77355.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77356.4]
  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [2:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [30:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [31:0] auto_widget_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [2:0]  auto_widget_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [2:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [2:0]  auto_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [2:0]  auto_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [7:0]  auto_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [30:0] auto_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output [7:0]  auto_mem_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  output        auto_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [2:0]  auto_mem_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input         auto_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [7:0]  auto_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
  input  [7:0]  auto_mem_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77357.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [30:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [7:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [7:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [7:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [30:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [7:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [7:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire [7:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [30:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [7:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [7:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [30:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [7:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire [7:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [30:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [30:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [7:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  wire [7:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.4]
  TLFragmenter_13 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.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_13 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77368.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)
  );
  TLWidthWidget_4 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77374.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_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_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_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@77389.4]
  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign auto_mem_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign auto_mem_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77366.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77367.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign fragmenter_auto_out_a_ready = auto_mem_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77385.4]
  assign fragmenter_auto_out_d_valid = auto_mem_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77385.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_mem_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77385.4]
  assign fragmenter_auto_out_d_bits_size = auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77385.4]
  assign fragmenter_auto_out_d_bits_source = auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77385.4]
  assign fragmenter_auto_out_d_bits_data = auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77385.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77372.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77373.4]
  assign buffer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77386.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77378.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77379.4]
  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.4]
  assign widget_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign widget_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign widget_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign widget_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign widget_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
  assign widget_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77387.4]
endmodule
module TLMonitor_45( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77398.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77399.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77400.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77401.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@78522.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77417.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77422.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77425.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77426.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77427.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77427.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77428.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77430.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77431.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77433.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77434.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77435.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77436.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77437.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77439.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77440.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77442.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77443.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77444.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77445.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77446.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77447.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77448.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77449.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77450.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77451.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77452.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77453.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77454.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77455.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77456.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77457.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77458.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77459.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77460.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77461.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77486.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77489.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77490.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@77491.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@77492.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77493.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77498.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77511.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77512.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77519.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77520.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77526.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77527.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77532.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77534.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77535.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77540.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77541.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77543.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77544.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77549.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77551.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77552.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77558.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77612.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77614.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77615.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77638.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@77641.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@77649.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77652.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77653.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77672.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77674.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77675.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77680.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77682.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77683.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77697.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77748.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77790.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77791.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77792.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77794.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77795.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77801.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77832.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77834.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77835.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77880.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77882.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77883.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77897.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77947.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77949.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77950.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77956.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77961.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77963.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77966.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77967.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77972.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77974.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77975.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78005.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78122.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78253.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@78258.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78259.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78260.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78262.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78263.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78264.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78265.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78266.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78277.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78278.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78279.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78280.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78281.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78282.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78283.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78285.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78287.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78288.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78293.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78295.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78296.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78301.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78303.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78304.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78309.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78311.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78312.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78317.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78319.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78320.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78327.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78335.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78337.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78338.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78339.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@78340.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78341.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78343.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78344.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78345.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78346.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78347.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78358.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78360.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78361.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78364.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78365.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78367.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78369.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78370.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78385.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78386.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78391.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78393.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78394.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78417.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78426.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78436.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78437.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78438.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78439.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78440.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78459.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78460.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78461.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78462.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78463.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78478.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78481.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78483.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78484.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78485.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78487.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78488.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@78480.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78499.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@78501.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@78502.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78504.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78506.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78507.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78508.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78510.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78511.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@78503.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78517.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78518.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78519.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78521.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78524.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78525.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78527.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@78528.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@78529.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78531.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78532.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78538.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78542.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77500.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77572.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77655.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77714.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77765.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77815.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77863.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77911.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77969.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78011.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78069.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78128.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@78522.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77417.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77422.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77425.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77426.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77427.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77427.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77428.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77430.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77431.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@77433.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77434.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77435.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77436.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77437.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77439.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77440.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77442.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77443.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77444.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77445.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77446.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77447.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77448.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77449.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77450.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77451.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77452.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77453.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77454.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77455.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77456.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77457.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77458.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77459.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77460.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77461.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77486.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77489.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77490.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@77491.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@77492.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77493.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77498.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77511.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77512.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77519.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77520.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77526.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77527.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77532.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77534.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77535.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77540.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77541.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77543.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77544.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@77549.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77551.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77552.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77558.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77612.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77614.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77615.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77638.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@77641.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@77649.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77652.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77653.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77672.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77674.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77675.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77680.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77682.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77683.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77697.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77748.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77790.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77791.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77792.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77794.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77795.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77801.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77832.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77834.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77835.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77880.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77882.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77883.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77897.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77947.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77949.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77950.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77956.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77961.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77963.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77966.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77967.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77972.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77974.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77975.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78005.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78122.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78253.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@78258.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78259.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78260.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78263.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78264.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78265.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78266.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78282.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78283.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78285.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78287.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78288.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78293.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78295.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78296.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78301.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78303.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78304.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78309.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78311.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78312.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78317.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78319.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78320.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78327.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78335.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78337.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78338.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78339.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@78340.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78341.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78344.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78345.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78346.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78347.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78364.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78365.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78367.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78369.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78370.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78385.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78386.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78391.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78393.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78394.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78417.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78437.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78438.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78439.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78440.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78460.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78461.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78462.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78463.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78478.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78481.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78483.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78484.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78485.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78487.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78488.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@78480.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78499.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@78501.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@78502.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78504.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78506.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78507.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78508.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78510.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78511.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@78503.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78517.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78518.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78519.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78524.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78525.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78527.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@78528.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@78529.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78531.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78532.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78538.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78542.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77500.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77572.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77655.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77714.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77765.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77815.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77863.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77911.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77969.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78011.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78069.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78128.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.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:57: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@77413.8]
        end
    `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@77414.8]
        end
    `ifdef STOP_COND
      end
    `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@77483.8]
        end
    `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@77484.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:57: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@77500.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@77501.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:57: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@77507.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@77508.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:57: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@77514.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@77515.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:57: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@77522.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@77523.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:57: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@77529.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@77530.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:57: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@77537.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@77538.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:57: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@77546.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@77547.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:57:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77554.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@77555.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:57: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@77572.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@77573.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:57: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@77579.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@77580.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:57: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@77586.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@77587.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:57: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@77594.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@77595.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:57: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@77601.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@77602.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:57: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@77609.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@77610.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:57: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@77617.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@77618.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:57: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@77626.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@77627.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:57:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77634.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@77635.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:57: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@77655.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@77656.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:57: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@77662.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@77663.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:57: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@77669.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@77670.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:57: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@77677.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@77678.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:57: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@77685.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@77686.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:57:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77693.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@77694.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:57: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@77714.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@77715.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:57: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@77721.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@77722.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:57: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@77728.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@77729.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:57: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@77736.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@77737.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:57: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@77744.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@77745.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:57: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@77765.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@77766.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:57: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@77772.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@77773.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:57: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@77779.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@77780.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:57: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@77787.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@77788.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:57: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@77797.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@77798.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:57: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@77815.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@77816.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:57: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@77822.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@77823.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:57: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@77829.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@77830.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:57: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@77837.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@77838.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:57: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@77845.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@77846.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:57: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@77863.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@77864.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:57: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@77870.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@77871.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:57: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@77877.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@77878.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:57: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@77885.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@77886.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:57: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@77893.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@77894.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:57: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@77911.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@77912.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:57: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@77918.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@77919.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:57: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@77925.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@77926.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:57: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@77933.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@77934.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:57:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77941.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@77942.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:57: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@77952.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@77953.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:57: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@77969.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@77970.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:57: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@77977.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@77978.10]
        end
    `ifdef STOP_COND
      end
    `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:57: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@77985.10]
        end
    `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@77986.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:57:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77993.10]
        end
    `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@77994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:57:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78001.10]
        end
    `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@78002.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:57: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@78011.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@78012.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:57: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@78018.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@78019.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:57: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@78026.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@78027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78034.10]
        end
    `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@78035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78042.10]
        end
    `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@78043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.10]
        end
    `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@78051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78059.10]
        end
    `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@78060.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:57: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@78069.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@78070.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:57: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@78076.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@78077.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:57: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@78084.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@78085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78092.10]
        end
    `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@78093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78100.10]
        end
    `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@78101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:57: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@78109.10]
        end
    `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@78110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:57: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@78118.10]
        end
    `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@78119.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:57: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@78128.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@78129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:57: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@78136.10]
        end
    `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@78137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78144.10]
        end
    `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@78145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78153.10]
        end
    `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@78154.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:57: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@78163.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@78164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:57: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@78171.10]
        end
    `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@78172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:57: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@78180.10]
        end
    `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@78181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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:57: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@78189.10]
        end
    `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@78190.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:57: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@78199.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@78200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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:57: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@78207.10]
        end
    `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@78208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.10]
        end
    `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@78216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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:57: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@78224.10]
        end
    `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@78225.10]
        end
    `ifdef STOP_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:57: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@78234.6]
        end
    `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@78235.6]
        end
    `ifdef STOP_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:57: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@78242.6]
        end
    `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@78243.6]
        end
    `ifdef STOP_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:57: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@78250.6]
        end
    `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@78251.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:57: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@78290.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@78291.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:57: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@78298.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@78299.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:57: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@78306.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@78307.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:57: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@78314.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@78315.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:57: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@78322.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@78323.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:57: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@78372.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@78373.8]
        end
    `ifdef STOP_COND
      end
    `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:57: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@78380.8]
        end
    `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@78381.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:57: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@78388.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@78389.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:57: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@78396.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@78397.8]
        end
    `ifdef STOP_COND
      end
    `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:57: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@78404.8]
        end
    `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@78405.8]
        end
    `ifdef STOP_COND
      end
    `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:57: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@78412.8]
        end
    `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@78413.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:57: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@78490.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@78491.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:57: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@78513.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@78514.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:57: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@78534.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@78535.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78578.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78579.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78580.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78705.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78629.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78630.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78631.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@78632.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78633.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78634.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78636.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78637.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78639.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78640.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78641.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78642.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78658.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78659.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@78660.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@78660.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78661.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78661.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78662.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78662.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@78663.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78664.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78665.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78666.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78667.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78669.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78670.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78670.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78671.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78672.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78673.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78674.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@78675.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78676.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78677.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78691.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78693.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78694.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78695.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78678.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78680.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78680.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78681.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78682.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@78687.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78697.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78730.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78731.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78733.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78734.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78735.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78737.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78738.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78739.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78740.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78741.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78743.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78744.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78745.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78746.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78747.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78748.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78749.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78750.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78753.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78760.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78761.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78765.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@78625.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78774.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78766.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78770.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78771.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78775.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78775.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@78776.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@78777.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78778.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78778.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@78779.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78780.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@78781.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78783.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78787.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78789.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78791.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78792.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78799.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78800.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78802.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78803.4]
  TLMonitor_45 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.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@78705.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@78632.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78633.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78634.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78636.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78637.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78639.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78640.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78641.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78642.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78658.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78659.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@78660.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@78660.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78661.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78661.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78662.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78662.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@78663.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78664.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78665.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78666.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78667.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78669.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78670.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78670.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78671.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78672.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78673.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78674.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@78675.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78676.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78677.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@78691.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78693.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78694.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78695.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78678.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78680.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78680.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78681.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@78682.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@78687.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78697.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78730.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@78731.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78733.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78734.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78735.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78737.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78738.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78739.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78740.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78741.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78744.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78745.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78746.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78747.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78748.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78749.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78750.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78753.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78761.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78765.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@78625.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78774.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78766.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78770.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78771.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78775.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78775.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@78776.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@78777.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78778.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78778.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@78779.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78780.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@78781.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78783.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78787.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78789.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78791.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78792.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78799.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78800.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78802.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78803.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.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@78627.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78627.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78590.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78591.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78707.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78708.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78773.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@78709.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@78774.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@78653.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@78654.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@78794.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@78795.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@78805.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@78806.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78818.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78819.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78820.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.4]
  TLFragmenter_14 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.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@78838.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78829.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78830.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78838.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.4]
endmodule
module TLMonitor_46( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78847.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78848.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78849.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78850.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@79971.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@78866.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78871.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78873.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78874.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78875.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78876.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78876.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78877.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78879.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78880.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@78882.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78883.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78884.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78885.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78886.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78888.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78889.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78891.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78892.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78893.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78894.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78895.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78896.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78897.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78898.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78899.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78900.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78901.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78902.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78903.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78904.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78905.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78906.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78907.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78908.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78909.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78910.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78938.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78939.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78940.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78941.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78942.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78947.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78960.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78961.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78968.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78969.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78975.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78981.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78983.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78984.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78989.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78990.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78992.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78993.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78998.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79000.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79001.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79007.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79061.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79063.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79064.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79087.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@79090.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@79098.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79101.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79102.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79121.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79123.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79124.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79129.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79131.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79132.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79146.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79197.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79239.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79240.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@79241.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79243.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79244.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79250.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@79281.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79283.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79284.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79298.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79329.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79331.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79332.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79346.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@79396.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79398.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79399.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@79405.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@79410.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79412.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79415.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79416.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79421.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79423.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79424.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79454.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79512.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79571.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79606.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79642.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79702.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@79707.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@79708.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79709.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79711.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79712.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79713.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79714.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79715.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79726.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79727.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79728.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79729.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79730.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79731.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79732.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79734.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79736.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79737.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79742.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79744.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79745.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79750.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79752.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79753.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79758.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79760.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79761.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79766.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79768.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79769.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79776.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79784.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@79786.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@79787.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@79788.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@79789.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79790.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79792.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79793.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79794.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79795.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79796.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79807.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79809.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79810.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79813.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79814.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79816.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79818.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79819.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79832.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79834.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79835.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79840.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79842.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79843.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79866.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79875.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79885.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79886.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79887.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79888.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79889.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79908.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79909.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79910.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79911.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79912.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79927.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79930.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79932.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79933.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79934.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79936.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79937.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79929.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79948.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@79950.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79951.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79953.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79955.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79956.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79957.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79959.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79960.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@79952.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79966.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@79967.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79968.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79970.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79973.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79974.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79975.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79976.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@79977.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@79978.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79980.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79981.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@79987.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79991.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78949.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79021.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79104.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79163.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79214.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79264.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79312.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79360.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79418.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79460.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79518.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79577.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79612.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79648.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@79971.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@78866.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78871.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78873.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78874.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78875.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78876.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78876.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78877.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78879.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78880.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@78882.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78883.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78884.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78885.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78886.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78888.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78889.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78891.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78892.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78893.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78894.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78895.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78896.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78897.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78898.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78899.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78900.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78901.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78902.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78903.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78904.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78905.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78906.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78907.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78908.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78909.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78910.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78938.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78939.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78940.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78941.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78942.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78947.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78960.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78961.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78968.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78969.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78975.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78981.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78983.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78984.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78989.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78990.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78992.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78993.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78998.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79000.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79001.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79007.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79061.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79063.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79064.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79087.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@79090.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@79098.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79101.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79102.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79121.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79123.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79124.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79129.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79131.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79132.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79146.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79197.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79239.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79240.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@79241.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79243.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79244.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79250.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@79281.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79283.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79284.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79298.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79329.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79331.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79332.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79346.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@79396.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79398.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79399.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@79405.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@79410.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79412.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79415.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79416.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79421.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79423.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79424.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79454.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79512.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79571.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79606.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79642.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79702.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@79707.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@79708.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79709.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79712.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79713.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79714.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79715.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79731.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79732.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79734.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79736.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79737.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79742.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79744.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79745.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79750.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79752.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79753.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79758.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79760.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79761.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79766.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79768.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79769.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79776.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79784.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@79786.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@79787.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@79788.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@79789.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79790.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79793.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79794.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79795.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79796.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79813.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79814.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79816.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79818.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79819.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79832.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79834.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79835.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79840.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79842.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79843.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79866.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79886.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79887.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79888.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79889.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79909.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79910.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79911.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79912.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79927.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79930.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79932.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79933.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79934.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79936.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79937.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79929.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79948.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@79950.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79951.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79953.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79955.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79956.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79957.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79959.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79960.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@79952.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79966.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@79967.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79968.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79973.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79974.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79975.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79976.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@79977.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@79978.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79980.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79981.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@79987.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79991.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78949.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79021.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79104.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79163.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79214.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79264.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79312.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79360.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79418.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79460.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79518.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79577.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79612.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79648.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@78862.8]
        end
    `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@78863.8]
        end
    `ifdef STOP_COND
      end
    `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@78932.8]
        end
    `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@78933.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@78949.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@78950.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@78956.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@78957.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@78963.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@78964.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@78971.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@78972.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@78978.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@78979.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@78986.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@78987.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@78995.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@78996.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@79003.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@79004.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@79021.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@79022.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@79028.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@79029.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@79035.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@79036.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@79043.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@79044.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@79050.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@79051.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@79058.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@79059.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@79066.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@79067.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@79075.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@79076.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@79083.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@79084.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@79104.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@79105.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@79111.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@79112.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@79118.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@79119.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@79126.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@79127.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@79134.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@79135.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@79142.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@79143.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@79163.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@79164.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@79170.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@79171.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@79177.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@79178.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@79185.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@79186.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@79193.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@79194.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@79214.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@79215.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@79221.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@79222.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@79228.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@79229.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@79236.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@79237.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@79246.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@79247.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@79264.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@79265.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@79271.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@79272.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@79278.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@79279.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@79286.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@79287.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@79294.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@79295.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@79312.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@79313.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@79319.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@79320.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@79326.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@79327.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@79334.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@79335.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@79342.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@79343.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@79360.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@79361.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@79367.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@79368.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@79374.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@79375.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@79382.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@79383.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@79390.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@79391.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@79401.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@79402.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@79418.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@79419.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@79426.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@79427.10]
        end
    `ifdef STOP_COND
      end
    `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@79434.10]
        end
    `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@79435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@79442.10]
        end
    `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@79443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@79450.10]
        end
    `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@79451.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@79460.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@79461.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@79467.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@79468.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@79475.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@79476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79483.10]
        end
    `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@79484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79491.10]
        end
    `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@79492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79499.10]
        end
    `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@79500.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79508.10]
        end
    `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@79509.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@79518.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@79519.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@79525.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@79526.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@79533.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@79534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79541.10]
        end
    `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@79542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79549.10]
        end
    `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@79550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@79558.10]
        end
    `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@79559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@79567.10]
        end
    `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@79568.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@79577.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@79578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@79585.10]
        end
    `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@79586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79593.10]
        end
    `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@79594.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79602.10]
        end
    `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@79603.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@79612.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@79613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@79620.10]
        end
    `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@79621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@79629.10]
        end
    `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@79630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@79638.10]
        end
    `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@79639.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@79648.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@79649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@79656.10]
        end
    `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@79657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79664.10]
        end
    `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@79665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@79673.10]
        end
    `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@79674.10]
        end
    `ifdef STOP_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@79683.6]
        end
    `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@79684.6]
        end
    `ifdef STOP_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@79691.6]
        end
    `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@79692.6]
        end
    `ifdef STOP_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@79699.6]
        end
    `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@79700.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@79739.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@79740.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@79747.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@79748.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@79755.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@79756.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@79763.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@79764.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@79771.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@79772.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@79821.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@79822.8]
        end
    `ifdef STOP_COND
      end
    `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@79829.8]
        end
    `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@79830.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@79837.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@79838.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@79845.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@79846.8]
        end
    `ifdef STOP_COND
      end
    `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@79853.8]
        end
    `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@79854.8]
        end
    `ifdef STOP_COND
      end
    `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@79861.8]
        end
    `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@79862.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@79939.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@79940.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@79962.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@79963.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@79983.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@79984.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80027.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80028.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80029.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80030.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80154.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80078.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@80079.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80080.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@80081.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80082.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80083.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80085.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80086.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80088.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80089.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80090.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80091.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80107.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@80108.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@80109.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@80109.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@80110.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@80110.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@80111.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@80111.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@80112.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80113.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80114.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@80115.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80116.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80117.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80118.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80119.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80119.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80120.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80121.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80122.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80123.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@80124.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80125.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80126.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80140.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80142.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80143.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80144.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80127.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80129.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80129.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80130.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80131.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@80136.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80146.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80179.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@80180.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80182.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80183.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80184.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80186.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80187.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80188.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80189.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80190.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80192.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80193.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80194.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80195.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80196.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80197.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80198.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80199.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80202.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80209.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80210.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@80214.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@80074.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@80223.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80215.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80219.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@80220.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@80224.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@80224.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@80225.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@80226.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@80227.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@80227.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@80228.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80229.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@80230.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80232.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80236.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80238.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80240.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80241.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@80248.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80249.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80251.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80252.4]
  TLMonitor_46 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80037.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@80154.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@80081.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80082.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80083.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80085.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80086.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80088.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80089.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80090.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80091.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80107.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@80108.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@80109.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@80109.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@80110.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@80110.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@80111.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@80111.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@80112.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80113.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80114.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@80115.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80116.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80117.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80118.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80119.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80119.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80120.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80121.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80122.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80123.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@80124.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80125.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80126.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@80140.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80142.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80143.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80144.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80127.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80129.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80129.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80130.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@80131.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@80136.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80146.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80179.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@80180.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80182.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80183.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80184.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80186.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80187.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80188.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80189.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80190.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80193.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80194.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80195.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80196.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80197.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80198.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80199.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80202.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80210.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@80214.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@80074.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@80223.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80215.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80219.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@80220.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@80224.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@80224.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@80225.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@80226.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@80227.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@80227.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@80228.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80229.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@80230.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80232.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80236.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80238.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80240.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80241.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@80248.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80249.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80251.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80252.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80077.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80077.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80077.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80077.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80077.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80077.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.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@80076.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80076.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80039.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80040.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80073.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80156.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80157.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80222.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@80158.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@80223.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@80102.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@80103.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@80243.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@80244.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@80254.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@80255.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80266.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80267.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80268.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80269.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.4]
  TLFragmenter_15 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@80274.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@80287.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80286.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80278.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80279.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80287.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80285.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80285.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80285.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80285.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80285.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80285.4]
endmodule
module TLMonitor_47( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80296.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80297.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80298.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80299.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81420.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80315.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80320.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80322.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80323.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80324.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80325.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80325.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80326.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80328.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80329.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@80331.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@80332.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80333.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80334.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80335.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80337.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80338.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80340.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80341.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80342.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80343.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80344.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80345.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80346.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80347.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80348.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80349.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80350.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80351.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80352.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80353.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80354.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80355.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80356.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80357.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80358.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80359.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80384.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80387.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80388.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@80389.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@80390.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@80391.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80396.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80409.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80410.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80417.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80418.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80424.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80425.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80430.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80432.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80433.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80438.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80439.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80441.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80442.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80447.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80449.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80450.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80456.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80510.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80512.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80513.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80536.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@80539.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@80547.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80551.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80570.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80572.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80573.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80580.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80581.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80595.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80646.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@80688.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80689.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80690.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80692.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80693.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80699.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80732.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80733.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80747.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@80778.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80780.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80781.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80795.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80845.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80847.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80848.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80861.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80865.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80870.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80872.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80873.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80903.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80961.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81020.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81055.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81091.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81151.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@81156.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81157.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81158.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81160.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81161.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81162.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81163.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81164.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81175.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81176.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81177.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81178.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81179.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81180.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81181.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81183.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81185.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81186.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81191.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81193.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81194.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81199.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81201.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81202.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81207.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81209.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81210.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81215.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81217.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81218.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81225.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81233.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81235.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81236.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81237.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@81238.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81239.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81241.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81242.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81243.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81244.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81245.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81256.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81258.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81259.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81262.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81263.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81265.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81267.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81268.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81281.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81283.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81284.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81289.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81291.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81292.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81315.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81324.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81334.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81335.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81336.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81337.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81338.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81357.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81358.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81359.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81360.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81361.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81376.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81379.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81381.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81382.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81383.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81385.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81386.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@81378.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81397.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@81399.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@81400.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81402.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81404.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81405.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81406.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81408.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81409.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@81401.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81415.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81416.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81417.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81419.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81422.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81423.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81424.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81425.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@81426.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@81427.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81429.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81430.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81436.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81440.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80398.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80470.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80553.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80612.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80663.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80713.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80761.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80867.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80967.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81026.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81061.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81097.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81420.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80315.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80320.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@80322.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@80323.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80324.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80325.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80325.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80326.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80328.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80329.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@80331.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@80332.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80333.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80334.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80335.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80337.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80338.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80340.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80341.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80342.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@80343.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80344.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80345.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80346.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80347.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80348.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80349.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80350.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80351.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80352.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80353.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80354.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@80355.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@80356.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80357.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80358.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80359.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80384.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80387.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80388.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@80389.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@80390.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@80391.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80396.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80409.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80410.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80417.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80418.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80424.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80425.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80430.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80432.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80433.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80438.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80439.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80441.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80442.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80447.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80449.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80450.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80456.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80510.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80512.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80513.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80536.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@80539.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@80547.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80551.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80570.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80572.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80573.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80580.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80581.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80595.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80646.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@80688.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80689.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80690.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80692.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80693.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80699.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80732.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80733.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80747.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@80778.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80780.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80781.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80795.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80845.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80847.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@80848.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80861.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80865.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80870.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80872.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80873.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80903.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80961.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81020.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81055.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81091.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81151.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@81156.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81157.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81158.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81161.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81162.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81163.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81164.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81180.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81181.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81183.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81185.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81186.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81191.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81193.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81194.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81199.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81201.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81202.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81207.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81209.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81210.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81215.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81217.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81218.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81225.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81233.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81235.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81236.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81237.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@81238.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81239.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81242.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81243.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81244.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81245.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81262.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81263.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81265.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81267.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81268.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81281.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81283.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81284.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81289.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81291.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81292.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81315.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81335.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81336.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81337.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81338.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81358.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81359.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81360.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81361.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81376.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81379.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81381.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81382.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81383.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81385.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81386.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@81378.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81397.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@81399.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@81400.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81402.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81404.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81405.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81406.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81408.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81409.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@81401.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81415.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81416.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81417.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81422.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81423.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81424.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81425.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@81426.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@81427.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81429.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81430.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81436.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81440.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80398.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80470.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80553.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80612.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80663.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80713.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80761.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80867.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@80967.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81026.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81061.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81097.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@80311.8]
        end
    `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@80312.8]
        end
    `ifdef STOP_COND
      end
    `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@80381.8]
        end
    `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@80382.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@80398.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@80399.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@80405.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@80406.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@80412.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@80413.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@80420.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@80421.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@80427.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@80428.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@80435.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@80436.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@80444.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@80445.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@80452.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@80453.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@80470.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@80471.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@80477.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@80478.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@80484.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@80485.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@80492.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@80493.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@80499.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@80500.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@80507.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@80508.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@80515.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@80516.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@80524.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@80525.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@80532.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@80533.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@80553.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@80554.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@80560.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@80561.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@80567.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@80568.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@80575.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@80576.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@80583.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@80584.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@80591.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@80592.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@80612.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@80613.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@80619.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@80620.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@80626.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@80627.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@80634.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@80635.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@80642.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@80643.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@80663.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@80664.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@80670.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@80671.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@80677.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@80678.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@80685.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@80686.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@80695.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@80696.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@80713.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@80714.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@80720.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@80721.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@80727.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@80728.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@80735.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@80736.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@80743.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@80744.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@80761.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@80762.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@80768.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@80769.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@80775.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@80776.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@80783.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@80784.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@80791.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@80792.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@80809.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@80810.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@80816.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@80817.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@80823.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@80824.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@80831.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@80832.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@80839.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@80840.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@80850.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@80851.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@80867.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@80868.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@80875.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@80876.10]
        end
    `ifdef STOP_COND
      end
    `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@80883.10]
        end
    `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@80884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@80891.10]
        end
    `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@80892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@80899.10]
        end
    `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@80900.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@80909.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@80910.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@80916.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@80917.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@80924.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@80925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@80932.10]
        end
    `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@80933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@80940.10]
        end
    `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@80941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@80948.10]
        end
    `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@80949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@80957.10]
        end
    `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@80958.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@80967.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@80968.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@80974.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@80975.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@80982.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@80983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@80990.10]
        end
    `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@80991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@80998.10]
        end
    `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@80999.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@81007.10]
        end
    `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@81008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@81016.10]
        end
    `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@81017.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@81026.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@81027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@81034.10]
        end
    `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@81035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@81042.10]
        end
    `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@81043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@81051.10]
        end
    `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@81052.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@81061.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@81062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@81069.10]
        end
    `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@81070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@81078.10]
        end
    `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@81079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@81087.10]
        end
    `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@81088.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@81097.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@81098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@81105.10]
        end
    `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@81106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@81113.10]
        end
    `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@81114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@81122.10]
        end
    `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@81123.10]
        end
    `ifdef STOP_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@81132.6]
        end
    `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@81133.6]
        end
    `ifdef STOP_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@81140.6]
        end
    `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@81141.6]
        end
    `ifdef STOP_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@81148.6]
        end
    `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@81149.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@81188.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@81189.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@81196.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@81197.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@81204.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@81205.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@81212.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@81213.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@81220.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@81221.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@81270.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@81271.8]
        end
    `ifdef STOP_COND
      end
    `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@81278.8]
        end
    `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@81279.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@81286.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@81287.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@81294.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@81295.8]
        end
    `ifdef STOP_COND
      end
    `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@81302.8]
        end
    `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@81303.8]
        end
    `ifdef STOP_COND
      end
    `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@81310.8]
        end
    `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@81311.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@81388.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@81389.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@81411.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@81412.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@81432.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@81433.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81476.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81477.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81478.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81479.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81527.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81528.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81529.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@81530.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81531.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81532.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81534.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81535.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81537.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81538.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81539.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81540.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81556.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@81557.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@81558.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@81558.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@81559.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@81559.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81560.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81560.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@81561.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81562.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81563.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81564.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81565.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81566.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81567.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81568.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81568.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81569.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81570.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81571.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81572.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@81573.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81574.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81575.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81589.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81591.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81592.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@81593.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81576.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81578.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81578.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81579.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81580.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@81585.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81595.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81628.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81629.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81631.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81632.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81633.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81635.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81636.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81637.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81638.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81639.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81641.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81642.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81643.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81644.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81645.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81646.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81647.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81648.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81651.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@81658.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81663.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@81523.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81672.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81664.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81668.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81669.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@81673.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@81673.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@81674.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@81675.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@81676.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@81676.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@81677.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81678.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@81679.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81681.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81685.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@81687.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81689.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81690.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81697.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@81698.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81700.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81701.4]
  TLMonitor_47 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81486.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@81603.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@81530.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81531.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81532.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81534.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81535.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81537.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81538.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81539.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@81540.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81556.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@81557.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@81558.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@81558.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@81559.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@81559.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81560.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@81560.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@81561.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81562.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81563.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81564.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81565.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81566.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81567.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81568.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81568.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81569.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81570.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81571.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81572.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@81573.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81574.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81575.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@81589.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81591.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81592.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@81593.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81576.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81578.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81578.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81579.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@81580.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@81585.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81595.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81628.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81629.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81631.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81632.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81633.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81635.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81636.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81637.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81638.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81639.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81642.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81643.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81644.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81645.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81646.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81647.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81648.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81651.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81663.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@81523.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81672.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@81664.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81668.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81669.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@81673.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@81673.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@81674.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@81675.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@81676.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@81676.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@81677.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81678.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@81679.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81681.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81685.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@81687.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81689.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81690.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81697.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@81698.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81700.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81701.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81526.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81526.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81526.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81526.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81526.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81526.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.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@81525.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81488.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81489.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81605.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81606.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81671.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@81672.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@81551.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@81552.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@81692.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@81693.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@81703.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@81704.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81715.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81716.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81717.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81718.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.4]
  TLFragmenter_16 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@81723.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@81736.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81735.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81727.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81728.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81736.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81734.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81734.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81734.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81734.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81734.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81734.4]
endmodule
module TLMonitor_48( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81745.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81746.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81747.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81748.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@82869.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@81764.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81769.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81771.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81772.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81773.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@81774.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@81774.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81775.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81777.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81778.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@81780.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81781.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81782.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81783.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81784.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81786.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81787.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81789.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81790.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81791.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81792.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81793.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81794.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81795.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81796.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81797.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81798.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81799.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81800.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81801.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81802.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81803.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81804.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81805.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81806.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81807.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81808.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81833.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81836.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81837.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@81838.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@81839.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@81840.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81845.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81858.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81859.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81866.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81867.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81873.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81874.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81879.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81881.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81882.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81887.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81888.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81890.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81891.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81896.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81898.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81899.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81905.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81959.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81961.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81962.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81985.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@81988.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@81996.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81999.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82000.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82019.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82021.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82022.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82027.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82029.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82030.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82044.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82095.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@82137.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82138.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@82139.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82141.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82142.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82148.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@82179.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82181.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82182.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82196.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@82227.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82229.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82230.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82244.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82294.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82296.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82297.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@82303.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@82308.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82310.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82313.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82314.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82319.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82321.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82322.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82352.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82410.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82469.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82504.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82540.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82600.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@82605.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@82606.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82607.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82609.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82610.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82611.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82612.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82613.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82624.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82625.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82626.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82627.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82628.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82629.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82630.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82632.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82634.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82635.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82640.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82642.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82643.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82648.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82650.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82651.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82656.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82658.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82659.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82664.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82666.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82667.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@82674.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82682.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@82684.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@82685.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@82686.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@82687.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82688.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82690.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82691.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82692.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82693.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82694.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82705.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82707.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82708.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82711.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82712.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82714.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82716.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82717.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82730.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82732.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82733.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82738.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82740.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82741.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@82764.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82773.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82783.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82784.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82785.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82786.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82787.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82806.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82807.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82808.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82809.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82810.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82825.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@82828.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@82830.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@82831.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82832.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82834.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82835.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@82827.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82846.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@82848.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@82849.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@82851.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@82853.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@82854.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@82855.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82857.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82858.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@82850.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82864.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@82865.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82866.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82868.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@82871.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82872.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82873.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82874.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@82875.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@82876.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82878.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82879.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@82885.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82889.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81847.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81919.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82002.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82061.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82112.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82162.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82210.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82258.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82316.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82358.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82416.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82475.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82510.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82546.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@82869.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@81764.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81769.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@81771.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@81772.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81773.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@81774.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@81774.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81775.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81777.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81778.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@81780.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81781.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81782.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81783.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81784.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81786.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81787.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81789.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81790.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81791.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81792.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@81793.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81794.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81795.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81796.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81797.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81798.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81799.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81800.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81801.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81802.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81803.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@81804.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@81805.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81806.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81807.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81808.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81833.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@81836.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81837.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@81838.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@81839.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@81840.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81845.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81858.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81859.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81866.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81867.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81873.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81874.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81879.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81881.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81882.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81887.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81888.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81890.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81891.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81896.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81898.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81899.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81905.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81959.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81961.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81962.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81985.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@81988.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@81996.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81999.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82000.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82019.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82021.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82022.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82027.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82029.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82030.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82044.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82095.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@82137.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82138.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@82139.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82141.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82142.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82148.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@82179.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82181.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82182.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82196.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@82227.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82229.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82230.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82244.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82294.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82296.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82297.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@82303.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@82308.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82310.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82313.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82314.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82319.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82321.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82322.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82352.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82410.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82469.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82504.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82540.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82600.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@82605.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@82606.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82607.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82610.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82611.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82612.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82613.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82629.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82630.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82632.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82634.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82635.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82640.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82642.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82643.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82648.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82650.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82651.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82656.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82658.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82659.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82664.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82666.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82667.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@82674.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82682.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@82684.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@82685.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@82686.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@82687.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82688.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82691.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82692.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82693.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82694.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82711.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82712.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82714.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82716.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82717.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82730.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82732.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82733.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@82738.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82740.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82741.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@82764.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82784.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82785.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82786.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82787.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82807.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82808.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82809.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82810.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82825.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@82828.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@82830.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@82831.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82832.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82834.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82835.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@82827.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82846.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@82848.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@82849.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@82851.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@82853.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@82854.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@82855.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82857.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82858.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@82850.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82864.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@82865.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82866.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@82871.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@82872.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82873.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82874.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@82875.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@82876.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82878.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82879.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@82885.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82889.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81847.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@81919.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82002.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82061.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82112.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82162.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82210.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82258.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82316.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82358.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82416.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82475.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82510.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@82546.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@81760.8]
        end
    `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@81761.8]
        end
    `ifdef STOP_COND
      end
    `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@81830.8]
        end
    `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@81831.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@81847.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@81848.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@81854.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@81855.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@81861.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@81862.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@81869.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@81870.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@81876.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@81877.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@81884.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@81885.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@81893.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@81894.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@81901.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@81902.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@81919.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@81920.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@81926.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@81927.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@81933.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@81934.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@81941.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@81942.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@81948.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@81949.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@81956.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@81957.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@81964.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@81965.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@81973.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@81974.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@81981.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@81982.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@82002.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@82003.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@82009.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@82010.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@82016.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@82017.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@82024.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@82025.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@82032.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@82033.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@82040.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@82041.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@82061.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@82062.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@82068.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@82069.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@82075.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@82076.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@82083.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@82084.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@82091.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@82092.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@82112.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@82113.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@82119.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@82120.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@82126.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@82127.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@82134.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@82135.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@82144.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@82145.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@82162.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@82163.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@82169.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@82170.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@82176.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@82177.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@82184.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@82185.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@82192.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@82193.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@82210.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@82211.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@82217.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@82218.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@82224.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@82225.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@82232.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@82233.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@82240.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@82241.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@82258.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@82259.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@82265.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@82266.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@82272.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@82273.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@82280.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@82281.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@82288.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@82289.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@82299.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@82300.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@82316.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@82317.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@82324.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@82325.10]
        end
    `ifdef STOP_COND
      end
    `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@82332.10]
        end
    `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@82333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@82340.10]
        end
    `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@82341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@82348.10]
        end
    `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@82349.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@82358.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@82359.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@82365.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@82366.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@82373.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@82374.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82381.10]
        end
    `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@82382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82389.10]
        end
    `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@82390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82397.10]
        end
    `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@82398.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82406.10]
        end
    `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@82407.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@82416.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@82417.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@82423.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@82424.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@82431.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@82432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82439.10]
        end
    `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@82440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82447.10]
        end
    `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@82448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@82456.10]
        end
    `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@82457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@82465.10]
        end
    `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@82466.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@82475.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@82476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@82483.10]
        end
    `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@82484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82491.10]
        end
    `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@82492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82500.10]
        end
    `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@82501.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@82510.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@82511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@82518.10]
        end
    `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@82519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@82527.10]
        end
    `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@82528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@82536.10]
        end
    `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@82537.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@82546.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@82547.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@82554.10]
        end
    `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@82555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82562.10]
        end
    `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@82563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@82571.10]
        end
    `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@82572.10]
        end
    `ifdef STOP_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@82581.6]
        end
    `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@82582.6]
        end
    `ifdef STOP_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@82589.6]
        end
    `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@82590.6]
        end
    `ifdef STOP_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@82597.6]
        end
    `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@82598.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@82637.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@82638.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@82645.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@82646.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@82653.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@82654.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@82661.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@82662.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@82669.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@82670.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@82719.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@82720.8]
        end
    `ifdef STOP_COND
      end
    `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@82727.8]
        end
    `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@82728.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@82735.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@82736.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@82743.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@82744.8]
        end
    `ifdef STOP_COND
      end
    `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@82751.8]
        end
    `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@82752.8]
        end
    `ifdef STOP_COND
      end
    `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@82759.8]
        end
    `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@82760.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@82837.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@82838.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@82860.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@82861.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@82881.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@82882.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82925.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82926.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82927.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82928.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83052.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82976.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@82977.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82978.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@82979.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82980.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82981.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82983.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82984.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@82986.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@82987.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@82988.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82989.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83005.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@83006.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@83008.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@83008.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@83010.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83011.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83012.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83013.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83014.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83015.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83016.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83017.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83017.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83018.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83019.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83020.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83021.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@83022.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83023.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83024.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83038.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83040.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83041.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83042.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83025.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83027.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83027.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83028.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83029.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@83034.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83044.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83077.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@83078.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83080.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@83081.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83082.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83084.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@83085.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83086.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83087.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83088.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83090.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83091.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83092.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83093.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83094.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83095.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83096.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83097.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83100.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@83107.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83108.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@83112.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@82972.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83121.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83113.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83117.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83118.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@83122.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@83122.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@83123.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@83124.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@83125.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@83125.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@83126.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83127.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@83128.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83130.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@83134.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83136.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83138.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83139.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83146.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83147.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83149.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83150.4]
  TLMonitor_48 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@82935.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@83052.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@82979.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82980.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@82981.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@82983.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@82984.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@82986.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@82987.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@82988.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@82989.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83005.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@83006.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@83008.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@83008.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@83010.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83011.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83012.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83013.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83014.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83015.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83016.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83017.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83017.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83018.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83019.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83020.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83021.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@83022.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83023.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83024.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@83038.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83040.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83041.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83042.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83025.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83027.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83027.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83028.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@83029.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@83034.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83044.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83077.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@83078.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83080.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@83081.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83082.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83084.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@83085.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83086.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83087.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83088.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83091.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83092.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83093.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83094.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83095.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83096.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83097.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83100.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83108.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@83112.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@82972.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83121.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83113.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83117.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83118.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@83122.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@83122.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@83123.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@83124.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@83125.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@83125.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@83126.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83127.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@83128.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83130.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@83134.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83136.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83138.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83139.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83146.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83147.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83149.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83150.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@82975.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@82975.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@82975.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@82975.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@82975.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@82975.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.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@82974.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@82974.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82937.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@82938.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@82971.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83054.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83055.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83120.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@83056.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83121.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@83000.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@83001.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@83141.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@83142.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@83152.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@83153.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83164.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83165.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83166.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83167.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.4]
  TLFragmenter_17 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@83172.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@83185.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83184.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83176.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83177.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83185.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83183.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83183.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83183.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83183.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83183.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83183.4]
endmodule
module PeripheryBus_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83187.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83188.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83189.4]
  input         auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_spi_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_spi_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_spi_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [7:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [30:0] auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [7:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [7:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [7:0]  auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [29:0] auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [5:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [28:0] auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_from_cbus_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_from_cbus_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_from_cbus_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [2:0]  auto_from_cbus_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [3:0]  auto_from_cbus_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_from_cbus_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [30:0] auto_from_cbus_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [3:0]  auto_from_cbus_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input  [31:0] auto_from_cbus_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_from_cbus_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  input         auto_from_cbus_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_from_cbus_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [2:0]  auto_from_cbus_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [1:0]  auto_from_cbus_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [3:0]  auto_from_cbus_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_from_cbus_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_from_cbus_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_from_cbus_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output [31:0] auto_from_cbus_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
  output        auto_from_cbus_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83190.4]
);
  wire  in_xbar_clock; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_reset; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [30:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [30:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.4]
  wire  out_xbar_clock; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_reset; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [30:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_13_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_13_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_13_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_13_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_13_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_13_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_13_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_13_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_13_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_13_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_12_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_12_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_12_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_12_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_12_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_12_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_12_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_12_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_12_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_12_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_11_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_11_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_11_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_11_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_11_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_11_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_11_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_11_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_11_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_11_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_10_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_10_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_10_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_10_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_10_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_10_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_10_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_10_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_10_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_10_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_9_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_9_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_9_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [30:0] out_xbar_auto_out_9_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_9_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_9_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_9_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_9_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_9_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_9_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_8_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_8_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_8_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_8_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_8_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_8_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_8_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_8_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_8_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_8_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_7_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_7_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_7_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [29:0] out_xbar_auto_out_7_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_7_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_7_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_7_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_7_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_5_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_5_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [28:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [13:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@83201.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [30:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [30:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83207.4]
  wire  atomics_clock; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_reset; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [30:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [30:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83213.4]
  wire  wrapped_error_device_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [2:0] wrapped_error_device_auto_error_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [2:0] wrapped_error_device_auto_error_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [3:0] wrapped_error_device_auto_error_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [13:0] wrapped_error_device_auto_error_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [3:0] wrapped_error_device_auto_error_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [2:0] wrapped_error_device_auto_error_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire [3:0] wrapped_error_device_auto_error_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  wrapped_error_device_auto_error_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83219.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [30:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [30:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83231.4]
  wire  coupler_to_slave_named_uart_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [28:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [3:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [31:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire [31:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.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@83237.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@83237.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@83237.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@83237.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@83237.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@83237.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@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83237.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@83237.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@83237.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@83237.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@83237.4]
  wire  coupler_to_slave_named_uart_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [28:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [3:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [31:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire [31:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.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@83243.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@83243.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@83243.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@83243.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@83243.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@83243.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@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83243.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@83243.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@83243.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@83243.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@83243.4]
  wire  coupler_to_slave_named_uart_2_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [28:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [3:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [31:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire [31:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.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@83249.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@83249.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@83249.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@83249.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@83249.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@83249.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@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83249.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@83249.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@83249.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@83249.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@83249.4]
  wire  coupler_to_slave_named_uart_3_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [28:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [3:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [31:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire [31:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.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@83255.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@83255.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@83255.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@83255.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@83255.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@83255.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@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83255.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@83255.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@83255.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@83255.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@83255.4]
  wire  coupler_to_slave_named_uart_4_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [28:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [3:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [31:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire [31:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.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@83261.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@83261.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@83261.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@83261.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@83261.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@83261.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@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83261.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@83261.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@83261.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@83261.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@83261.4]
  wire  coupler_to_device_named_qspi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [28:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [3:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [31:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire [31:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.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@83267.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@83267.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@83267.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@83267.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@83267.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@83267.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@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83267.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@83267.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@83267.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@83267.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@83267.4]
  wire  coupler_to_mem_named_qspi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [29:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [3:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire [31:0] coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.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@83273.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@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.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@83273.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@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83273.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@83273.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@83273.4]
  wire  coupler_to_device_named_qspi_ram_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [28:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [1:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [5:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [28:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [1:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [5:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
  wire  coupler_to_mem_named_qspi_ram_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [30:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [3:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [31:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [31:0] coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [7:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [30:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [7:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [2:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [7:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire [7:0] coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
  wire  coupler_to_device_named_spi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [28:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [3:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [31:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire [31:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.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@83291.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@83291.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@83291.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@83291.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@83291.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@83291.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@83291.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.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@83291.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@83291.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@83291.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@83291.4]
  wire  coupler_to_device_named_gpio_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [28:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [3:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [31:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire [31:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.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@83297.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@83297.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@83297.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@83297.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@83297.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@83297.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@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.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@83297.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@83297.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@83297.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@83297.4]
  wire  coupler_to_device_named_i2c_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [28:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [3:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [31:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire [31:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.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@83303.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@83303.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@83303.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@83303.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@83303.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@83303.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@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.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@83303.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@83303.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@83303.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@83303.4]
  wire  coupler_to_device_named_i2c_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [28:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [3:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [31:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire [31:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.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@83309.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@83309.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@83309.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@83309.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@83309.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@83309.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@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.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@83309.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@83309.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@83309.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@83309.4]
  TLXbar_3 in_xbar ( // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83195.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@83201.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_13_a_ready(out_xbar_auto_out_13_a_ready),
    .auto_out_13_a_valid(out_xbar_auto_out_13_a_valid),
    .auto_out_13_a_bits_opcode(out_xbar_auto_out_13_a_bits_opcode),
    .auto_out_13_a_bits_param(out_xbar_auto_out_13_a_bits_param),
    .auto_out_13_a_bits_size(out_xbar_auto_out_13_a_bits_size),
    .auto_out_13_a_bits_source(out_xbar_auto_out_13_a_bits_source),
    .auto_out_13_a_bits_address(out_xbar_auto_out_13_a_bits_address),
    .auto_out_13_a_bits_mask(out_xbar_auto_out_13_a_bits_mask),
    .auto_out_13_a_bits_data(out_xbar_auto_out_13_a_bits_data),
    .auto_out_13_a_bits_corrupt(out_xbar_auto_out_13_a_bits_corrupt),
    .auto_out_13_d_ready(out_xbar_auto_out_13_d_ready),
    .auto_out_13_d_valid(out_xbar_auto_out_13_d_valid),
    .auto_out_13_d_bits_opcode(out_xbar_auto_out_13_d_bits_opcode),
    .auto_out_13_d_bits_size(out_xbar_auto_out_13_d_bits_size),
    .auto_out_13_d_bits_source(out_xbar_auto_out_13_d_bits_source),
    .auto_out_13_d_bits_data(out_xbar_auto_out_13_d_bits_data),
    .auto_out_12_a_ready(out_xbar_auto_out_12_a_ready),
    .auto_out_12_a_valid(out_xbar_auto_out_12_a_valid),
    .auto_out_12_a_bits_opcode(out_xbar_auto_out_12_a_bits_opcode),
    .auto_out_12_a_bits_param(out_xbar_auto_out_12_a_bits_param),
    .auto_out_12_a_bits_size(out_xbar_auto_out_12_a_bits_size),
    .auto_out_12_a_bits_source(out_xbar_auto_out_12_a_bits_source),
    .auto_out_12_a_bits_address(out_xbar_auto_out_12_a_bits_address),
    .auto_out_12_a_bits_mask(out_xbar_auto_out_12_a_bits_mask),
    .auto_out_12_a_bits_data(out_xbar_auto_out_12_a_bits_data),
    .auto_out_12_a_bits_corrupt(out_xbar_auto_out_12_a_bits_corrupt),
    .auto_out_12_d_ready(out_xbar_auto_out_12_d_ready),
    .auto_out_12_d_valid(out_xbar_auto_out_12_d_valid),
    .auto_out_12_d_bits_opcode(out_xbar_auto_out_12_d_bits_opcode),
    .auto_out_12_d_bits_size(out_xbar_auto_out_12_d_bits_size),
    .auto_out_12_d_bits_source(out_xbar_auto_out_12_d_bits_source),
    .auto_out_12_d_bits_data(out_xbar_auto_out_12_d_bits_data),
    .auto_out_11_a_ready(out_xbar_auto_out_11_a_ready),
    .auto_out_11_a_valid(out_xbar_auto_out_11_a_valid),
    .auto_out_11_a_bits_opcode(out_xbar_auto_out_11_a_bits_opcode),
    .auto_out_11_a_bits_param(out_xbar_auto_out_11_a_bits_param),
    .auto_out_11_a_bits_size(out_xbar_auto_out_11_a_bits_size),
    .auto_out_11_a_bits_source(out_xbar_auto_out_11_a_bits_source),
    .auto_out_11_a_bits_address(out_xbar_auto_out_11_a_bits_address),
    .auto_out_11_a_bits_mask(out_xbar_auto_out_11_a_bits_mask),
    .auto_out_11_a_bits_data(out_xbar_auto_out_11_a_bits_data),
    .auto_out_11_a_bits_corrupt(out_xbar_auto_out_11_a_bits_corrupt),
    .auto_out_11_d_ready(out_xbar_auto_out_11_d_ready),
    .auto_out_11_d_valid(out_xbar_auto_out_11_d_valid),
    .auto_out_11_d_bits_opcode(out_xbar_auto_out_11_d_bits_opcode),
    .auto_out_11_d_bits_size(out_xbar_auto_out_11_d_bits_size),
    .auto_out_11_d_bits_source(out_xbar_auto_out_11_d_bits_source),
    .auto_out_11_d_bits_data(out_xbar_auto_out_11_d_bits_data),
    .auto_out_10_a_ready(out_xbar_auto_out_10_a_ready),
    .auto_out_10_a_valid(out_xbar_auto_out_10_a_valid),
    .auto_out_10_a_bits_opcode(out_xbar_auto_out_10_a_bits_opcode),
    .auto_out_10_a_bits_param(out_xbar_auto_out_10_a_bits_param),
    .auto_out_10_a_bits_size(out_xbar_auto_out_10_a_bits_size),
    .auto_out_10_a_bits_source(out_xbar_auto_out_10_a_bits_source),
    .auto_out_10_a_bits_address(out_xbar_auto_out_10_a_bits_address),
    .auto_out_10_a_bits_mask(out_xbar_auto_out_10_a_bits_mask),
    .auto_out_10_a_bits_data(out_xbar_auto_out_10_a_bits_data),
    .auto_out_10_a_bits_corrupt(out_xbar_auto_out_10_a_bits_corrupt),
    .auto_out_10_d_ready(out_xbar_auto_out_10_d_ready),
    .auto_out_10_d_valid(out_xbar_auto_out_10_d_valid),
    .auto_out_10_d_bits_opcode(out_xbar_auto_out_10_d_bits_opcode),
    .auto_out_10_d_bits_size(out_xbar_auto_out_10_d_bits_size),
    .auto_out_10_d_bits_source(out_xbar_auto_out_10_d_bits_source),
    .auto_out_10_d_bits_data(out_xbar_auto_out_10_d_bits_data),
    .auto_out_9_a_ready(out_xbar_auto_out_9_a_ready),
    .auto_out_9_a_valid(out_xbar_auto_out_9_a_valid),
    .auto_out_9_a_bits_opcode(out_xbar_auto_out_9_a_bits_opcode),
    .auto_out_9_a_bits_param(out_xbar_auto_out_9_a_bits_param),
    .auto_out_9_a_bits_size(out_xbar_auto_out_9_a_bits_size),
    .auto_out_9_a_bits_source(out_xbar_auto_out_9_a_bits_source),
    .auto_out_9_a_bits_address(out_xbar_auto_out_9_a_bits_address),
    .auto_out_9_a_bits_mask(out_xbar_auto_out_9_a_bits_mask),
    .auto_out_9_a_bits_data(out_xbar_auto_out_9_a_bits_data),
    .auto_out_9_a_bits_corrupt(out_xbar_auto_out_9_a_bits_corrupt),
    .auto_out_9_d_ready(out_xbar_auto_out_9_d_ready),
    .auto_out_9_d_valid(out_xbar_auto_out_9_d_valid),
    .auto_out_9_d_bits_opcode(out_xbar_auto_out_9_d_bits_opcode),
    .auto_out_9_d_bits_size(out_xbar_auto_out_9_d_bits_size),
    .auto_out_9_d_bits_source(out_xbar_auto_out_9_d_bits_source),
    .auto_out_9_d_bits_data(out_xbar_auto_out_9_d_bits_data),
    .auto_out_9_d_bits_corrupt(out_xbar_auto_out_9_d_bits_corrupt),
    .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@83207.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@83213.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@83219.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@83231.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@83237.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@83243.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@83249.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@83255.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@83261.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@83267.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@83273.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_qspi_ram_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83279.4]
    .clock(coupler_to_device_named_qspi_ram_0_clock),
    .reset(coupler_to_device_named_qspi_ram_0_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_21 coupler_to_mem_named_qspi_ram_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83285.4]
    .clock(coupler_to_mem_named_qspi_ram_0_clock),
    .reset(coupler_to_mem_named_qspi_ram_0_reset),
    .auto_widget_in_a_ready(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_ready),
    .auto_widget_in_a_valid(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_valid),
    .auto_widget_in_a_bits_opcode(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_opcode),
    .auto_widget_in_a_bits_param(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_param),
    .auto_widget_in_a_bits_size(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_size),
    .auto_widget_in_a_bits_source(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_source),
    .auto_widget_in_a_bits_address(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_address),
    .auto_widget_in_a_bits_mask(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_mask),
    .auto_widget_in_a_bits_data(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_data),
    .auto_widget_in_a_bits_corrupt(coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_corrupt),
    .auto_widget_in_d_ready(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_ready),
    .auto_widget_in_d_valid(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_valid),
    .auto_widget_in_d_bits_opcode(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_opcode),
    .auto_widget_in_d_bits_size(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_size),
    .auto_widget_in_d_bits_source(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_source),
    .auto_widget_in_d_bits_data(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_data),
    .auto_widget_in_d_bits_corrupt(coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_corrupt),
    .auto_mem_xing_out_a_ready(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_ready),
    .auto_mem_xing_out_a_valid(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_valid),
    .auto_mem_xing_out_a_bits_opcode(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_opcode),
    .auto_mem_xing_out_a_bits_param(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_param),
    .auto_mem_xing_out_a_bits_size(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_size),
    .auto_mem_xing_out_a_bits_source(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_source),
    .auto_mem_xing_out_a_bits_address(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_address),
    .auto_mem_xing_out_a_bits_mask(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_mask),
    .auto_mem_xing_out_a_bits_data(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_data),
    .auto_mem_xing_out_a_bits_corrupt(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_corrupt),
    .auto_mem_xing_out_d_ready(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_ready),
    .auto_mem_xing_out_d_valid(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_valid),
    .auto_mem_xing_out_d_bits_opcode(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_opcode),
    .auto_mem_xing_out_d_bits_size(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_size),
    .auto_mem_xing_out_d_bits_source(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_source),
    .auto_mem_xing_out_d_bits_data(coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_data)
  );
  SimpleLazyModule_22 coupler_to_device_named_spi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83291.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_23 coupler_to_device_named_gpio_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83297.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_24 coupler_to_device_named_i2c_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83303.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_25 coupler_to_device_named_i2c_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83309.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@83352.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@83352.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@83352.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@83352.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@83352.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@83352.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@83352.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@83352.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@83352.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@83352.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@83351.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@83351.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@83351.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@83351.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@83351.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@83351.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@83351.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@83351.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@83351.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@83351.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@83350.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@83350.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@83350.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@83350.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@83350.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@83350.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@83350.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@83350.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@83350.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@83350.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@83349.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@83349.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@83349.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@83349.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@83349.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@83349.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@83349.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@83349.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@83349.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@83349.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_valid = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_opcode = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_param = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_size = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_source = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_address = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_mask = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_data = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_corrupt = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_ready = coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready = coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.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@83346.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@83346.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@83346.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@83346.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@83346.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@83346.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@83346.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@83346.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@83346.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@83345.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@83345.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@83345.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@83345.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@83345.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@83345.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@83345.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@83345.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@83345.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@83345.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@83344.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@83344.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@83344.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@83344.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@83344.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@83344.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@83344.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@83344.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@83344.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@83344.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@83343.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@83343.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@83343.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@83343.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@83343.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@83343.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@83343.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@83343.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@83343.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@83343.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@83342.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@83342.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@83342.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@83342.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@83342.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@83342.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@83342.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@83342.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@83342.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@83342.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@83341.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@83341.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@83341.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@83341.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@83341.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@83341.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@83341.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@83341.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@83341.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@83341.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@83340.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@83340.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@83340.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@83340.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@83340.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@83340.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@83340.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@83340.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@83340.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@83340.4]
  assign auto_from_cbus_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign auto_from_cbus_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83339.4]
  assign in_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83199.4]
  assign in_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83200.4]
  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign out_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83205.4]
  assign out_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83206.4]
  assign out_xbar_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign out_xbar_auto_out_13_a_ready = coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign out_xbar_auto_out_13_d_valid = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign out_xbar_auto_out_13_d_bits_opcode = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign out_xbar_auto_out_13_d_bits_size = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign out_xbar_auto_out_13_d_bits_source = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign out_xbar_auto_out_13_d_bits_data = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign out_xbar_auto_out_12_a_ready = coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign out_xbar_auto_out_12_d_valid = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign out_xbar_auto_out_12_d_bits_opcode = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign out_xbar_auto_out_12_d_bits_size = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign out_xbar_auto_out_12_d_bits_source = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign out_xbar_auto_out_12_d_bits_data = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign out_xbar_auto_out_11_a_ready = coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign out_xbar_auto_out_11_d_valid = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign out_xbar_auto_out_11_d_bits_opcode = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign out_xbar_auto_out_11_d_bits_size = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign out_xbar_auto_out_11_d_bits_source = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign out_xbar_auto_out_11_d_bits_data = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign out_xbar_auto_out_10_a_ready = coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign out_xbar_auto_out_10_d_valid = coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign out_xbar_auto_out_10_d_bits_opcode = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign out_xbar_auto_out_10_d_bits_size = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign out_xbar_auto_out_10_d_bits_source = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign out_xbar_auto_out_10_d_bits_data = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign out_xbar_auto_out_9_a_ready = coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_9_d_valid = coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_9_d_bits_opcode = coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_9_d_bits_size = coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_9_d_bits_source = coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_9_d_bits_data = coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_9_d_bits_corrupt = coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign out_xbar_auto_out_8_a_ready = coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign out_xbar_auto_out_8_d_valid = coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign out_xbar_auto_out_8_d_bits_opcode = coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign out_xbar_auto_out_8_d_bits_size = coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign out_xbar_auto_out_8_d_bits_source = coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign out_xbar_auto_out_8_d_bits_data = coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.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@83328.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@83328.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@83328.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@83328.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@83328.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@83328.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@83327.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@83327.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@83327.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@83327.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@83327.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@83327.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@83326.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@83326.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@83326.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@83326.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@83326.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@83326.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@83325.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@83325.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@83325.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@83325.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@83325.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@83325.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@83324.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@83324.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@83324.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@83324.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@83324.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@83324.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@83323.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@83323.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@83323.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@83323.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@83323.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@83323.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@83322.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@83322.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@83322.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@83322.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@83322.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@83322.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@83321.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@83321.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@83321.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@83321.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@83321.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@83321.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83211.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83212.4]
  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign buffer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign buffer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83335.4]
  assign atomics_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83217.4]
  assign atomics_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83218.4]
  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83320.4]
  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83336.4]
  assign wrapped_error_device_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83223.4]
  assign wrapped_error_device_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83224.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@83321.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@83321.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@83321.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@83321.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@83321.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@83321.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@83321.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@83321.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@83321.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83235.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83236.4]
  assign buffer_1_auto_in_a_valid = auto_from_cbus_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_from_cbus_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_param = auto_from_cbus_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_size = auto_from_cbus_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_source = auto_from_cbus_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_address = auto_from_cbus_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_mask = auto_from_cbus_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_data = auto_from_cbus_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_from_cbus_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_in_d_ready = auto_from_cbus_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83338.4]
  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83337.4]
  assign coupler_to_slave_named_uart_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83241.4]
  assign coupler_to_slave_named_uart_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83242.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@83322.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@83322.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@83322.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@83322.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@83322.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@83322.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@83322.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@83322.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@83322.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@83322.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@83340.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@83340.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@83340.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@83340.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@83340.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@83340.4]
  assign coupler_to_slave_named_uart_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83247.4]
  assign coupler_to_slave_named_uart_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83248.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@83323.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@83323.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@83323.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@83323.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@83323.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@83323.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@83323.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@83323.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@83323.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@83323.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@83341.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@83341.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@83341.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@83341.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@83341.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@83341.4]
  assign coupler_to_slave_named_uart_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83253.4]
  assign coupler_to_slave_named_uart_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83254.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@83324.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@83324.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@83324.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@83324.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@83324.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@83324.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@83324.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@83324.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@83324.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@83324.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@83342.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@83342.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@83342.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@83342.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@83342.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@83342.4]
  assign coupler_to_slave_named_uart_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83259.4]
  assign coupler_to_slave_named_uart_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83260.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@83325.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@83325.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@83325.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@83325.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@83325.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@83325.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@83325.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@83325.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@83325.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@83325.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@83343.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@83343.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@83343.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@83343.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@83343.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@83343.4]
  assign coupler_to_slave_named_uart_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83265.4]
  assign coupler_to_slave_named_uart_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83266.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@83326.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@83326.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@83326.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@83326.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@83326.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@83326.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@83326.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@83326.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@83326.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@83326.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@83344.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@83344.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@83344.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@83344.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@83344.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@83344.4]
  assign coupler_to_device_named_qspi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83271.4]
  assign coupler_to_device_named_qspi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83272.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@83327.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@83327.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@83327.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@83327.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@83327.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@83327.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@83327.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@83327.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@83327.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@83327.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@83345.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@83345.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@83345.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@83345.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@83345.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@83345.4]
  assign coupler_to_mem_named_qspi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83277.4]
  assign coupler_to_mem_named_qspi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83278.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@83328.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@83328.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@83328.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@83328.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@83328.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@83328.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@83328.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@83328.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@83328.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@83346.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@83346.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@83346.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@83346.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@83346.4]
  assign coupler_to_device_named_qspi_ram_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83283.4]
  assign coupler_to_device_named_qspi_ram_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83284.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_8_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_8_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_8_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_8_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_8_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_8_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_8_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_8_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_8_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_8_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83329.4]
  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83347.4]
  assign coupler_to_mem_named_qspi_ram_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83289.4]
  assign coupler_to_mem_named_qspi_ram_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83290.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_valid = out_xbar_auto_out_9_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_opcode = out_xbar_auto_out_9_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_param = out_xbar_auto_out_9_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_size = out_xbar_auto_out_9_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_source = out_xbar_auto_out_9_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_address = out_xbar_auto_out_9_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_mask = out_xbar_auto_out_9_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_data = out_xbar_auto_out_9_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_a_bits_corrupt = out_xbar_auto_out_9_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_widget_in_d_ready = out_xbar_auto_out_9_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83330.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_a_ready = auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_valid = auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_opcode = auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_size = auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_source = auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign coupler_to_mem_named_qspi_ram_0_auto_mem_xing_out_d_bits_data = auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83348.4]
  assign coupler_to_device_named_spi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83295.4]
  assign coupler_to_device_named_spi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83296.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_10_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_10_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_10_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_10_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_10_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_10_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_10_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_10_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_10_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_10_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83331.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@83349.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@83349.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@83349.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@83349.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@83349.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@83349.4]
  assign coupler_to_device_named_gpio_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83301.4]
  assign coupler_to_device_named_gpio_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83302.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_11_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_11_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_11_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_11_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_11_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_11_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_11_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_11_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_11_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_11_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83332.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@83350.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@83350.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@83350.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@83350.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@83350.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@83350.4]
  assign coupler_to_device_named_i2c_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83307.4]
  assign coupler_to_device_named_i2c_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83308.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_12_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_12_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_12_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_12_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_12_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_12_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_12_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_12_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_12_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_12_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83333.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@83351.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@83351.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@83351.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@83351.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@83351.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@83351.4]
  assign coupler_to_device_named_i2c_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83313.4]
  assign coupler_to_device_named_i2c_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83314.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_13_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_13_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_13_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_13_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_13_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_13_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_13_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_13_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_13_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_13_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@83334.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@83352.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@83352.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@83352.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@83352.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@83352.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@83352.4]
endmodule
module TLMonitor_49( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83480.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83481.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83482.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@83483.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@84621.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83510.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@83511.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83512.6]
  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@83513.6]
  wire [27:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@83513.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83514.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83516.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@83517.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@83519.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@83520.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83521.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83522.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@83523.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83525.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83526.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83528.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83529.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83530.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83531.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@83532.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83533.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83534.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83535.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83536.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83537.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83538.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83539.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83540.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83541.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83542.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83543.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83544.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83545.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83546.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83547.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83570.6]
  wire [27:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83573.8]
  wire [28:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83574.8]
  wire [28:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@83575.8]
  wire [28:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@83576.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@83577.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83582.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83603.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83604.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83610.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83611.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83616.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83618.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83619.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@83624.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83625.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83627.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83628.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@83633.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83635.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83636.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83642.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83696.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83698.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83699.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83722.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@83725.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@83733.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83736.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83737.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83756.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83758.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83759.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83764.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83766.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83767.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83781.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83832.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@83874.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83875.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83876.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83878.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83879.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83885.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83916.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83918.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83919.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83933.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@83964.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83966.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83967.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83981.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84031.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84033.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84034.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84051.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84060.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84062.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84063.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84093.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84151.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84341.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84350.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84351.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84352.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84353.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84354.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84365.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84366.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84367.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84368.4]
  reg [31:0] _RAND_4;
  reg [27:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84369.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84370.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@84371.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84373.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84375.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84376.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84381.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84383.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84384.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84389.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84391.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84392.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84397.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84399.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84400.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84405.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84407.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84408.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@84415.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84423.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84431.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84432.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84433.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84434.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84435.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84446.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84448.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84449.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84452.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@84453.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84455.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84457.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84458.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84471.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84473.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84474.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84479.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84481.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84482.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@84505.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84514.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84524.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84525.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84526.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84527.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84528.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84547.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84548.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84549.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84550.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84551.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84566.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@84569.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@84571.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@84572.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84573.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84575.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84576.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@84568.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84587.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@84589.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@84590.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@84592.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@84594.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@84595.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@84596.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84598.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84599.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@84591.4]
  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@84605.4]
  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@84606.4]
  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@84607.4]
  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@84608.4]
  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84610.4]
  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84611.4]
  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84616.4]
  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@84617.4]
  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@84618.4]
  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84620.4]
  reg [31:0] _RAND_13;
  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@84623.4]
  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84624.4]
  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@84625.4]
  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84626.4]
  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@84627.4]
  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@84628.4]
  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84630.4]
  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84631.4]
  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@84637.4]
  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84641.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83584.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83656.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83739.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83798.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83849.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83899.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83947.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83995.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84065.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84106.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84164.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@84621.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@83510.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@83511.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@83512.6]
  assign _GEN_18 = {{26'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@83513.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@83513.6]
  assign _T_40 = _T_39 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83514.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83516.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@83517.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@83519.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@83520.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83521.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83522.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@83523.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83525.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83526.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83528.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83529.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83530.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@83531.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@83532.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83533.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83534.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83535.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83536.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83537.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83538.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83539.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83540.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83541.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83542.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@83543.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@83544.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83545.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83546.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83547.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83570.6]
  assign _T_94 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@83573.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@83574.8]
  assign _T_96 = $signed(_T_95) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@83575.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@83576.8]
  assign _T_98 = $signed(_T_97) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@83577.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83582.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83603.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83604.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83610.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83611.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83616.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83618.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83619.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@83624.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83625.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83627.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83628.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@83633.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83635.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83636.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83642.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83696.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83698.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83699.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83722.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@83725.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@83733.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83736.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83737.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83756.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83758.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83759.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@83764.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83766.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83767.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83781.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83832.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@83874.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@83875.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@83876.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83878.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83879.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83885.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@83916.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83918.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83919.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83933.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@83964.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83966.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83967.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@83981.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84031.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84033.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84034.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84051.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84060.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84062.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84063.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84093.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84151.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84341.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84351.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84352.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84353.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84354.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84370.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@84371.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84373.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84375.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84376.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84381.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84383.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84384.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84389.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84391.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84392.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84397.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84399.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84400.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84405.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84407.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84408.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@84415.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84423.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84432.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84433.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84434.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84435.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84452.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@84453.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84455.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84457.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84458.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84471.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84473.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84474.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@84479.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84481.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84482.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@84505.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84525.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84526.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84527.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84528.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84548.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84549.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@84550.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@84551.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84566.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@84569.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@84571.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@84572.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84573.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84575.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84576.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@84568.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84587.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@84589.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@84590.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@84592.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@84594.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@84595.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@84596.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84598.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84599.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@84591.4]
  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@84605.4]
  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@84606.4]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@84607.4]
  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@84608.4]
  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84610.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84611.4]
  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84616.4]
  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@84617.4]
  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@84618.4]
  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@84623.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@84624.4]
  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@84625.4]
  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84626.4]
  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@84627.4]
  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@84628.4]
  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84630.4]
  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@84631.4]
  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@84637.4]
  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@84641.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83584.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83656.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83739.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83798.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83849.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83899.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83947.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@83995.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84065.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84106.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@84164.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@83495.8]
        end
    `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@83496.8]
        end
    `ifdef STOP_COND
      end
    `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@83567.8]
        end
    `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@83568.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@83584.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@83585.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@83591.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@83592.10]
        end
    `ifdef STOP_COND
      end
    `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@83598.10]
        end
    `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@83599.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@83606.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@83607.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@83613.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@83614.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@83621.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@83622.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@83630.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@83631.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@83638.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@83639.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@83656.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@83657.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@83663.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@83664.10]
        end
    `ifdef STOP_COND
      end
    `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@83670.10]
        end
    `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@83671.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@83678.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@83679.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@83685.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@83686.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@83693.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@83694.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@83701.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@83702.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@83710.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@83711.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@83718.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@83719.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@83739.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@83740.10]
        end
    `ifdef STOP_COND
      end
    `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@83746.10]
        end
    `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@83747.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@83753.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@83754.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@83761.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@83762.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@83769.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@83770.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@83777.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@83778.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@83798.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@83799.10]
        end
    `ifdef STOP_COND
      end
    `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@83805.10]
        end
    `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@83806.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@83812.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@83813.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@83820.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@83821.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@83828.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@83829.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@83849.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@83850.10]
        end
    `ifdef STOP_COND
      end
    `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@83856.10]
        end
    `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@83857.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@83863.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@83864.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@83871.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@83872.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@83881.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@83882.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@83899.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@83900.10]
        end
    `ifdef STOP_COND
      end
    `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@83906.10]
        end
    `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@83907.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@83913.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@83914.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@83921.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@83922.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@83929.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@83930.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@83947.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@83948.10]
        end
    `ifdef STOP_COND
      end
    `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@83954.10]
        end
    `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@83955.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@83961.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@83962.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@83969.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@83970.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@83977.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@83978.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@83995.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@83996.10]
        end
    `ifdef STOP_COND
      end
    `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@84002.10]
        end
    `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@84003.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@84009.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@84010.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@84017.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@84018.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@84025.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@84026.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@84036.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@84037.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84057.10]
        end
    `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@84058.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@84065.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@84066.10]
        end
    `ifdef STOP_COND
      end
    `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@84073.10]
        end
    `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@84074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84081.10]
        end
    `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@84082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84089.10]
        end
    `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@84090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84099.10]
        end
    `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@84100.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@84106.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@84107.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@84114.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@84115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84122.10]
        end
    `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@84123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84130.10]
        end
    `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@84131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84138.10]
        end
    `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@84139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84147.10]
        end
    `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@84148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84157.10]
        end
    `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@84158.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@84164.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@84165.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@84172.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@84173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84180.10]
        end
    `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@84181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84188.10]
        end
    `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@84189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@84197.10]
        end
    `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@84198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@84206.10]
        end
    `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@84207.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84216.10]
        end
    `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@84217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84224.10]
        end
    `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@84225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84232.10]
        end
    `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@84233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84241.10]
        end
    `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@84242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84251.10]
        end
    `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@84252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84259.10]
        end
    `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@84260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@84268.10]
        end
    `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@84269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@84277.10]
        end
    `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@84278.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84287.10]
        end
    `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@84288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@84295.10]
        end
    `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@84296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84303.10]
        end
    `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@84304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@84312.10]
        end
    `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@84313.10]
        end
    `ifdef STOP_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@84322.6]
        end
    `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@84323.6]
        end
    `ifdef STOP_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@84330.6]
        end
    `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@84331.6]
        end
    `ifdef STOP_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@84338.6]
        end
    `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@84339.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@84378.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@84379.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@84386.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@84387.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@84394.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@84395.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@84402.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@84403.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@84410.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@84411.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@84460.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@84461.8]
        end
    `ifdef STOP_COND
      end
    `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@84468.8]
        end
    `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@84469.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@84476.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@84477.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@84484.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@84485.8]
        end
    `ifdef STOP_COND
      end
    `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@84492.8]
        end
    `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@84493.8]
        end
    `ifdef STOP_COND
      end
    `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@84500.8]
        end
    `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@84501.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@84578.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@84579.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@84601.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@84602.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@84613.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@84614.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@84633.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@84634.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module LevelGateway( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84646.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84647.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84648.4]
  input   io_interrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84649.4]
  output  io_plic_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84649.4]
  input   io_plic_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84649.4]
  input   io_plic_complete // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@84649.4]
);
  reg  inFlight; // @[Plic.scala 30:21:shc.marmotcaravel.MarmotCaravelConfig.fir@84654.4]
  reg [31:0] _RAND_0;
  wire  _T_9; // @[Plic.scala 31:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84655.4]
  wire  _T_10; // @[Plic.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@84662.4]
  assign _T_9 = io_interrupt & io_plic_ready; // @[Plic.scala 31:22:shc.marmotcaravel.MarmotCaravelConfig.fir@84655.4]
  assign _T_10 = inFlight == 1'h0; // @[Plic.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@84662.4]
  assign io_plic_valid = io_interrupt & _T_10; // @[Plic.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@84664.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@85526.2]
  input  [2:0]  io_prio_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [2:0]  io_prio_43, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  input  [43:0] io_ip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  output [5:0]  io_dev, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
  output [2:0]  io_max // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85529.4]
);
  wire  _T_54; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85535.4]
  wire  _T_55; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85536.4]
  wire  _T_56; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85537.4]
  wire  _T_57; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85538.4]
  wire  _T_58; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85539.4]
  wire  _T_59; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85540.4]
  wire  _T_60; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85541.4]
  wire  _T_61; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85542.4]
  wire  _T_62; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85543.4]
  wire  _T_63; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85544.4]
  wire  _T_64; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85545.4]
  wire  _T_65; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85546.4]
  wire  _T_66; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85547.4]
  wire  _T_67; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85548.4]
  wire  _T_68; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85549.4]
  wire  _T_69; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85550.4]
  wire  _T_70; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85551.4]
  wire  _T_71; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85552.4]
  wire  _T_72; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85553.4]
  wire  _T_73; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85554.4]
  wire  _T_74; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85555.4]
  wire  _T_75; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85556.4]
  wire  _T_76; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85557.4]
  wire  _T_77; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85558.4]
  wire  _T_78; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85559.4]
  wire  _T_79; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85560.4]
  wire  _T_80; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85561.4]
  wire  _T_81; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85562.4]
  wire  _T_82; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85563.4]
  wire  _T_83; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85564.4]
  wire  _T_84; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85565.4]
  wire  _T_85; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85566.4]
  wire  _T_86; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85567.4]
  wire  _T_87; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85568.4]
  wire  _T_88; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85569.4]
  wire  _T_89; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85570.4]
  wire  _T_90; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85571.4]
  wire  _T_91; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85572.4]
  wire  _T_92; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85573.4]
  wire  _T_93; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85574.4]
  wire  _T_94; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85575.4]
  wire  _T_95; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85576.4]
  wire  _T_96; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85577.4]
  wire  _T_97; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85578.4]
  wire [3:0] effectivePriority_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85579.4]
  wire [3:0] effectivePriority_2; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85580.4]
  wire [3:0] effectivePriority_3; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85581.4]
  wire [3:0] effectivePriority_4; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85582.4]
  wire [3:0] effectivePriority_5; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85583.4]
  wire [3:0] effectivePriority_6; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85584.4]
  wire [3:0] effectivePriority_7; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85585.4]
  wire [3:0] effectivePriority_8; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85586.4]
  wire [3:0] effectivePriority_9; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85587.4]
  wire [3:0] effectivePriority_10; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85588.4]
  wire [3:0] effectivePriority_11; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85589.4]
  wire [3:0] effectivePriority_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85590.4]
  wire [3:0] effectivePriority_13; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85591.4]
  wire [3:0] effectivePriority_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85592.4]
  wire [3:0] effectivePriority_15; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85593.4]
  wire [3:0] effectivePriority_16; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85594.4]
  wire [3:0] effectivePriority_17; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85595.4]
  wire [3:0] effectivePriority_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85596.4]
  wire [3:0] effectivePriority_19; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85597.4]
  wire [3:0] effectivePriority_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85598.4]
  wire [3:0] effectivePriority_21; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85599.4]
  wire [3:0] effectivePriority_22; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85600.4]
  wire [3:0] effectivePriority_23; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85601.4]
  wire [3:0] effectivePriority_24; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85602.4]
  wire [3:0] effectivePriority_25; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85603.4]
  wire [3:0] effectivePriority_26; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85604.4]
  wire [3:0] effectivePriority_27; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85605.4]
  wire [3:0] effectivePriority_28; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85606.4]
  wire [3:0] effectivePriority_29; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85607.4]
  wire [3:0] effectivePriority_30; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85608.4]
  wire [3:0] effectivePriority_31; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85609.4]
  wire [3:0] effectivePriority_32; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85610.4]
  wire [3:0] effectivePriority_33; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85611.4]
  wire [3:0] effectivePriority_34; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85612.4]
  wire [3:0] effectivePriority_35; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85613.4]
  wire [3:0] effectivePriority_36; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85614.4]
  wire [3:0] effectivePriority_37; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85615.4]
  wire [3:0] effectivePriority_38; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85616.4]
  wire [3:0] effectivePriority_39; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85617.4]
  wire [3:0] effectivePriority_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85618.4]
  wire [3:0] effectivePriority_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85619.4]
  wire [3:0] effectivePriority_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85620.4]
  wire [3:0] effectivePriority_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85621.4]
  wire [3:0] effectivePriority_44; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85622.4]
  wire  _T_98; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85623.4]
  wire [3:0] _T_100; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85625.4]
  wire  _T_101; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85626.4]
  wire  _T_102; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85627.4]
  wire [3:0] _T_104; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85629.4]
  wire  _T_105; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85630.4]
  wire  _T_106; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85631.4]
  wire [1:0] _GEN_0; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85632.4]
  wire [1:0] _T_107; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85632.4]
  wire [3:0] _T_108; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85633.4]
  wire [1:0] _T_109; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85634.4]
  wire  _T_110; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85635.4]
  wire [3:0] _T_112; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85637.4]
  wire  _T_113; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85638.4]
  wire  _T_114; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85639.4]
  wire [3:0] _T_116; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85641.4]
  wire  _T_117; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85642.4]
  wire  _T_118; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85643.4]
  wire [1:0] _GEN_1; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85644.4]
  wire [1:0] _T_119; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85644.4]
  wire [3:0] _T_120; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85645.4]
  wire [1:0] _T_121; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85646.4]
  wire  _T_122; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85647.4]
  wire [2:0] _GEN_2; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85648.4]
  wire [2:0] _T_123; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85648.4]
  wire [3:0] _T_124; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85649.4]
  wire [2:0] _T_125; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85650.4]
  wire  _T_126; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85651.4]
  wire [3:0] _T_128; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85653.4]
  wire  _T_129; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85654.4]
  wire  _T_130; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85655.4]
  wire [3:0] _T_132; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85657.4]
  wire  _T_133; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85658.4]
  wire  _T_134; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85659.4]
  wire [1:0] _GEN_3; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85660.4]
  wire [1:0] _T_135; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85660.4]
  wire [3:0] _T_136; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85661.4]
  wire [1:0] _T_137; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85662.4]
  wire  _T_138; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85663.4]
  wire [3:0] _T_140; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85665.4]
  wire  _T_141; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85666.4]
  wire  _T_142; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85667.4]
  wire [3:0] _T_144; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85669.4]
  wire  _T_145; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85670.4]
  wire  _T_146; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85671.4]
  wire [1:0] _GEN_4; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85672.4]
  wire [1:0] _T_147; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85672.4]
  wire [3:0] _T_148; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85673.4]
  wire [1:0] _T_149; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85674.4]
  wire  _T_150; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85675.4]
  wire [2:0] _GEN_5; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85676.4]
  wire [2:0] _T_151; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85676.4]
  wire [3:0] _T_152; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85677.4]
  wire [2:0] _T_153; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85678.4]
  wire  _T_154; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85679.4]
  wire [3:0] _GEN_6; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85680.4]
  wire [3:0] _T_155; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85680.4]
  wire [3:0] _T_156; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85681.4]
  wire [3:0] _T_157; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85682.4]
  wire  _T_158; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85683.4]
  wire [3:0] _T_160; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85685.4]
  wire  _T_161; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85686.4]
  wire  _T_162; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85687.4]
  wire [3:0] _T_164; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85689.4]
  wire  _T_165; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85690.4]
  wire  _T_166; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85691.4]
  wire [1:0] _GEN_7; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85692.4]
  wire [1:0] _T_167; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85692.4]
  wire [3:0] _T_168; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85693.4]
  wire [1:0] _T_169; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85694.4]
  wire  _T_170; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85695.4]
  wire [3:0] _T_172; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85697.4]
  wire  _T_173; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85698.4]
  wire  _T_174; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85699.4]
  wire [3:0] _T_176; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85701.4]
  wire  _T_177; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85702.4]
  wire  _T_178; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85703.4]
  wire [1:0] _GEN_8; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85704.4]
  wire [1:0] _T_179; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85704.4]
  wire [3:0] _T_180; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85705.4]
  wire [1:0] _T_181; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85706.4]
  wire  _T_182; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85707.4]
  wire [2:0] _GEN_9; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85708.4]
  wire [2:0] _T_183; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85708.4]
  wire [3:0] _T_184; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85709.4]
  wire [2:0] _T_185; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85710.4]
  wire  _T_186; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85711.4]
  wire [3:0] _T_188; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85713.4]
  wire  _T_189; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85714.4]
  wire  _T_190; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85715.4]
  wire [3:0] _T_192; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85717.4]
  wire  _T_193; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85718.4]
  wire  _T_194; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85719.4]
  wire [1:0] _GEN_10; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85720.4]
  wire [1:0] _T_195; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85720.4]
  wire [3:0] _T_196; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85721.4]
  wire [1:0] _T_197; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85722.4]
  wire  _T_198; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85723.4]
  wire [3:0] _T_200; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85725.4]
  wire  _T_201; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85726.4]
  wire  _T_202; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85727.4]
  wire [3:0] _T_204; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85729.4]
  wire  _T_205; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85730.4]
  wire  _T_206; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85731.4]
  wire [1:0] _GEN_11; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85732.4]
  wire [1:0] _T_207; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85732.4]
  wire [3:0] _T_208; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85733.4]
  wire [1:0] _T_209; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85734.4]
  wire  _T_210; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85735.4]
  wire [2:0] _GEN_12; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85736.4]
  wire [2:0] _T_211; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85736.4]
  wire [3:0] _T_212; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85737.4]
  wire [2:0] _T_213; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85738.4]
  wire  _T_214; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85739.4]
  wire [3:0] _GEN_13; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85740.4]
  wire [3:0] _T_215; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85740.4]
  wire [3:0] _T_216; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85741.4]
  wire [3:0] _T_217; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85742.4]
  wire  _T_218; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85743.4]
  wire [4:0] _GEN_14; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85744.4]
  wire [4:0] _T_219; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85744.4]
  wire [3:0] _T_220; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85745.4]
  wire [4:0] _T_221; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85746.4]
  wire  _T_222; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85747.4]
  wire [3:0] _T_224; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85749.4]
  wire  _T_225; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85750.4]
  wire  _T_226; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85751.4]
  wire [3:0] _T_228; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85753.4]
  wire  _T_229; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85754.4]
  wire  _T_230; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85755.4]
  wire [1:0] _GEN_15; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85756.4]
  wire [1:0] _T_231; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85756.4]
  wire [3:0] _T_232; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85757.4]
  wire [1:0] _T_233; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85758.4]
  wire  _T_234; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85759.4]
  wire [3:0] _T_236; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85761.4]
  wire  _T_237; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85762.4]
  wire  _T_238; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85763.4]
  wire [3:0] _T_240; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85765.4]
  wire  _T_241; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85766.4]
  wire  _T_242; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85767.4]
  wire [1:0] _GEN_16; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85768.4]
  wire [1:0] _T_243; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85768.4]
  wire [3:0] _T_244; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85769.4]
  wire [1:0] _T_245; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85770.4]
  wire  _T_246; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85771.4]
  wire [2:0] _GEN_17; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85772.4]
  wire [2:0] _T_247; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85772.4]
  wire [3:0] _T_248; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85773.4]
  wire [2:0] _T_249; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85774.4]
  wire  _T_250; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85775.4]
  wire [3:0] _T_252; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85777.4]
  wire  _T_253; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85778.4]
  wire  _T_254; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85779.4]
  wire [3:0] _T_256; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85781.4]
  wire  _T_257; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85782.4]
  wire  _T_258; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85783.4]
  wire [1:0] _GEN_18; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85784.4]
  wire [1:0] _T_259; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85784.4]
  wire [3:0] _T_260; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85785.4]
  wire [1:0] _T_261; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85786.4]
  wire  _T_262; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85787.4]
  wire [3:0] _T_264; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85789.4]
  wire [2:0] _T_265; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85790.4]
  wire  _T_266; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85791.4]
  wire [3:0] _GEN_19; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85792.4]
  wire [3:0] _T_267; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85792.4]
  wire [3:0] _T_268; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85793.4]
  wire [3:0] _T_269; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85794.4]
  wire  _T_270; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85795.4]
  wire [5:0] _GEN_20; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85796.4]
  wire [5:0] _T_271; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85796.4]
  wire [3:0] maxPri; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85797.4]
  assign _T_54 = io_ip[0]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85535.4]
  assign _T_55 = io_ip[1]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85536.4]
  assign _T_56 = io_ip[2]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85537.4]
  assign _T_57 = io_ip[3]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85538.4]
  assign _T_58 = io_ip[4]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85539.4]
  assign _T_59 = io_ip[5]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85540.4]
  assign _T_60 = io_ip[6]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85541.4]
  assign _T_61 = io_ip[7]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85542.4]
  assign _T_62 = io_ip[8]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85543.4]
  assign _T_63 = io_ip[9]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85544.4]
  assign _T_64 = io_ip[10]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85545.4]
  assign _T_65 = io_ip[11]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85546.4]
  assign _T_66 = io_ip[12]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85547.4]
  assign _T_67 = io_ip[13]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85548.4]
  assign _T_68 = io_ip[14]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85549.4]
  assign _T_69 = io_ip[15]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85550.4]
  assign _T_70 = io_ip[16]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85551.4]
  assign _T_71 = io_ip[17]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85552.4]
  assign _T_72 = io_ip[18]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85553.4]
  assign _T_73 = io_ip[19]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85554.4]
  assign _T_74 = io_ip[20]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85555.4]
  assign _T_75 = io_ip[21]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85556.4]
  assign _T_76 = io_ip[22]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85557.4]
  assign _T_77 = io_ip[23]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85558.4]
  assign _T_78 = io_ip[24]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85559.4]
  assign _T_79 = io_ip[25]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85560.4]
  assign _T_80 = io_ip[26]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85561.4]
  assign _T_81 = io_ip[27]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85562.4]
  assign _T_82 = io_ip[28]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85563.4]
  assign _T_83 = io_ip[29]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85564.4]
  assign _T_84 = io_ip[30]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85565.4]
  assign _T_85 = io_ip[31]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85566.4]
  assign _T_86 = io_ip[32]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85567.4]
  assign _T_87 = io_ip[33]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85568.4]
  assign _T_88 = io_ip[34]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85569.4]
  assign _T_89 = io_ip[35]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85570.4]
  assign _T_90 = io_ip[36]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85571.4]
  assign _T_91 = io_ip[37]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85572.4]
  assign _T_92 = io_ip[38]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85573.4]
  assign _T_93 = io_ip[39]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85574.4]
  assign _T_94 = io_ip[40]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85575.4]
  assign _T_95 = io_ip[41]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85576.4]
  assign _T_96 = io_ip[42]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85577.4]
  assign _T_97 = io_ip[43]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@85578.4]
  assign effectivePriority_1 = {_T_54,io_prio_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85579.4]
  assign effectivePriority_2 = {_T_55,io_prio_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85580.4]
  assign effectivePriority_3 = {_T_56,io_prio_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85581.4]
  assign effectivePriority_4 = {_T_57,io_prio_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85582.4]
  assign effectivePriority_5 = {_T_58,io_prio_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85583.4]
  assign effectivePriority_6 = {_T_59,io_prio_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85584.4]
  assign effectivePriority_7 = {_T_60,io_prio_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85585.4]
  assign effectivePriority_8 = {_T_61,io_prio_7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85586.4]
  assign effectivePriority_9 = {_T_62,io_prio_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85587.4]
  assign effectivePriority_10 = {_T_63,io_prio_9}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85588.4]
  assign effectivePriority_11 = {_T_64,io_prio_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85589.4]
  assign effectivePriority_12 = {_T_65,io_prio_11}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85590.4]
  assign effectivePriority_13 = {_T_66,io_prio_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85591.4]
  assign effectivePriority_14 = {_T_67,io_prio_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85592.4]
  assign effectivePriority_15 = {_T_68,io_prio_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85593.4]
  assign effectivePriority_16 = {_T_69,io_prio_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85594.4]
  assign effectivePriority_17 = {_T_70,io_prio_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85595.4]
  assign effectivePriority_18 = {_T_71,io_prio_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85596.4]
  assign effectivePriority_19 = {_T_72,io_prio_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85597.4]
  assign effectivePriority_20 = {_T_73,io_prio_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85598.4]
  assign effectivePriority_21 = {_T_74,io_prio_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85599.4]
  assign effectivePriority_22 = {_T_75,io_prio_21}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85600.4]
  assign effectivePriority_23 = {_T_76,io_prio_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85601.4]
  assign effectivePriority_24 = {_T_77,io_prio_23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85602.4]
  assign effectivePriority_25 = {_T_78,io_prio_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85603.4]
  assign effectivePriority_26 = {_T_79,io_prio_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85604.4]
  assign effectivePriority_27 = {_T_80,io_prio_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85605.4]
  assign effectivePriority_28 = {_T_81,io_prio_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85606.4]
  assign effectivePriority_29 = {_T_82,io_prio_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85607.4]
  assign effectivePriority_30 = {_T_83,io_prio_29}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85608.4]
  assign effectivePriority_31 = {_T_84,io_prio_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85609.4]
  assign effectivePriority_32 = {_T_85,io_prio_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85610.4]
  assign effectivePriority_33 = {_T_86,io_prio_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85611.4]
  assign effectivePriority_34 = {_T_87,io_prio_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85612.4]
  assign effectivePriority_35 = {_T_88,io_prio_34}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85613.4]
  assign effectivePriority_36 = {_T_89,io_prio_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85614.4]
  assign effectivePriority_37 = {_T_90,io_prio_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85615.4]
  assign effectivePriority_38 = {_T_91,io_prio_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85616.4]
  assign effectivePriority_39 = {_T_92,io_prio_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85617.4]
  assign effectivePriority_40 = {_T_93,io_prio_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85618.4]
  assign effectivePriority_41 = {_T_94,io_prio_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85619.4]
  assign effectivePriority_42 = {_T_95,io_prio_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85620.4]
  assign effectivePriority_43 = {_T_96,io_prio_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85621.4]
  assign effectivePriority_44 = {_T_97,io_prio_43}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@85622.4]
  assign _T_98 = 4'h8 >= effectivePriority_1; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85623.4]
  assign _T_100 = _T_98 ? 4'h8 : effectivePriority_1; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85625.4]
  assign _T_101 = _T_98 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85626.4]
  assign _T_102 = effectivePriority_2 >= effectivePriority_3; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85627.4]
  assign _T_104 = _T_102 ? effectivePriority_2 : effectivePriority_3; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85629.4]
  assign _T_105 = _T_102 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85630.4]
  assign _T_106 = _T_100 >= _T_104; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85631.4]
  assign _GEN_0 = {{1'd0}, _T_105}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85632.4]
  assign _T_107 = 2'h2 | _GEN_0; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85632.4]
  assign _T_108 = _T_106 ? _T_100 : _T_104; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85633.4]
  assign _T_109 = _T_106 ? {{1'd0}, _T_101} : _T_107; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85634.4]
  assign _T_110 = effectivePriority_4 >= effectivePriority_5; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85635.4]
  assign _T_112 = _T_110 ? effectivePriority_4 : effectivePriority_5; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85637.4]
  assign _T_113 = _T_110 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85638.4]
  assign _T_114 = effectivePriority_6 >= effectivePriority_7; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85639.4]
  assign _T_116 = _T_114 ? effectivePriority_6 : effectivePriority_7; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85641.4]
  assign _T_117 = _T_114 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85642.4]
  assign _T_118 = _T_112 >= _T_116; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85643.4]
  assign _GEN_1 = {{1'd0}, _T_117}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85644.4]
  assign _T_119 = 2'h2 | _GEN_1; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85644.4]
  assign _T_120 = _T_118 ? _T_112 : _T_116; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85645.4]
  assign _T_121 = _T_118 ? {{1'd0}, _T_113} : _T_119; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85646.4]
  assign _T_122 = _T_108 >= _T_120; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85647.4]
  assign _GEN_2 = {{1'd0}, _T_121}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85648.4]
  assign _T_123 = 3'h4 | _GEN_2; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85648.4]
  assign _T_124 = _T_122 ? _T_108 : _T_120; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85649.4]
  assign _T_125 = _T_122 ? {{1'd0}, _T_109} : _T_123; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85650.4]
  assign _T_126 = effectivePriority_8 >= effectivePriority_9; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85651.4]
  assign _T_128 = _T_126 ? effectivePriority_8 : effectivePriority_9; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85653.4]
  assign _T_129 = _T_126 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85654.4]
  assign _T_130 = effectivePriority_10 >= effectivePriority_11; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85655.4]
  assign _T_132 = _T_130 ? effectivePriority_10 : effectivePriority_11; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85657.4]
  assign _T_133 = _T_130 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85658.4]
  assign _T_134 = _T_128 >= _T_132; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85659.4]
  assign _GEN_3 = {{1'd0}, _T_133}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85660.4]
  assign _T_135 = 2'h2 | _GEN_3; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85660.4]
  assign _T_136 = _T_134 ? _T_128 : _T_132; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85661.4]
  assign _T_137 = _T_134 ? {{1'd0}, _T_129} : _T_135; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85662.4]
  assign _T_138 = effectivePriority_12 >= effectivePriority_13; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85663.4]
  assign _T_140 = _T_138 ? effectivePriority_12 : effectivePriority_13; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85665.4]
  assign _T_141 = _T_138 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85666.4]
  assign _T_142 = effectivePriority_14 >= effectivePriority_15; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85667.4]
  assign _T_144 = _T_142 ? effectivePriority_14 : effectivePriority_15; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85669.4]
  assign _T_145 = _T_142 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85670.4]
  assign _T_146 = _T_140 >= _T_144; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85671.4]
  assign _GEN_4 = {{1'd0}, _T_145}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85672.4]
  assign _T_147 = 2'h2 | _GEN_4; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85672.4]
  assign _T_148 = _T_146 ? _T_140 : _T_144; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85673.4]
  assign _T_149 = _T_146 ? {{1'd0}, _T_141} : _T_147; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85674.4]
  assign _T_150 = _T_136 >= _T_148; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85675.4]
  assign _GEN_5 = {{1'd0}, _T_149}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85676.4]
  assign _T_151 = 3'h4 | _GEN_5; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85676.4]
  assign _T_152 = _T_150 ? _T_136 : _T_148; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85677.4]
  assign _T_153 = _T_150 ? {{1'd0}, _T_137} : _T_151; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85678.4]
  assign _T_154 = _T_124 >= _T_152; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85679.4]
  assign _GEN_6 = {{1'd0}, _T_153}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85680.4]
  assign _T_155 = 4'h8 | _GEN_6; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85680.4]
  assign _T_156 = _T_154 ? _T_124 : _T_152; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85681.4]
  assign _T_157 = _T_154 ? {{1'd0}, _T_125} : _T_155; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85682.4]
  assign _T_158 = effectivePriority_16 >= effectivePriority_17; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85683.4]
  assign _T_160 = _T_158 ? effectivePriority_16 : effectivePriority_17; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85685.4]
  assign _T_161 = _T_158 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85686.4]
  assign _T_162 = effectivePriority_18 >= effectivePriority_19; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85687.4]
  assign _T_164 = _T_162 ? effectivePriority_18 : effectivePriority_19; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85689.4]
  assign _T_165 = _T_162 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85690.4]
  assign _T_166 = _T_160 >= _T_164; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85691.4]
  assign _GEN_7 = {{1'd0}, _T_165}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85692.4]
  assign _T_167 = 2'h2 | _GEN_7; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85692.4]
  assign _T_168 = _T_166 ? _T_160 : _T_164; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85693.4]
  assign _T_169 = _T_166 ? {{1'd0}, _T_161} : _T_167; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85694.4]
  assign _T_170 = effectivePriority_20 >= effectivePriority_21; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85695.4]
  assign _T_172 = _T_170 ? effectivePriority_20 : effectivePriority_21; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85697.4]
  assign _T_173 = _T_170 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85698.4]
  assign _T_174 = effectivePriority_22 >= effectivePriority_23; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85699.4]
  assign _T_176 = _T_174 ? effectivePriority_22 : effectivePriority_23; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85701.4]
  assign _T_177 = _T_174 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85702.4]
  assign _T_178 = _T_172 >= _T_176; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85703.4]
  assign _GEN_8 = {{1'd0}, _T_177}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85704.4]
  assign _T_179 = 2'h2 | _GEN_8; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85704.4]
  assign _T_180 = _T_178 ? _T_172 : _T_176; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85705.4]
  assign _T_181 = _T_178 ? {{1'd0}, _T_173} : _T_179; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85706.4]
  assign _T_182 = _T_168 >= _T_180; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85707.4]
  assign _GEN_9 = {{1'd0}, _T_181}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85708.4]
  assign _T_183 = 3'h4 | _GEN_9; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85708.4]
  assign _T_184 = _T_182 ? _T_168 : _T_180; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85709.4]
  assign _T_185 = _T_182 ? {{1'd0}, _T_169} : _T_183; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85710.4]
  assign _T_186 = effectivePriority_24 >= effectivePriority_25; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85711.4]
  assign _T_188 = _T_186 ? effectivePriority_24 : effectivePriority_25; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85713.4]
  assign _T_189 = _T_186 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85714.4]
  assign _T_190 = effectivePriority_26 >= effectivePriority_27; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85715.4]
  assign _T_192 = _T_190 ? effectivePriority_26 : effectivePriority_27; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85717.4]
  assign _T_193 = _T_190 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85718.4]
  assign _T_194 = _T_188 >= _T_192; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85719.4]
  assign _GEN_10 = {{1'd0}, _T_193}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85720.4]
  assign _T_195 = 2'h2 | _GEN_10; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85720.4]
  assign _T_196 = _T_194 ? _T_188 : _T_192; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85721.4]
  assign _T_197 = _T_194 ? {{1'd0}, _T_189} : _T_195; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85722.4]
  assign _T_198 = effectivePriority_28 >= effectivePriority_29; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85723.4]
  assign _T_200 = _T_198 ? effectivePriority_28 : effectivePriority_29; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85725.4]
  assign _T_201 = _T_198 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85726.4]
  assign _T_202 = effectivePriority_30 >= effectivePriority_31; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85727.4]
  assign _T_204 = _T_202 ? effectivePriority_30 : effectivePriority_31; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85729.4]
  assign _T_205 = _T_202 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85730.4]
  assign _T_206 = _T_200 >= _T_204; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85731.4]
  assign _GEN_11 = {{1'd0}, _T_205}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85732.4]
  assign _T_207 = 2'h2 | _GEN_11; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85732.4]
  assign _T_208 = _T_206 ? _T_200 : _T_204; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85733.4]
  assign _T_209 = _T_206 ? {{1'd0}, _T_201} : _T_207; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85734.4]
  assign _T_210 = _T_196 >= _T_208; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85735.4]
  assign _GEN_12 = {{1'd0}, _T_209}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85736.4]
  assign _T_211 = 3'h4 | _GEN_12; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85736.4]
  assign _T_212 = _T_210 ? _T_196 : _T_208; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85737.4]
  assign _T_213 = _T_210 ? {{1'd0}, _T_197} : _T_211; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85738.4]
  assign _T_214 = _T_184 >= _T_212; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85739.4]
  assign _GEN_13 = {{1'd0}, _T_213}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85740.4]
  assign _T_215 = 4'h8 | _GEN_13; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85740.4]
  assign _T_216 = _T_214 ? _T_184 : _T_212; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85741.4]
  assign _T_217 = _T_214 ? {{1'd0}, _T_185} : _T_215; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85742.4]
  assign _T_218 = _T_156 >= _T_216; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85743.4]
  assign _GEN_14 = {{1'd0}, _T_217}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85744.4]
  assign _T_219 = 5'h10 | _GEN_14; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85744.4]
  assign _T_220 = _T_218 ? _T_156 : _T_216; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85745.4]
  assign _T_221 = _T_218 ? {{1'd0}, _T_157} : _T_219; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85746.4]
  assign _T_222 = effectivePriority_32 >= effectivePriority_33; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85747.4]
  assign _T_224 = _T_222 ? effectivePriority_32 : effectivePriority_33; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85749.4]
  assign _T_225 = _T_222 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85750.4]
  assign _T_226 = effectivePriority_34 >= effectivePriority_35; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85751.4]
  assign _T_228 = _T_226 ? effectivePriority_34 : effectivePriority_35; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85753.4]
  assign _T_229 = _T_226 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85754.4]
  assign _T_230 = _T_224 >= _T_228; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85755.4]
  assign _GEN_15 = {{1'd0}, _T_229}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85756.4]
  assign _T_231 = 2'h2 | _GEN_15; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85756.4]
  assign _T_232 = _T_230 ? _T_224 : _T_228; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85757.4]
  assign _T_233 = _T_230 ? {{1'd0}, _T_225} : _T_231; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85758.4]
  assign _T_234 = effectivePriority_36 >= effectivePriority_37; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85759.4]
  assign _T_236 = _T_234 ? effectivePriority_36 : effectivePriority_37; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85761.4]
  assign _T_237 = _T_234 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85762.4]
  assign _T_238 = effectivePriority_38 >= effectivePriority_39; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85763.4]
  assign _T_240 = _T_238 ? effectivePriority_38 : effectivePriority_39; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85765.4]
  assign _T_241 = _T_238 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85766.4]
  assign _T_242 = _T_236 >= _T_240; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85767.4]
  assign _GEN_16 = {{1'd0}, _T_241}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85768.4]
  assign _T_243 = 2'h2 | _GEN_16; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85768.4]
  assign _T_244 = _T_242 ? _T_236 : _T_240; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85769.4]
  assign _T_245 = _T_242 ? {{1'd0}, _T_237} : _T_243; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85770.4]
  assign _T_246 = _T_232 >= _T_244; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85771.4]
  assign _GEN_17 = {{1'd0}, _T_245}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85772.4]
  assign _T_247 = 3'h4 | _GEN_17; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85772.4]
  assign _T_248 = _T_246 ? _T_232 : _T_244; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85773.4]
  assign _T_249 = _T_246 ? {{1'd0}, _T_233} : _T_247; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85774.4]
  assign _T_250 = effectivePriority_40 >= effectivePriority_41; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85775.4]
  assign _T_252 = _T_250 ? effectivePriority_40 : effectivePriority_41; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85777.4]
  assign _T_253 = _T_250 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85778.4]
  assign _T_254 = effectivePriority_42 >= effectivePriority_43; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85779.4]
  assign _T_256 = _T_254 ? effectivePriority_42 : effectivePriority_43; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85781.4]
  assign _T_257 = _T_254 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85782.4]
  assign _T_258 = _T_252 >= _T_256; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85783.4]
  assign _GEN_18 = {{1'd0}, _T_257}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85784.4]
  assign _T_259 = 2'h2 | _GEN_18; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85784.4]
  assign _T_260 = _T_258 ? _T_252 : _T_256; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85785.4]
  assign _T_261 = _T_258 ? {{1'd0}, _T_253} : _T_259; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85786.4]
  assign _T_262 = _T_260 >= effectivePriority_44; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85787.4]
  assign _T_264 = _T_262 ? _T_260 : effectivePriority_44; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85789.4]
  assign _T_265 = _T_262 ? {{1'd0}, _T_261} : 3'h4; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85790.4]
  assign _T_266 = _T_248 >= _T_264; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85791.4]
  assign _GEN_19 = {{1'd0}, _T_265}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85792.4]
  assign _T_267 = 4'h8 | _GEN_19; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85792.4]
  assign _T_268 = _T_266 ? _T_248 : _T_264; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85793.4]
  assign _T_269 = _T_266 ? {{1'd0}, _T_249} : _T_267; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85794.4]
  assign _T_270 = _T_220 >= _T_268; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@85795.4]
  assign _GEN_20 = {{2'd0}, _T_269}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85796.4]
  assign _T_271 = 6'h20 | _GEN_20; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@85796.4]
  assign maxPri = _T_270 ? _T_220 : _T_268; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@85797.4]
  assign io_dev = _T_270 ? {{1'd0}, _T_221} : _T_271; // @[Plic.scala 330:10:shc.marmotcaravel.MarmotCaravelConfig.fir@85800.4]
  assign io_max = maxPri[2:0]; // @[Plic.scala 329:10:shc.marmotcaravel.MarmotCaravelConfig.fir@85799.4]
endmodule
module Queue_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85802.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85803.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85804.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input         io_enq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input  [23:0] io_enq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input  [7:0]  io_enq_bits_extra, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  output        io_deq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  output [23:0] io_deq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
  output [7:0]  io_deq_bits_extra // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85805.4]
);
  reg  _T_35_read [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [31:0] _RAND_0;
  wire  _T_35_read__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_read__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_read__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_read__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_read__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [23:0] _T_35_index [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [31:0] _RAND_1;
  wire [23:0] _T_35_index__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_index__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire [23:0] _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_index__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_index__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_index__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [31:0] _T_35_data [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [31:0] _RAND_2;
  wire [31:0] _T_35_data__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_data__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire [31:0] _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_data__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_data__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_data__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [3:0] _T_35_mask [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [31:0] _RAND_3;
  wire [3:0] _T_35_mask__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_mask__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire [3:0] _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_mask__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_mask__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_mask__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [7:0] _T_35_extra [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg [31:0] _RAND_4;
  wire [7:0] _T_35_extra__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_extra__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire [7:0] _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_extra__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_extra__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  wire  _T_35_extra__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85807.4]
  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@85808.4]
  reg [31:0] _RAND_5;
  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@85810.4]
  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@85813.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@85816.4]
  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@85829.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@85807.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@85807.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@85807.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@85807.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@85807.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@85810.4]
  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@85813.4]
  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@85816.4]
  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@85829.4]
  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@85836.4]
  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@85834.4]
  assign io_deq_bits_read = _T_35_read__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@85842.4]
  assign io_deq_bits_index = _T_35_index__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@85841.4]
  assign io_deq_bits_data = _T_35_data__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@85840.4]
  assign io_deq_bits_mask = _T_35_mask__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@85839.4]
  assign io_deq_bits_extra = _T_35_extra__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@85838.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@85807.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@85807.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@85807.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@85807.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@85807.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@85850.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85851.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85852.4]
  input         auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_int_in_43, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
  output [31:0] auto_in_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85853.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.4]
  wire  LevelGateway_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85904.4]
  wire  LevelGateway_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85904.4]
  wire  LevelGateway_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85904.4]
  wire  LevelGateway_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85904.4]
  wire  LevelGateway_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85904.4]
  wire  LevelGateway_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85904.4]
  wire  LevelGateway_1_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85909.4]
  wire  LevelGateway_1_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85909.4]
  wire  LevelGateway_1_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85909.4]
  wire  LevelGateway_1_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85909.4]
  wire  LevelGateway_1_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85909.4]
  wire  LevelGateway_1_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85909.4]
  wire  LevelGateway_2_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85914.4]
  wire  LevelGateway_2_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85914.4]
  wire  LevelGateway_2_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85914.4]
  wire  LevelGateway_2_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85914.4]
  wire  LevelGateway_2_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85914.4]
  wire  LevelGateway_2_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85914.4]
  wire  LevelGateway_3_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85919.4]
  wire  LevelGateway_3_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85919.4]
  wire  LevelGateway_3_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85919.4]
  wire  LevelGateway_3_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85919.4]
  wire  LevelGateway_3_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85919.4]
  wire  LevelGateway_3_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85919.4]
  wire  LevelGateway_4_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85924.4]
  wire  LevelGateway_4_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85924.4]
  wire  LevelGateway_4_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85924.4]
  wire  LevelGateway_4_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85924.4]
  wire  LevelGateway_4_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85924.4]
  wire  LevelGateway_4_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85924.4]
  wire  LevelGateway_5_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85929.4]
  wire  LevelGateway_5_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85929.4]
  wire  LevelGateway_5_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85929.4]
  wire  LevelGateway_5_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85929.4]
  wire  LevelGateway_5_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85929.4]
  wire  LevelGateway_5_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85929.4]
  wire  LevelGateway_6_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85934.4]
  wire  LevelGateway_6_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85934.4]
  wire  LevelGateway_6_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85934.4]
  wire  LevelGateway_6_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85934.4]
  wire  LevelGateway_6_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85934.4]
  wire  LevelGateway_6_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85934.4]
  wire  LevelGateway_7_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85939.4]
  wire  LevelGateway_7_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85939.4]
  wire  LevelGateway_7_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85939.4]
  wire  LevelGateway_7_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85939.4]
  wire  LevelGateway_7_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85939.4]
  wire  LevelGateway_7_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85939.4]
  wire  LevelGateway_8_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85944.4]
  wire  LevelGateway_8_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85944.4]
  wire  LevelGateway_8_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85944.4]
  wire  LevelGateway_8_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85944.4]
  wire  LevelGateway_8_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85944.4]
  wire  LevelGateway_8_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85944.4]
  wire  LevelGateway_9_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85949.4]
  wire  LevelGateway_9_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85949.4]
  wire  LevelGateway_9_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85949.4]
  wire  LevelGateway_9_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85949.4]
  wire  LevelGateway_9_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85949.4]
  wire  LevelGateway_9_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85949.4]
  wire  LevelGateway_10_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85954.4]
  wire  LevelGateway_10_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85954.4]
  wire  LevelGateway_10_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85954.4]
  wire  LevelGateway_10_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85954.4]
  wire  LevelGateway_10_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85954.4]
  wire  LevelGateway_10_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85954.4]
  wire  LevelGateway_11_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85959.4]
  wire  LevelGateway_11_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85959.4]
  wire  LevelGateway_11_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85959.4]
  wire  LevelGateway_11_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85959.4]
  wire  LevelGateway_11_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85959.4]
  wire  LevelGateway_11_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85959.4]
  wire  LevelGateway_12_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85964.4]
  wire  LevelGateway_12_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85964.4]
  wire  LevelGateway_12_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85964.4]
  wire  LevelGateway_12_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85964.4]
  wire  LevelGateway_12_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85964.4]
  wire  LevelGateway_12_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85964.4]
  wire  LevelGateway_13_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85969.4]
  wire  LevelGateway_13_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85969.4]
  wire  LevelGateway_13_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85969.4]
  wire  LevelGateway_13_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85969.4]
  wire  LevelGateway_13_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85969.4]
  wire  LevelGateway_13_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85969.4]
  wire  LevelGateway_14_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85974.4]
  wire  LevelGateway_14_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85974.4]
  wire  LevelGateway_14_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85974.4]
  wire  LevelGateway_14_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85974.4]
  wire  LevelGateway_14_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85974.4]
  wire  LevelGateway_14_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85974.4]
  wire  LevelGateway_15_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85979.4]
  wire  LevelGateway_15_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85979.4]
  wire  LevelGateway_15_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85979.4]
  wire  LevelGateway_15_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85979.4]
  wire  LevelGateway_15_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85979.4]
  wire  LevelGateway_15_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85979.4]
  wire  LevelGateway_16_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85984.4]
  wire  LevelGateway_16_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85984.4]
  wire  LevelGateway_16_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85984.4]
  wire  LevelGateway_16_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85984.4]
  wire  LevelGateway_16_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85984.4]
  wire  LevelGateway_16_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85984.4]
  wire  LevelGateway_17_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85989.4]
  wire  LevelGateway_17_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85989.4]
  wire  LevelGateway_17_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85989.4]
  wire  LevelGateway_17_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85989.4]
  wire  LevelGateway_17_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85989.4]
  wire  LevelGateway_17_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85989.4]
  wire  LevelGateway_18_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85994.4]
  wire  LevelGateway_18_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85994.4]
  wire  LevelGateway_18_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85994.4]
  wire  LevelGateway_18_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85994.4]
  wire  LevelGateway_18_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85994.4]
  wire  LevelGateway_18_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85994.4]
  wire  LevelGateway_19_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85999.4]
  wire  LevelGateway_19_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85999.4]
  wire  LevelGateway_19_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85999.4]
  wire  LevelGateway_19_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85999.4]
  wire  LevelGateway_19_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85999.4]
  wire  LevelGateway_19_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@85999.4]
  wire  LevelGateway_20_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86004.4]
  wire  LevelGateway_20_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86004.4]
  wire  LevelGateway_20_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86004.4]
  wire  LevelGateway_20_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86004.4]
  wire  LevelGateway_20_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86004.4]
  wire  LevelGateway_20_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86004.4]
  wire  LevelGateway_21_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86009.4]
  wire  LevelGateway_21_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86009.4]
  wire  LevelGateway_21_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86009.4]
  wire  LevelGateway_21_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86009.4]
  wire  LevelGateway_21_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86009.4]
  wire  LevelGateway_21_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86009.4]
  wire  LevelGateway_22_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86014.4]
  wire  LevelGateway_22_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86014.4]
  wire  LevelGateway_22_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86014.4]
  wire  LevelGateway_22_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86014.4]
  wire  LevelGateway_22_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86014.4]
  wire  LevelGateway_22_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86014.4]
  wire  LevelGateway_23_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86019.4]
  wire  LevelGateway_23_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86019.4]
  wire  LevelGateway_23_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86019.4]
  wire  LevelGateway_23_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86019.4]
  wire  LevelGateway_23_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86019.4]
  wire  LevelGateway_23_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86019.4]
  wire  LevelGateway_24_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86024.4]
  wire  LevelGateway_24_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86024.4]
  wire  LevelGateway_24_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86024.4]
  wire  LevelGateway_24_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86024.4]
  wire  LevelGateway_24_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86024.4]
  wire  LevelGateway_24_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86024.4]
  wire  LevelGateway_25_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86029.4]
  wire  LevelGateway_25_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86029.4]
  wire  LevelGateway_25_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86029.4]
  wire  LevelGateway_25_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86029.4]
  wire  LevelGateway_25_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86029.4]
  wire  LevelGateway_25_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86029.4]
  wire  LevelGateway_26_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86034.4]
  wire  LevelGateway_26_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86034.4]
  wire  LevelGateway_26_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86034.4]
  wire  LevelGateway_26_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86034.4]
  wire  LevelGateway_26_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86034.4]
  wire  LevelGateway_26_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86034.4]
  wire  LevelGateway_27_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86039.4]
  wire  LevelGateway_27_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86039.4]
  wire  LevelGateway_27_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86039.4]
  wire  LevelGateway_27_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86039.4]
  wire  LevelGateway_27_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86039.4]
  wire  LevelGateway_27_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86039.4]
  wire  LevelGateway_28_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86044.4]
  wire  LevelGateway_28_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86044.4]
  wire  LevelGateway_28_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86044.4]
  wire  LevelGateway_28_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86044.4]
  wire  LevelGateway_28_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86044.4]
  wire  LevelGateway_28_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86044.4]
  wire  LevelGateway_29_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86049.4]
  wire  LevelGateway_29_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86049.4]
  wire  LevelGateway_29_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86049.4]
  wire  LevelGateway_29_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86049.4]
  wire  LevelGateway_29_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86049.4]
  wire  LevelGateway_29_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86049.4]
  wire  LevelGateway_30_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86054.4]
  wire  LevelGateway_30_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86054.4]
  wire  LevelGateway_30_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86054.4]
  wire  LevelGateway_30_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86054.4]
  wire  LevelGateway_30_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86054.4]
  wire  LevelGateway_30_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86054.4]
  wire  LevelGateway_31_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86059.4]
  wire  LevelGateway_31_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86059.4]
  wire  LevelGateway_31_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86059.4]
  wire  LevelGateway_31_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86059.4]
  wire  LevelGateway_31_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86059.4]
  wire  LevelGateway_31_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86059.4]
  wire  LevelGateway_32_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86064.4]
  wire  LevelGateway_32_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86064.4]
  wire  LevelGateway_32_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86064.4]
  wire  LevelGateway_32_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86064.4]
  wire  LevelGateway_32_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86064.4]
  wire  LevelGateway_32_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86064.4]
  wire  LevelGateway_33_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86069.4]
  wire  LevelGateway_33_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86069.4]
  wire  LevelGateway_33_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86069.4]
  wire  LevelGateway_33_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86069.4]
  wire  LevelGateway_33_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86069.4]
  wire  LevelGateway_33_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86069.4]
  wire  LevelGateway_34_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86074.4]
  wire  LevelGateway_34_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86074.4]
  wire  LevelGateway_34_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86074.4]
  wire  LevelGateway_34_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86074.4]
  wire  LevelGateway_34_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86074.4]
  wire  LevelGateway_34_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86074.4]
  wire  LevelGateway_35_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86079.4]
  wire  LevelGateway_35_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86079.4]
  wire  LevelGateway_35_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86079.4]
  wire  LevelGateway_35_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86079.4]
  wire  LevelGateway_35_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86079.4]
  wire  LevelGateway_35_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86079.4]
  wire  LevelGateway_36_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86084.4]
  wire  LevelGateway_36_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86084.4]
  wire  LevelGateway_36_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86084.4]
  wire  LevelGateway_36_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86084.4]
  wire  LevelGateway_36_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86084.4]
  wire  LevelGateway_36_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86084.4]
  wire  LevelGateway_37_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86089.4]
  wire  LevelGateway_37_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86089.4]
  wire  LevelGateway_37_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86089.4]
  wire  LevelGateway_37_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86089.4]
  wire  LevelGateway_37_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86089.4]
  wire  LevelGateway_37_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86089.4]
  wire  LevelGateway_38_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86094.4]
  wire  LevelGateway_38_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86094.4]
  wire  LevelGateway_38_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86094.4]
  wire  LevelGateway_38_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86094.4]
  wire  LevelGateway_38_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86094.4]
  wire  LevelGateway_38_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86094.4]
  wire  LevelGateway_39_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86099.4]
  wire  LevelGateway_39_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86099.4]
  wire  LevelGateway_39_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86099.4]
  wire  LevelGateway_39_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86099.4]
  wire  LevelGateway_39_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86099.4]
  wire  LevelGateway_39_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86099.4]
  wire  LevelGateway_40_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86104.4]
  wire  LevelGateway_40_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86104.4]
  wire  LevelGateway_40_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86104.4]
  wire  LevelGateway_40_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86104.4]
  wire  LevelGateway_40_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86104.4]
  wire  LevelGateway_40_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86104.4]
  wire  LevelGateway_41_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86109.4]
  wire  LevelGateway_41_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86109.4]
  wire  LevelGateway_41_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86109.4]
  wire  LevelGateway_41_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86109.4]
  wire  LevelGateway_41_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86109.4]
  wire  LevelGateway_41_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86109.4]
  wire  LevelGateway_42_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86114.4]
  wire  LevelGateway_42_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86114.4]
  wire  LevelGateway_42_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86114.4]
  wire  LevelGateway_42_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86114.4]
  wire  LevelGateway_42_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86114.4]
  wire  LevelGateway_42_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86114.4]
  wire  LevelGateway_43_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86119.4]
  wire  LevelGateway_43_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86119.4]
  wire  LevelGateway_43_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86119.4]
  wire  LevelGateway_43_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86119.4]
  wire  LevelGateway_43_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86119.4]
  wire  LevelGateway_43_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86119.4]
  wire [2:0] PLICFanIn_io_prio_0; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_1; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_2; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_3; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_4; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_5; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_6; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_7; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_8; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_9; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_10; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_11; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_12; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_13; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_14; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_15; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_16; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_17; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_18; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_19; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_20; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_21; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_22; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_23; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_24; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_25; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_26; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_27; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_28; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_29; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_30; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_31; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_32; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_33; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_34; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_35; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_36; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_37; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_38; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_39; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_40; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_41; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_42; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_prio_43; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [43:0] PLICFanIn_io_ip; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [5:0] PLICFanIn_io_dev; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire [2:0] PLICFanIn_io_max; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@86235.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_io_enq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [23:0] Queue_io_enq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [7:0] Queue_io_enq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire  Queue_io_deq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [23:0] Queue_io_deq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  wire [7:0] Queue_io_deq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.4]
  reg [2:0] priority_0; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_0;
  reg [2:0] priority_1; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_1;
  reg [2:0] priority_2; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_2;
  reg [2:0] priority_3; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_3;
  reg [2:0] priority_4; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_4;
  reg [2:0] priority_5; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_5;
  reg [2:0] priority_6; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_6;
  reg [2:0] priority_7; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_7;
  reg [2:0] priority_8; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_8;
  reg [2:0] priority_9; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_9;
  reg [2:0] priority_10; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_10;
  reg [2:0] priority_11; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_11;
  reg [2:0] priority_12; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_12;
  reg [2:0] priority_13; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_13;
  reg [2:0] priority_14; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_14;
  reg [2:0] priority_15; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_15;
  reg [2:0] priority_16; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_16;
  reg [2:0] priority_17; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_17;
  reg [2:0] priority_18; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_18;
  reg [2:0] priority_19; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_19;
  reg [2:0] priority_20; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_20;
  reg [2:0] priority_21; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_21;
  reg [2:0] priority_22; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_22;
  reg [2:0] priority_23; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_23;
  reg [2:0] priority_24; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_24;
  reg [2:0] priority_25; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_25;
  reg [2:0] priority_26; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_26;
  reg [2:0] priority_27; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_27;
  reg [2:0] priority_28; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_28;
  reg [2:0] priority_29; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_29;
  reg [2:0] priority_30; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_30;
  reg [2:0] priority_31; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_31;
  reg [2:0] priority_32; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_32;
  reg [2:0] priority_33; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_33;
  reg [2:0] priority_34; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_34;
  reg [2:0] priority_35; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_35;
  reg [2:0] priority_36; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_36;
  reg [2:0] priority_37; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_37;
  reg [2:0] priority_38; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_38;
  reg [2:0] priority_39; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_39;
  reg [2:0] priority_40; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_40;
  reg [2:0] priority_41; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_41;
  reg [2:0] priority_42; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_42;
  reg [2:0] priority_43; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86124.4]
  reg [31:0] _RAND_43;
  reg [2:0] threshold_0; // @[Plic.scala 150:31:shc.marmotcaravel.MarmotCaravelConfig.fir@86125.4]
  reg [31:0] _RAND_44;
  reg  pending_0; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_45;
  reg  pending_1; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_46;
  reg  pending_2; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_47;
  reg  pending_3; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_48;
  reg  pending_4; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_49;
  reg  pending_5; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_50;
  reg  pending_6; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_51;
  reg  pending_7; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_52;
  reg  pending_8; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_53;
  reg  pending_9; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_54;
  reg  pending_10; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_55;
  reg  pending_11; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_56;
  reg  pending_12; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_57;
  reg  pending_13; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_58;
  reg  pending_14; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_59;
  reg  pending_15; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_60;
  reg  pending_16; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_61;
  reg  pending_17; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_62;
  reg  pending_18; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_63;
  reg  pending_19; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_64;
  reg  pending_20; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_65;
  reg  pending_21; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_66;
  reg  pending_22; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_67;
  reg  pending_23; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_68;
  reg  pending_24; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_69;
  reg  pending_25; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_70;
  reg  pending_26; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_71;
  reg  pending_27; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_72;
  reg  pending_28; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_73;
  reg  pending_29; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_74;
  reg  pending_30; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_75;
  reg  pending_31; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_76;
  reg  pending_32; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_77;
  reg  pending_33; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_78;
  reg  pending_34; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_79;
  reg  pending_35; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_80;
  reg  pending_36; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_81;
  reg  pending_37; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_82;
  reg  pending_38; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_83;
  reg  pending_39; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_84;
  reg  pending_40; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_85;
  reg  pending_41; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_86;
  reg  pending_42; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_87;
  reg  pending_43; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86172.4]
  reg [31:0] _RAND_88;
  reg [6:0] enables_0_0; // @[Plic.scala 158:26:shc.marmotcaravel.MarmotCaravelConfig.fir@86173.4]
  reg [31:0] _RAND_89;
  reg [7:0] enables_0_1; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86174.4]
  reg [31:0] _RAND_90;
  reg [7:0] enables_0_2; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86175.4]
  reg [31:0] _RAND_91;
  reg [7:0] enables_0_3; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86176.4]
  reg [31:0] _RAND_92;
  reg [7:0] enables_0_4; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86177.4]
  reg [31:0] _RAND_93;
  reg [4:0] enables_0_5; // @[Plic.scala 160:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86178.4]
  reg [31:0] _RAND_94;
  wire [15:0] _T_1017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86179.4]
  wire [22:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86180.4]
  wire [12:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86181.4]
  wire [20:0] _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86182.4]
  wire [43:0] enableVec_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86183.4]
  wire [44:0] enableVec0_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86187.4]
  reg [5:0] maxDevs_0; // @[Plic.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86191.4]
  reg [31:0] _RAND_95;
  wire [1:0] _T_1041; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86192.4]
  wire [1:0] _T_1042; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86193.4]
  wire [2:0] _T_1043; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86194.4]
  wire [4:0] _T_1044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86195.4]
  wire [1:0] _T_1045; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86196.4]
  wire [2:0] _T_1046; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86197.4]
  wire [1:0] _T_1047; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86198.4]
  wire [2:0] _T_1048; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86199.4]
  wire [5:0] _T_1049; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86200.4]
  wire [10:0] _T_1050; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86201.4]
  wire [1:0] _T_1051; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86202.4]
  wire [1:0] _T_1052; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86203.4]
  wire [2:0] _T_1053; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86204.4]
  wire [4:0] _T_1054; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86205.4]
  wire [1:0] _T_1055; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86206.4]
  wire [2:0] _T_1056; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86207.4]
  wire [1:0] _T_1057; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86208.4]
  wire [2:0] _T_1058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86209.4]
  wire [5:0] _T_1059; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86210.4]
  wire [10:0] _T_1060; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86211.4]
  wire [21:0] _T_1061; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86212.4]
  wire [1:0] _T_1062; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86213.4]
  wire [1:0] _T_1063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86214.4]
  wire [2:0] _T_1064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86215.4]
  wire [4:0] _T_1065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86216.4]
  wire [1:0] _T_1066; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86217.4]
  wire [2:0] _T_1067; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86218.4]
  wire [1:0] _T_1068; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86219.4]
  wire [2:0] _T_1069; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86220.4]
  wire [5:0] _T_1070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86221.4]
  wire [10:0] _T_1071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86222.4]
  wire [1:0] _T_1072; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86223.4]
  wire [1:0] _T_1073; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86224.4]
  wire [2:0] _T_1074; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86225.4]
  wire [4:0] _T_1075; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86226.4]
  wire [1:0] _T_1076; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86227.4]
  wire [2:0] _T_1077; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86228.4]
  wire [1:0] _T_1078; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86229.4]
  wire [2:0] _T_1079; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86230.4]
  wire [5:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86231.4]
  wire [10:0] _T_1081; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86232.4]
  wire [21:0] _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86233.4]
  wire [43:0] pendingUInt; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86234.4]
  reg [2:0] _T_1085; // @[Plic.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@86243.4]
  reg [31:0] _RAND_96;
  wire  _T_12834; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99175.4]
  wire  _T_12835; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99176.4]
  wire  _T_4604; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89733.4]
  wire  _T_4596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89725.4]
  wire [1:0] _T_4613; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89742.4]
  wire  _T_4595; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89724.4]
  wire [2:0] _T_4614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89743.4]
  wire  _T_4590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89719.4]
  wire  _T_4589; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89718.4]
  wire [1:0] _T_4612; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89741.4]
  wire [4:0] _T_4615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89744.4]
  wire  _T_4588; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89717.4]
  wire  _T_4587; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89716.4]
  wire [1:0] _T_4610; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89739.4]
  wire  _T_4586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89715.4]
  wire  _T_4585; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89714.4]
  wire [1:0] _T_4609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89738.4]
  wire [3:0] _T_4611; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89740.4]
  wire [8:0] _T_4616; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89745.4]
  wire [511:0] _T_5130; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@90259.4]
  wire  _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90517.4]
  wire  _T_14380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@101076.4]
  wire [23:0] _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86801.4]
  wire  _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86825.4]
  wire  _T_14381; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@101077.4]
  wire  _T_1959; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86928.4]
  wire [7:0] _T_1967; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86936.4]
  wire  _T_1958; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86927.4]
  wire [7:0] _T_1965; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86934.4]
  wire [15:0] _T_1969; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86938.4]
  wire  _T_1957; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86926.4]
  wire [7:0] _T_1963; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86932.4]
  wire  _T_1956; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86925.4]
  wire [7:0] _T_1961; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86930.4]
  wire [15:0] _T_1968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86937.4]
  wire [31:0] _T_1970; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86939.4]
  wire  _T_3116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88118.4]
  wire  claimer_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88123.4]
  wire [1:0] _T_1093; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@86249.4]
  wire [1:0] _T_1094; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@86250.4]
  wire  _T_1095; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@86251.4]
  wire  _T_1096; // @[Plic.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86252.4]
  wire  _T_1097; // @[Plic.scala 223:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86253.4]
  wire  _T_1099; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86255.4]
  wire  _T_1100; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86256.4]
  wire [5:0] claiming; // @[Plic.scala 224:49:shc.marmotcaravel.MarmotCaravelConfig.fir@86261.4]
  wire [63:0] _T_1102; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86263.4]
  wire [44:0] _T_1103; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86264.4]
  wire  claimedDevs_1; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86266.4]
  wire  claimedDevs_2; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86267.4]
  wire  claimedDevs_3; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86268.4]
  wire  claimedDevs_4; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86269.4]
  wire  claimedDevs_5; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86270.4]
  wire  claimedDevs_6; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86271.4]
  wire  claimedDevs_7; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86272.4]
  wire  claimedDevs_8; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86273.4]
  wire  claimedDevs_9; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86274.4]
  wire  claimedDevs_10; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86275.4]
  wire  claimedDevs_11; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86276.4]
  wire  claimedDevs_12; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86277.4]
  wire  claimedDevs_13; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86278.4]
  wire  claimedDevs_14; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86279.4]
  wire  claimedDevs_15; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86280.4]
  wire  claimedDevs_16; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86281.4]
  wire  claimedDevs_17; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86282.4]
  wire  claimedDevs_18; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86283.4]
  wire  claimedDevs_19; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86284.4]
  wire  claimedDevs_20; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86285.4]
  wire  claimedDevs_21; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86286.4]
  wire  claimedDevs_22; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86287.4]
  wire  claimedDevs_23; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86288.4]
  wire  claimedDevs_24; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86289.4]
  wire  claimedDevs_25; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86290.4]
  wire  claimedDevs_26; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86291.4]
  wire  claimedDevs_27; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86292.4]
  wire  claimedDevs_28; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86293.4]
  wire  claimedDevs_29; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86294.4]
  wire  claimedDevs_30; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86295.4]
  wire  claimedDevs_31; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86296.4]
  wire  claimedDevs_32; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86297.4]
  wire  claimedDevs_33; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86298.4]
  wire  claimedDevs_34; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86299.4]
  wire  claimedDevs_35; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86300.4]
  wire  claimedDevs_36; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86301.4]
  wire  claimedDevs_37; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86302.4]
  wire  claimedDevs_38; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86303.4]
  wire  claimedDevs_39; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86304.4]
  wire  claimedDevs_40; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86305.4]
  wire  claimedDevs_41; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86306.4]
  wire  claimedDevs_42; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86307.4]
  wire  claimedDevs_43; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86308.4]
  wire  claimedDevs_44; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86309.4]
  wire  _T_1200; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86359.4]
  wire  _T_1201; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86361.6]
  wire  _T_1203; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86366.4]
  wire  _T_1204; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86368.6]
  wire  _T_1206; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86373.4]
  wire  _T_1207; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86375.6]
  wire  _T_1209; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86380.4]
  wire  _T_1210; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86382.6]
  wire  _T_1212; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86387.4]
  wire  _T_1213; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86389.6]
  wire  _T_1215; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86394.4]
  wire  _T_1216; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86396.6]
  wire  _T_1218; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86401.4]
  wire  _T_1219; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86403.6]
  wire  _T_1221; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86408.4]
  wire  _T_1222; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86410.6]
  wire  _T_1224; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86415.4]
  wire  _T_1225; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86417.6]
  wire  _T_1227; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86422.4]
  wire  _T_1228; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86424.6]
  wire  _T_1230; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86429.4]
  wire  _T_1231; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86431.6]
  wire  _T_1233; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86436.4]
  wire  _T_1234; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86438.6]
  wire  _T_1236; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86443.4]
  wire  _T_1237; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86445.6]
  wire  _T_1239; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86450.4]
  wire  _T_1240; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86452.6]
  wire  _T_1242; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86457.4]
  wire  _T_1243; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86459.6]
  wire  _T_1245; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86464.4]
  wire  _T_1246; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86466.6]
  wire  _T_1248; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86471.4]
  wire  _T_1249; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86473.6]
  wire  _T_1251; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86478.4]
  wire  _T_1252; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86480.6]
  wire  _T_1254; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86485.4]
  wire  _T_1255; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86487.6]
  wire  _T_1257; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86492.4]
  wire  _T_1258; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86494.6]
  wire  _T_1260; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86499.4]
  wire  _T_1261; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86501.6]
  wire  _T_1263; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86506.4]
  wire  _T_1264; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86508.6]
  wire  _T_1266; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86513.4]
  wire  _T_1267; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86515.6]
  wire  _T_1269; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86520.4]
  wire  _T_1270; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86522.6]
  wire  _T_1272; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86527.4]
  wire  _T_1273; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86529.6]
  wire  _T_1275; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86534.4]
  wire  _T_1276; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86536.6]
  wire  _T_1278; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86541.4]
  wire  _T_1279; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86543.6]
  wire  _T_1281; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86548.4]
  wire  _T_1282; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86550.6]
  wire  _T_1284; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86555.4]
  wire  _T_1285; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86557.6]
  wire  _T_1287; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86562.4]
  wire  _T_1288; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86564.6]
  wire  _T_1290; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86569.4]
  wire  _T_1291; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86571.6]
  wire  _T_1293; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86576.4]
  wire  _T_1294; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86578.6]
  wire  _T_1296; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86583.4]
  wire  _T_1297; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86585.6]
  wire  _T_1299; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86590.4]
  wire  _T_1300; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86592.6]
  wire  _T_1302; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86597.4]
  wire  _T_1303; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86599.6]
  wire  _T_1305; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86604.4]
  wire  _T_1306; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86606.6]
  wire  _T_1308; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86611.4]
  wire  _T_1309; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86613.6]
  wire  _T_1311; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86618.4]
  wire  _T_1312; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86620.6]
  wire  _T_1314; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86625.4]
  wire  _T_1315; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86627.6]
  wire  _T_1317; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86632.4]
  wire  _T_1318; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86634.6]
  wire  _T_1320; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86639.4]
  wire  _T_1321; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86641.6]
  wire  _T_1323; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86646.4]
  wire  _T_1324; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86648.6]
  wire  _T_1326; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86653.4]
  wire  _T_1327; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86655.6]
  wire  _T_1329; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86660.4]
  wire  _T_1330; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86662.6]
  wire  _T_16430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103377.4]
  wire  _T_16431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103378.4]
  wire  _T_17976; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105278.4]
  wire  _T_17977; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105279.4]
  wire [31:0] _T_3118; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88120.4]
  wire  _T_3119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88121.4]
  wire  _T_3123; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88125.4]
  wire [31:0] _T_3124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88127.4]
  wire [5:0] completerDev; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@88137.4]
  wire [44:0] _T_3131; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@88139.4]
  wire  _T_3132; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@88140.4]
  wire  completer_0; // @[Plic.scala 273:35:shc.marmotcaravel.MarmotCaravelConfig.fir@88141.4]
  wire [1:0] _T_1337; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86667.4]
  wire [1:0] _T_1338; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86668.4]
  wire  _T_1339; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86669.4]
  wire  _T_1340; // @[Plic.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@86670.4]
  wire  _T_1341; // @[Plic.scala 240:62:shc.marmotcaravel.MarmotCaravelConfig.fir@86671.4]
  wire  _T_1343; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86673.4]
  wire  _T_1344; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86674.4]
  wire [63:0] _T_1347; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86682.4]
  wire [44:0] _T_1348; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86683.4]
  wire [44:0] completedDevs; // @[Plic.scala 242:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86684.4]
  wire [25:0] _T_1402; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86778.4]
  wire [1:0] _T_2020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86989.4]
  wire [2:0] _T_2047; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87016.4]
  wire [3:0] _T_2074; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87043.4]
  wire [4:0] _T_2101; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87070.4]
  wire [5:0] _T_2128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87097.4]
  wire [6:0] _T_2155; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87124.4]
  wire [7:0] _T_2182; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87151.4]
  wire [8:0] _T_2209; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87178.4]
  wire [9:0] _T_2236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87205.4]
  wire [10:0] _T_2263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87232.4]
  wire [11:0] _T_2290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87259.4]
  wire [12:0] _T_2317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87286.4]
  wire [13:0] _T_2344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87313.4]
  wire [14:0] _T_2371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87340.4]
  wire [15:0] _T_2398; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87367.4]
  wire [16:0] _T_2425; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87394.4]
  wire [17:0] _T_2452; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87421.4]
  wire [18:0] _T_2479; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87448.4]
  wire [19:0] _T_2506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87475.4]
  wire [20:0] _T_2533; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87502.4]
  wire [21:0] _T_2560; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87529.4]
  wire [22:0] _T_2587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87556.4]
  wire [23:0] _T_2614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87583.4]
  wire [24:0] _T_2641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87610.4]
  wire [25:0] _T_2668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87637.4]
  wire [26:0] _T_2695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87664.4]
  wire [27:0] _T_2722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87691.4]
  wire [28:0] _T_2749; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87718.4]
  wire [29:0] _T_2776; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87745.4]
  wire [30:0] _T_2803; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87772.4]
  wire [31:0] _T_2830; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87799.4]
  wire [2:0] _T_2838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87807.4]
  wire [2:0] _T_2841; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87810.4]
  wire  _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87811.4]
  wire  _T_5136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90265.4]
  wire  _T_16464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103420.4]
  wire  _T_16465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103421.4]
  wire  _T_2846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87815.4]
  wire [2:0] _T_2847; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87816.4]
  wire  _T_5141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90270.4]
  wire  _T_16494; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103460.4]
  wire  _T_16495; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103461.4]
  wire  _T_2871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87843.4]
  wire  _T_5173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90302.4]
  wire  _T_16686; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103716.4]
  wire  _T_16687; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103717.4]
  wire  _T_2896; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87871.4]
  wire  _T_5155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90284.4]
  wire  _T_16578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103572.4]
  wire  _T_16579; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103573.4]
  wire  _T_2921; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87899.4]
  wire  _T_5168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90297.4]
  wire  _T_16656; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103676.4]
  wire  _T_16657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103677.4]
  wire  _T_2946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87927.4]
  wire  _T_5156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90285.4]
  wire  _T_16584; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103580.4]
  wire  _T_16585; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103581.4]
  wire  _T_2971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87955.4]
  wire  _T_5145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90274.4]
  wire  _T_16518; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103492.4]
  wire  _T_16519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.4]
  wire  _T_2996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87983.4]
  wire  _T_5151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90280.4]
  wire  _T_16554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103540.4]
  wire  _T_16555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.4]
  wire  _T_3021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88011.4]
  wire [7:0] _T_3038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88031.4]
  wire [7:0] _T_3041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88034.4]
  wire  _T_3042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88035.4]
  wire  _T_5260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90389.4]
  wire  _T_17208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104378.4]
  wire  _T_17209; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104379.4]
  wire  _T_3046; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88039.4]
  wire [7:0] _T_3047; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88040.4]
  wire [4:0] _T_3063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88059.4]
  wire [4:0] _T_3066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88062.4]
  wire  _T_3067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88063.4]
  wire  _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88067.4]
  wire [4:0] _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88068.4]
  wire  _T_5160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90289.4]
  wire  _T_16608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103612.4]
  wire  _T_16609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103613.4]
  wire  _T_3098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88097.4]
  wire  _T_3126; // @[Plic.scala 270:33:shc.marmotcaravel.MarmotCaravelConfig.fir@88129.4]
  wire  _T_3128; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@88131.4]
  wire  _T_3129; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@88132.4]
  wire [31:0] _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88151.4]
  wire  _T_5132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90261.4]
  wire  _T_16440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103388.4]
  wire  _T_16441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103389.4]
  wire  _T_3157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88166.4]
  wire  _T_5137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90266.4]
  wire  _T_16470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103428.4]
  wire  _T_16471; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103429.4]
  wire  _T_3182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88194.4]
  wire  _T_5159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90288.4]
  wire  _T_16602; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103604.4]
  wire  _T_16603; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103605.4]
  wire  _T_3207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88222.4]
  wire  _T_5169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90298.4]
  wire  _T_16662; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103684.4]
  wire  _T_16663; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103685.4]
  wire  _T_3232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88250.4]
  wire  _T_5152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90281.4]
  wire  _T_16560; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103548.4]
  wire  _T_16561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103549.4]
  wire  _T_3257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88278.4]
  wire  _T_5164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90293.4]
  wire  _T_16632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103644.4]
  wire  _T_16633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103645.4]
  wire  _T_3282; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88306.4]
  wire  _T_5140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90269.4]
  wire  _T_16488; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103452.4]
  wire  _T_16489; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103453.4]
  wire  _T_3307; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88334.4]
  wire  _T_5144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90273.4]
  wire  _T_16512; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103484.4]
  wire  _T_16513; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103485.4]
  wire  _T_3332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88362.4]
  wire  _T_5172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90301.4]
  wire  _T_16680; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103708.4]
  wire  _T_16681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103709.4]
  wire  _T_3357; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88390.4]
  wire  _T_5133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90262.4]
  wire  _T_16446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103396.4]
  wire  _T_16447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103397.4]
  wire  _T_3382; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88418.4]
  wire  _T_5163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90292.4]
  wire  _T_16626; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103636.4]
  wire  _T_16627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103637.4]
  wire  _T_3407; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88446.4]
  wire  _T_5165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90294.4]
  wire  _T_16638; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103652.4]
  wire  _T_16639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103653.4]
  wire  _T_3432; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88474.4]
  wire  _T_5148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90277.4]
  wire  _T_16536; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103516.4]
  wire  _T_16537; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103517.4]
  wire  _T_3457; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88502.4]
  wire  _T_5387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90516.4]
  wire  _T_17970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105269.4]
  wire  _T_17971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105270.4]
  wire  _T_3482; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88530.4]
  wire [3:0] _T_3518; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88569.4]
  wire [31:0] _T_3519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88570.4]
  wire  _T_5259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90388.4]
  wire  _T_17202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104366.4]
  wire  _T_17203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104367.4]
  wire [6:0] _T_3551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88602.4]
  wire [6:0] _T_3554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88605.4]
  wire  _T_3555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88606.4]
  wire  _T_3559; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88610.4]
  wire [6:0] _T_3560; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88611.4]
  wire [7:0] _T_3570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88624.4]
  wire [7:0] _T_3578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88632.4]
  wire [7:0] _T_3581; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88635.4]
  wire  _T_3582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88636.4]
  wire  _T_3586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88640.4]
  wire [7:0] _T_3587; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88641.4]
  wire [15:0] _T_3597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88654.4]
  wire [7:0] _T_3605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88662.4]
  wire [7:0] _T_3608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88665.4]
  wire  _T_3609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88666.4]
  wire  _T_3613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88670.4]
  wire [7:0] _T_3614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88671.4]
  wire [23:0] _T_3624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88684.4]
  wire [7:0] _T_3632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88692.4]
  wire [7:0] _T_3635; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88695.4]
  wire  _T_3636; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88696.4]
  wire  _T_3640; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88700.4]
  wire [7:0] _T_3641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88701.4]
  wire [31:0] _T_3651; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88714.4]
  wire  _T_5153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90282.4]
  wire  _T_16566; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103556.4]
  wire  _T_16567; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103557.4]
  wire  _T_3667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88730.4]
  wire  _T_5175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90304.4]
  wire  _T_16698; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103732.4]
  wire  _T_16699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103733.4]
  wire  _T_3692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88758.4]
  wire  _T_5158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90287.4]
  wire  _T_16596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103596.4]
  wire  _T_16597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103597.4]
  wire  _T_3717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88786.4]
  wire  _T_5143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90272.4]
  wire  _T_16506; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103476.4]
  wire  _T_16507; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103477.4]
  wire  _T_3742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88814.4]
  wire  _T_5138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90267.4]
  wire  _T_16476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103436.4]
  wire  _T_16477; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103437.4]
  wire  _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88842.4]
  wire  _T_5170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90299.4]
  wire  _T_16668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103692.4]
  wire  _T_16669; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103693.4]
  wire  _T_3792; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88870.4]
  wire  _T_5134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90263.4]
  wire  _T_16452; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103404.4]
  wire  _T_16453; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103405.4]
  wire  _T_3817; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88898.4]
  wire  _T_5166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90295.4]
  wire  _T_16644; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103660.4]
  wire  _T_16645; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103661.4]
  wire  _T_3842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88926.4]
  wire [2:0] _T_3930; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89017.4]
  wire [3:0] _T_3957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89044.4]
  wire [4:0] _T_3984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89071.4]
  wire [5:0] _T_4011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89098.4]
  wire [6:0] _T_4038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89125.4]
  wire [7:0] _T_4065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89152.4]
  wire [8:0] _T_4092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89179.4]
  wire [9:0] _T_4119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89206.4]
  wire [10:0] _T_4146; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89233.4]
  wire [11:0] _T_4173; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89260.4]
  wire [12:0] _T_4200; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89287.4]
  wire  _T_5149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90278.4]
  wire  _T_16542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103524.4]
  wire  _T_16543; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103525.4]
  wire  _T_4216; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89303.4]
  wire  _T_5147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90276.4]
  wire  _T_16530; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103508.4]
  wire  _T_16531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103509.4]
  wire  _T_4241; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89331.4]
  wire  _T_5162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90291.4]
  wire  _T_16620; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103628.4]
  wire  _T_16621; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103629.4]
  wire  _T_4266; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89359.4]
  wire  _T_5142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90271.4]
  wire  _T_16500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103468.4]
  wire  _T_16501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103469.4]
  wire  _T_4291; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89387.4]
  wire  _T_5174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90303.4]
  wire  _T_16692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103724.4]
  wire  _T_16693; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103725.4]
  wire  _T_4316; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89415.4]
  wire  _T_5171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90300.4]
  wire  _T_16674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.4]
  wire  _T_16675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103701.4]
  wire  _T_4341; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89443.4]
  wire  _T_5157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90286.4]
  wire  _T_16590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103588.4]
  wire  _T_16591; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.4]
  wire  _T_4366; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89471.4]
  wire  _T_5154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90283.4]
  wire  _T_16572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103564.4]
  wire  _T_16573; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103565.4]
  wire  _T_4391; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89499.4]
  wire  _T_5139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90268.4]
  wire  _T_16482; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103444.4]
  wire  _T_16483; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103445.4]
  wire  _T_4416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89527.4]
  wire  _T_5167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90296.4]
  wire  _T_16650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103668.4]
  wire  _T_16651; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103669.4]
  wire  _T_4441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89555.4]
  wire  _T_5161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90290.4]
  wire  _T_16614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103620.4]
  wire  _T_16615; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103621.4]
  wire  _T_4466; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89583.4]
  wire  _T_5150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90279.4]
  wire  _T_16548; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103532.4]
  wire  _T_16549; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103533.4]
  wire  _T_4491; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89611.4]
  wire  _T_5135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90264.4]
  wire  _T_16458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103412.4]
  wire  _T_16459; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103413.4]
  wire  _T_4516; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89639.4]
  wire  _T_5146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90275.4]
  wire  _T_16524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103500.4]
  wire  _T_16525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103501.4]
  wire  _T_4541; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89667.4]
  wire  _T_20033; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107592.4]
  wire  _T_20034; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107597.6]
  wire  _T_20035; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107602.8]
  wire  _T_20036; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107607.10]
  wire  _T_20037; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107612.12]
  wire  _T_20038; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107617.14]
  wire  _T_20039; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107622.16]
  wire  _T_20040; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107627.18]
  wire  _T_20041; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107632.20]
  wire  _T_20042; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107637.22]
  wire  _T_20043; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107642.24]
  wire  _T_20044; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107647.26]
  wire  _T_20045; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107652.28]
  wire  _T_20046; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107657.30]
  wire  _T_20047; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107662.32]
  wire  _T_20048; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107667.34]
  wire  _T_20049; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107672.36]
  wire  _T_20050; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107677.38]
  wire  _T_20051; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107682.40]
  wire  _T_20052; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107687.42]
  wire  _T_20053; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107692.44]
  wire  _T_20054; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107697.46]
  wire  _T_20055; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107702.48]
  wire  _T_20056; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107707.50]
  wire  _T_20057; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107712.52]
  wire  _T_20058; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107717.54]
  wire  _T_20059; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107722.56]
  wire  _T_20060; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107727.58]
  wire  _T_20061; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107732.60]
  wire  _T_20062; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107737.62]
  wire  _T_20063; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107742.64]
  wire  _T_20064; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107747.66]
  wire  _T_20065; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107752.68]
  wire  _T_20066; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107757.70]
  wire  _T_20067; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107762.72]
  wire  _T_20068; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107767.74]
  wire  _T_20069; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107772.76]
  wire  _T_20070; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107777.78]
  wire  _T_20071; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107782.80]
  wire  _T_20072; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107787.82]
  wire  _T_20073; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107792.84]
  wire  _T_20074; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107797.86]
  wire  _T_20075; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107802.88]
  wire  _T_20076; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107807.90]
  wire  _T_20077; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107812.92]
  wire  _T_20078; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107817.94]
  wire  _T_20079; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107822.96]
  wire  _T_20080; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107827.98]
  wire  _T_20081; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107832.100]
  wire  _T_20082; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107837.102]
  wire  _GEN_2143; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107838.102]
  wire  _GEN_2144; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107833.100]
  wire  _GEN_2145; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107828.98]
  wire  _GEN_2146; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107823.96]
  wire  _GEN_2147; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107818.94]
  wire  _GEN_2148; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107813.92]
  wire  _GEN_2149; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107808.90]
  wire  _GEN_2150; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107803.88]
  wire  _GEN_2151; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107798.86]
  wire  _GEN_2152; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107793.84]
  wire  _GEN_2153; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107788.82]
  wire  _GEN_2154; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107783.80]
  wire  _GEN_2155; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107778.78]
  wire  _GEN_2156; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107773.76]
  wire  _GEN_2157; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107768.74]
  wire  _GEN_2158; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107763.72]
  wire  _GEN_2159; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107758.70]
  wire  _GEN_2160; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107753.68]
  wire  _GEN_2161; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107748.66]
  wire  _GEN_2162; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107743.64]
  wire  _GEN_2163; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107738.62]
  wire  _GEN_2164; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107733.60]
  wire  _GEN_2165; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107728.58]
  wire  _GEN_2166; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107723.56]
  wire  _GEN_2167; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107718.54]
  wire  _GEN_2168; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107713.52]
  wire  _GEN_2169; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107708.50]
  wire  _GEN_2170; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107703.48]
  wire  _GEN_2171; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107698.46]
  wire  _GEN_2172; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107693.44]
  wire  _GEN_2173; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107688.42]
  wire  _GEN_2174; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107683.40]
  wire  _GEN_2175; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107678.38]
  wire  _GEN_2176; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.36]
  wire  _GEN_2177; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107668.34]
  wire  _GEN_2178; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107663.32]
  wire  _GEN_2179; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107658.30]
  wire  _GEN_2180; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107653.28]
  wire  _GEN_2181; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107648.26]
  wire  _GEN_2182; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107643.24]
  wire  _GEN_2183; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107638.22]
  wire  _GEN_2184; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107633.20]
  wire  _GEN_2185; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107628.18]
  wire  _GEN_2186; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107623.16]
  wire  _GEN_2187; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107618.14]
  wire  _GEN_2188; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107613.12]
  wire  _GEN_2189; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107608.10]
  wire  _GEN_2190; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107603.8]
  wire  _GEN_2191; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107598.6]
  wire  _GEN_2192; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107593.4]
  wire [31:0] _GEN_2193; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108090.102]
  wire [31:0] _GEN_2194; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108085.100]
  wire [31:0] _GEN_2195; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108080.98]
  wire [31:0] _GEN_2196; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108075.96]
  wire [31:0] _GEN_2197; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108070.94]
  wire [31:0] _GEN_2198; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108065.92]
  wire [31:0] _GEN_2199; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108060.90]
  wire [31:0] _GEN_2200; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108055.88]
  wire [31:0] _GEN_2201; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108050.86]
  wire [31:0] _GEN_2202; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108045.84]
  wire [31:0] _GEN_2203; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108040.82]
  wire [31:0] _GEN_2204; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108035.80]
  wire [31:0] _GEN_2205; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108030.78]
  wire [31:0] _GEN_2206; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108025.76]
  wire [31:0] _GEN_2207; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108020.74]
  wire [31:0] _GEN_2208; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108015.72]
  wire [31:0] _GEN_2209; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108010.70]
  wire [31:0] _GEN_2210; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108005.68]
  wire [31:0] _GEN_2211; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108000.66]
  wire [31:0] _GEN_2212; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107995.64]
  wire [31:0] _GEN_2213; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107990.62]
  wire [31:0] _GEN_2214; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107985.60]
  wire [31:0] _GEN_2215; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107980.58]
  wire [31:0] _GEN_2216; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107975.56]
  wire [31:0] _GEN_2217; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107970.54]
  wire [31:0] _GEN_2218; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107965.52]
  wire [31:0] _GEN_2219; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107960.50]
  wire [31:0] _GEN_2220; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107955.48]
  wire [31:0] _GEN_2221; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107950.46]
  wire [31:0] _GEN_2222; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107945.44]
  wire [31:0] _GEN_2223; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107940.42]
  wire [31:0] _GEN_2224; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107935.40]
  wire [31:0] _GEN_2225; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107930.38]
  wire [31:0] _GEN_2226; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107925.36]
  wire [31:0] _GEN_2227; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107920.34]
  wire [31:0] _GEN_2228; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107915.32]
  wire [31:0] _GEN_2229; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107910.30]
  wire [31:0] _GEN_2230; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107905.28]
  wire [31:0] _GEN_2231; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107900.26]
  wire [31:0] _GEN_2232; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107895.24]
  wire [31:0] _GEN_2233; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107890.22]
  wire [31:0] _GEN_2234; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107885.20]
  wire [31:0] _GEN_2235; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107880.18]
  wire [31:0] _GEN_2236; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107875.16]
  wire [31:0] _GEN_2237; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107870.14]
  wire [31:0] _GEN_2238; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107865.12]
  wire [31:0] _GEN_2239; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107860.10]
  wire [31:0] _GEN_2240; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107855.8]
  wire [31:0] _GEN_2241; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107850.6]
  wire [31:0] _GEN_2242; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107845.4]
  wire [7:0] _T_1408_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86784.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@108095.4]
  wire  _T_1408_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86784.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107588.4]
  TLMonitor_49 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@85860.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@85904.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@85909.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@85914.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@85919.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@85924.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@85929.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@85934.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@85939.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@85944.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@85949.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@85954.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@85959.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@85964.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@85969.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@85974.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@85979.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@85984.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@85989.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@85994.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@85999.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@86004.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@86009.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@86014.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@86019.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@86024.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@86029.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@86034.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@86039.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@86044.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@86049.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@86054.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@86059.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@86064.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@86069.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@86074.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@86079.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@86084.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@86089.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@86094.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@86099.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@86104.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@86109.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@86114.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@86119.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@86235.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_9 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86789.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@86179.4]
  assign _T_1018 = {_T_1017,enables_0_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86180.4]
  assign _T_1019 = {enables_0_5,enables_0_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86181.4]
  assign _T_1020 = {_T_1019,enables_0_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86182.4]
  assign enableVec_0 = {_T_1020,_T_1018}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86183.4]
  assign enableVec0_0 = {enableVec_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86187.4]
  assign _T_1041 = {pending_1,pending_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86192.4]
  assign _T_1042 = {pending_4,pending_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86193.4]
  assign _T_1043 = {_T_1042,pending_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86194.4]
  assign _T_1044 = {_T_1043,_T_1041}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86195.4]
  assign _T_1045 = {pending_7,pending_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86196.4]
  assign _T_1046 = {_T_1045,pending_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86197.4]
  assign _T_1047 = {pending_10,pending_9}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86198.4]
  assign _T_1048 = {_T_1047,pending_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86199.4]
  assign _T_1049 = {_T_1048,_T_1046}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86200.4]
  assign _T_1050 = {_T_1049,_T_1044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86201.4]
  assign _T_1051 = {pending_12,pending_11}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86202.4]
  assign _T_1052 = {pending_15,pending_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86203.4]
  assign _T_1053 = {_T_1052,pending_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86204.4]
  assign _T_1054 = {_T_1053,_T_1051}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86205.4]
  assign _T_1055 = {pending_18,pending_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86206.4]
  assign _T_1056 = {_T_1055,pending_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86207.4]
  assign _T_1057 = {pending_21,pending_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86208.4]
  assign _T_1058 = {_T_1057,pending_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86209.4]
  assign _T_1059 = {_T_1058,_T_1056}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86210.4]
  assign _T_1060 = {_T_1059,_T_1054}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86211.4]
  assign _T_1061 = {_T_1060,_T_1050}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86212.4]
  assign _T_1062 = {pending_23,pending_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86213.4]
  assign _T_1063 = {pending_26,pending_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86214.4]
  assign _T_1064 = {_T_1063,pending_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86215.4]
  assign _T_1065 = {_T_1064,_T_1062}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86216.4]
  assign _T_1066 = {pending_29,pending_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86217.4]
  assign _T_1067 = {_T_1066,pending_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86218.4]
  assign _T_1068 = {pending_32,pending_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86219.4]
  assign _T_1069 = {_T_1068,pending_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86220.4]
  assign _T_1070 = {_T_1069,_T_1067}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86221.4]
  assign _T_1071 = {_T_1070,_T_1065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86222.4]
  assign _T_1072 = {pending_34,pending_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86223.4]
  assign _T_1073 = {pending_37,pending_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86224.4]
  assign _T_1074 = {_T_1073,pending_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86225.4]
  assign _T_1075 = {_T_1074,_T_1072}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86226.4]
  assign _T_1076 = {pending_40,pending_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86227.4]
  assign _T_1077 = {_T_1076,pending_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86228.4]
  assign _T_1078 = {pending_43,pending_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86229.4]
  assign _T_1079 = {_T_1078,pending_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86230.4]
  assign _T_1080 = {_T_1079,_T_1077}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86231.4]
  assign _T_1081 = {_T_1080,_T_1075}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86232.4]
  assign _T_1082 = {_T_1081,_T_1071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86233.4]
  assign pendingUInt = {_T_1082,_T_1061}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86234.4]
  assign _T_12834 = Queue_io_deq_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99175.4]
  assign _T_12835 = _T_12834 & Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99176.4]
  assign _T_4604 = Queue_io_deq_bits_index[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89733.4]
  assign _T_4596 = Queue_io_deq_bits_index[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89725.4]
  assign _T_4613 = {_T_4604,_T_4596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89742.4]
  assign _T_4595 = Queue_io_deq_bits_index[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89724.4]
  assign _T_4614 = {_T_4613,_T_4595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89743.4]
  assign _T_4590 = Queue_io_deq_bits_index[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89719.4]
  assign _T_4589 = Queue_io_deq_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89718.4]
  assign _T_4612 = {_T_4590,_T_4589}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89741.4]
  assign _T_4615 = {_T_4614,_T_4612}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89744.4]
  assign _T_4588 = Queue_io_deq_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89717.4]
  assign _T_4587 = Queue_io_deq_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89716.4]
  assign _T_4610 = {_T_4588,_T_4587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89739.4]
  assign _T_4586 = Queue_io_deq_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89715.4]
  assign _T_4585 = Queue_io_deq_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89714.4]
  assign _T_4609 = {_T_4586,_T_4585}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89738.4]
  assign _T_4611 = {_T_4610,_T_4609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89740.4]
  assign _T_4616 = {_T_4615,_T_4611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89745.4]
  assign _T_5130 = 512'h1 << _T_4616; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@90259.4]
  assign _T_5388 = _T_5130[257]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90517.4]
  assign _T_14380 = _T_12835 & _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@101076.4]
  assign _T_1420 = Queue_io_deq_bits_index & 24'hf7f3c0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86801.4]
  assign _T_1444 = _T_1420 == 24'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86825.4]
  assign _T_14381 = _T_14380 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@101077.4]
  assign _T_1959 = Queue_io_deq_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86928.4]
  assign _T_1967 = _T_1959 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86936.4]
  assign _T_1958 = Queue_io_deq_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86927.4]
  assign _T_1965 = _T_1958 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86934.4]
  assign _T_1969 = {_T_1967,_T_1965}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86938.4]
  assign _T_1957 = Queue_io_deq_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86926.4]
  assign _T_1963 = _T_1957 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86932.4]
  assign _T_1956 = Queue_io_deq_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@86925.4]
  assign _T_1961 = _T_1956 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86930.4]
  assign _T_1968 = {_T_1963,_T_1961}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86937.4]
  assign _T_1970 = {_T_1969,_T_1968}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86939.4]
  assign _T_3116 = _T_1970 != 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88118.4]
  assign claimer_0 = _T_14381 & _T_3116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88123.4]
  assign _T_1093 = claimer_0 - 1'h1; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@86249.4]
  assign _T_1094 = $unsigned(_T_1093); // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@86250.4]
  assign _T_1095 = _T_1094[0:0]; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@86251.4]
  assign _T_1096 = claimer_0 & _T_1095; // @[Plic.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86252.4]
  assign _T_1097 = _T_1096 == 1'h0; // @[Plic.scala 223:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86253.4]
  assign _T_1099 = _T_1097 | reset; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86255.4]
  assign _T_1100 = _T_1099 == 1'h0; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86256.4]
  assign claiming = claimer_0 ? maxDevs_0 : 6'h0; // @[Plic.scala 224:49:shc.marmotcaravel.MarmotCaravelConfig.fir@86261.4]
  assign _T_1102 = 64'h1 << claiming; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86263.4]
  assign _T_1103 = _T_1102[44:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86264.4]
  assign claimedDevs_1 = _T_1103[1]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86266.4]
  assign claimedDevs_2 = _T_1103[2]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86267.4]
  assign claimedDevs_3 = _T_1103[3]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86268.4]
  assign claimedDevs_4 = _T_1103[4]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86269.4]
  assign claimedDevs_5 = _T_1103[5]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86270.4]
  assign claimedDevs_6 = _T_1103[6]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86271.4]
  assign claimedDevs_7 = _T_1103[7]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86272.4]
  assign claimedDevs_8 = _T_1103[8]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86273.4]
  assign claimedDevs_9 = _T_1103[9]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86274.4]
  assign claimedDevs_10 = _T_1103[10]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86275.4]
  assign claimedDevs_11 = _T_1103[11]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86276.4]
  assign claimedDevs_12 = _T_1103[12]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86277.4]
  assign claimedDevs_13 = _T_1103[13]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86278.4]
  assign claimedDevs_14 = _T_1103[14]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86279.4]
  assign claimedDevs_15 = _T_1103[15]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86280.4]
  assign claimedDevs_16 = _T_1103[16]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86281.4]
  assign claimedDevs_17 = _T_1103[17]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86282.4]
  assign claimedDevs_18 = _T_1103[18]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86283.4]
  assign claimedDevs_19 = _T_1103[19]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86284.4]
  assign claimedDevs_20 = _T_1103[20]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86285.4]
  assign claimedDevs_21 = _T_1103[21]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86286.4]
  assign claimedDevs_22 = _T_1103[22]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86287.4]
  assign claimedDevs_23 = _T_1103[23]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86288.4]
  assign claimedDevs_24 = _T_1103[24]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86289.4]
  assign claimedDevs_25 = _T_1103[25]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86290.4]
  assign claimedDevs_26 = _T_1103[26]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86291.4]
  assign claimedDevs_27 = _T_1103[27]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86292.4]
  assign claimedDevs_28 = _T_1103[28]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86293.4]
  assign claimedDevs_29 = _T_1103[29]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86294.4]
  assign claimedDevs_30 = _T_1103[30]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86295.4]
  assign claimedDevs_31 = _T_1103[31]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86296.4]
  assign claimedDevs_32 = _T_1103[32]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86297.4]
  assign claimedDevs_33 = _T_1103[33]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86298.4]
  assign claimedDevs_34 = _T_1103[34]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86299.4]
  assign claimedDevs_35 = _T_1103[35]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86300.4]
  assign claimedDevs_36 = _T_1103[36]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86301.4]
  assign claimedDevs_37 = _T_1103[37]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86302.4]
  assign claimedDevs_38 = _T_1103[38]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86303.4]
  assign claimedDevs_39 = _T_1103[39]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86304.4]
  assign claimedDevs_40 = _T_1103[40]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86305.4]
  assign claimedDevs_41 = _T_1103[41]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86306.4]
  assign claimedDevs_42 = _T_1103[42]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86307.4]
  assign claimedDevs_43 = _T_1103[43]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86308.4]
  assign claimedDevs_44 = _T_1103[44]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86309.4]
  assign _T_1200 = claimedDevs_1 | LevelGateway_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86359.4]
  assign _T_1201 = claimedDevs_1 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86361.6]
  assign _T_1203 = claimedDevs_2 | LevelGateway_1_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86366.4]
  assign _T_1204 = claimedDevs_2 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86368.6]
  assign _T_1206 = claimedDevs_3 | LevelGateway_2_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86373.4]
  assign _T_1207 = claimedDevs_3 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86375.6]
  assign _T_1209 = claimedDevs_4 | LevelGateway_3_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86380.4]
  assign _T_1210 = claimedDevs_4 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86382.6]
  assign _T_1212 = claimedDevs_5 | LevelGateway_4_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86387.4]
  assign _T_1213 = claimedDevs_5 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86389.6]
  assign _T_1215 = claimedDevs_6 | LevelGateway_5_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86394.4]
  assign _T_1216 = claimedDevs_6 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86396.6]
  assign _T_1218 = claimedDevs_7 | LevelGateway_6_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86401.4]
  assign _T_1219 = claimedDevs_7 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86403.6]
  assign _T_1221 = claimedDevs_8 | LevelGateway_7_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86408.4]
  assign _T_1222 = claimedDevs_8 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86410.6]
  assign _T_1224 = claimedDevs_9 | LevelGateway_8_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86415.4]
  assign _T_1225 = claimedDevs_9 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86417.6]
  assign _T_1227 = claimedDevs_10 | LevelGateway_9_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86422.4]
  assign _T_1228 = claimedDevs_10 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86424.6]
  assign _T_1230 = claimedDevs_11 | LevelGateway_10_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86429.4]
  assign _T_1231 = claimedDevs_11 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86431.6]
  assign _T_1233 = claimedDevs_12 | LevelGateway_11_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86436.4]
  assign _T_1234 = claimedDevs_12 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86438.6]
  assign _T_1236 = claimedDevs_13 | LevelGateway_12_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86443.4]
  assign _T_1237 = claimedDevs_13 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86445.6]
  assign _T_1239 = claimedDevs_14 | LevelGateway_13_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86450.4]
  assign _T_1240 = claimedDevs_14 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86452.6]
  assign _T_1242 = claimedDevs_15 | LevelGateway_14_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86457.4]
  assign _T_1243 = claimedDevs_15 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86459.6]
  assign _T_1245 = claimedDevs_16 | LevelGateway_15_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86464.4]
  assign _T_1246 = claimedDevs_16 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86466.6]
  assign _T_1248 = claimedDevs_17 | LevelGateway_16_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86471.4]
  assign _T_1249 = claimedDevs_17 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86473.6]
  assign _T_1251 = claimedDevs_18 | LevelGateway_17_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86478.4]
  assign _T_1252 = claimedDevs_18 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86480.6]
  assign _T_1254 = claimedDevs_19 | LevelGateway_18_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86485.4]
  assign _T_1255 = claimedDevs_19 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86487.6]
  assign _T_1257 = claimedDevs_20 | LevelGateway_19_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86492.4]
  assign _T_1258 = claimedDevs_20 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86494.6]
  assign _T_1260 = claimedDevs_21 | LevelGateway_20_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86499.4]
  assign _T_1261 = claimedDevs_21 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86501.6]
  assign _T_1263 = claimedDevs_22 | LevelGateway_21_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86506.4]
  assign _T_1264 = claimedDevs_22 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86508.6]
  assign _T_1266 = claimedDevs_23 | LevelGateway_22_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86513.4]
  assign _T_1267 = claimedDevs_23 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86515.6]
  assign _T_1269 = claimedDevs_24 | LevelGateway_23_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86520.4]
  assign _T_1270 = claimedDevs_24 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86522.6]
  assign _T_1272 = claimedDevs_25 | LevelGateway_24_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86527.4]
  assign _T_1273 = claimedDevs_25 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86529.6]
  assign _T_1275 = claimedDevs_26 | LevelGateway_25_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86534.4]
  assign _T_1276 = claimedDevs_26 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86536.6]
  assign _T_1278 = claimedDevs_27 | LevelGateway_26_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86541.4]
  assign _T_1279 = claimedDevs_27 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86543.6]
  assign _T_1281 = claimedDevs_28 | LevelGateway_27_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86548.4]
  assign _T_1282 = claimedDevs_28 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86550.6]
  assign _T_1284 = claimedDevs_29 | LevelGateway_28_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86555.4]
  assign _T_1285 = claimedDevs_29 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86557.6]
  assign _T_1287 = claimedDevs_30 | LevelGateway_29_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86562.4]
  assign _T_1288 = claimedDevs_30 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86564.6]
  assign _T_1290 = claimedDevs_31 | LevelGateway_30_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86569.4]
  assign _T_1291 = claimedDevs_31 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86571.6]
  assign _T_1293 = claimedDevs_32 | LevelGateway_31_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86576.4]
  assign _T_1294 = claimedDevs_32 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86578.6]
  assign _T_1296 = claimedDevs_33 | LevelGateway_32_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86583.4]
  assign _T_1297 = claimedDevs_33 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86585.6]
  assign _T_1299 = claimedDevs_34 | LevelGateway_33_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86590.4]
  assign _T_1300 = claimedDevs_34 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86592.6]
  assign _T_1302 = claimedDevs_35 | LevelGateway_34_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86597.4]
  assign _T_1303 = claimedDevs_35 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86599.6]
  assign _T_1305 = claimedDevs_36 | LevelGateway_35_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86604.4]
  assign _T_1306 = claimedDevs_36 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86606.6]
  assign _T_1308 = claimedDevs_37 | LevelGateway_36_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86611.4]
  assign _T_1309 = claimedDevs_37 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86613.6]
  assign _T_1311 = claimedDevs_38 | LevelGateway_37_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86618.4]
  assign _T_1312 = claimedDevs_38 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86620.6]
  assign _T_1314 = claimedDevs_39 | LevelGateway_38_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86625.4]
  assign _T_1315 = claimedDevs_39 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86627.6]
  assign _T_1317 = claimedDevs_40 | LevelGateway_39_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86632.4]
  assign _T_1318 = claimedDevs_40 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86634.6]
  assign _T_1320 = claimedDevs_41 | LevelGateway_40_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86639.4]
  assign _T_1321 = claimedDevs_41 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86641.6]
  assign _T_1323 = claimedDevs_42 | LevelGateway_41_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86646.4]
  assign _T_1324 = claimedDevs_42 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86648.6]
  assign _T_1326 = claimedDevs_43 | LevelGateway_42_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86653.4]
  assign _T_1327 = claimedDevs_43 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86655.6]
  assign _T_1329 = claimedDevs_44 | LevelGateway_43_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86660.4]
  assign _T_1330 = claimedDevs_44 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86662.6]
  assign _T_16430 = Queue_io_deq_bits_read == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103377.4]
  assign _T_16431 = _T_12834 & _T_16430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103378.4]
  assign _T_17976 = _T_16431 & _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105278.4]
  assign _T_17977 = _T_17976 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105279.4]
  assign _T_3118 = ~ _T_1970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88120.4]
  assign _T_3119 = _T_3118 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88121.4]
  assign _T_3123 = _T_17977 & _T_3119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88125.4]
  assign _T_3124 = Queue_io_deq_bits_data; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88127.4]
  assign completerDev = _T_3124[5:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@88137.4]
  assign _T_3131 = enableVec0_0 >> completerDev; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@88139.4]
  assign _T_3132 = _T_3131[0]; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@88140.4]
  assign completer_0 = _T_3123 & _T_3132; // @[Plic.scala 273:35:shc.marmotcaravel.MarmotCaravelConfig.fir@88141.4]
  assign _T_1337 = completer_0 - 1'h1; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86667.4]
  assign _T_1338 = $unsigned(_T_1337); // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86668.4]
  assign _T_1339 = _T_1338[0:0]; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@86669.4]
  assign _T_1340 = completer_0 & _T_1339; // @[Plic.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@86670.4]
  assign _T_1341 = _T_1340 == 1'h0; // @[Plic.scala 240:62:shc.marmotcaravel.MarmotCaravelConfig.fir@86671.4]
  assign _T_1343 = _T_1341 | reset; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86673.4]
  assign _T_1344 = _T_1343 == 1'h0; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@86674.4]
  assign _T_1347 = 64'h1 << completerDev; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@86682.4]
  assign _T_1348 = _T_1347[44:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@86683.4]
  assign completedDevs = completer_0 ? _T_1348 : 45'h0; // @[Plic.scala 242:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86684.4]
  assign _T_1402 = auto_in_a_bits_address[27:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@86778.4]
  assign _T_2020 = {pending_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@86989.4]
  assign _T_2047 = {pending_1,_T_2020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87016.4]
  assign _T_2074 = {pending_2,_T_2047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87043.4]
  assign _T_2101 = {pending_3,_T_2074}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87070.4]
  assign _T_2128 = {pending_4,_T_2101}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87097.4]
  assign _T_2155 = {pending_5,_T_2128}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87124.4]
  assign _T_2182 = {pending_6,_T_2155}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87151.4]
  assign _T_2209 = {pending_7,_T_2182}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87178.4]
  assign _T_2236 = {pending_8,_T_2209}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87205.4]
  assign _T_2263 = {pending_9,_T_2236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87232.4]
  assign _T_2290 = {pending_10,_T_2263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87259.4]
  assign _T_2317 = {pending_11,_T_2290}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87286.4]
  assign _T_2344 = {pending_12,_T_2317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87313.4]
  assign _T_2371 = {pending_13,_T_2344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87340.4]
  assign _T_2398 = {pending_14,_T_2371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87367.4]
  assign _T_2425 = {pending_15,_T_2398}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87394.4]
  assign _T_2452 = {pending_16,_T_2425}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87421.4]
  assign _T_2479 = {pending_17,_T_2452}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87448.4]
  assign _T_2506 = {pending_18,_T_2479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87475.4]
  assign _T_2533 = {pending_19,_T_2506}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87502.4]
  assign _T_2560 = {pending_20,_T_2533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87529.4]
  assign _T_2587 = {pending_21,_T_2560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87556.4]
  assign _T_2614 = {pending_22,_T_2587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87583.4]
  assign _T_2641 = {pending_23,_T_2614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87610.4]
  assign _T_2668 = {pending_24,_T_2641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87637.4]
  assign _T_2695 = {pending_25,_T_2668}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87664.4]
  assign _T_2722 = {pending_26,_T_2695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87691.4]
  assign _T_2749 = {pending_27,_T_2722}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87718.4]
  assign _T_2776 = {pending_28,_T_2749}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87745.4]
  assign _T_2803 = {pending_29,_T_2776}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87772.4]
  assign _T_2830 = {pending_30,_T_2803}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@87799.4]
  assign _T_2838 = _T_1970[2:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87807.4]
  assign _T_2841 = ~ _T_2838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87810.4]
  assign _T_2842 = _T_2841 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87811.4]
  assign _T_5136 = _T_5130[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90265.4]
  assign _T_16464 = _T_16431 & _T_5136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103420.4]
  assign _T_16465 = _T_16464 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103421.4]
  assign _T_2846 = _T_16465 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87815.4]
  assign _T_2847 = Queue_io_deq_bits_data[2:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87816.4]
  assign _T_5141 = _T_5130[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90270.4]
  assign _T_16494 = _T_16431 & _T_5141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103460.4]
  assign _T_16495 = _T_16494 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103461.4]
  assign _T_2871 = _T_16495 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87843.4]
  assign _T_5173 = _T_5130[42]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90302.4]
  assign _T_16686 = _T_16431 & _T_5173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103716.4]
  assign _T_16687 = _T_16686 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103717.4]
  assign _T_2896 = _T_16687 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87871.4]
  assign _T_5155 = _T_5130[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90284.4]
  assign _T_16578 = _T_16431 & _T_5155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103572.4]
  assign _T_16579 = _T_16578 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103573.4]
  assign _T_2921 = _T_16579 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87899.4]
  assign _T_5168 = _T_5130[37]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90297.4]
  assign _T_16656 = _T_16431 & _T_5168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103676.4]
  assign _T_16657 = _T_16656 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103677.4]
  assign _T_2946 = _T_16657 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87927.4]
  assign _T_5156 = _T_5130[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90285.4]
  assign _T_16584 = _T_16431 & _T_5156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103580.4]
  assign _T_16585 = _T_16584 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103581.4]
  assign _T_2971 = _T_16585 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87955.4]
  assign _T_5145 = _T_5130[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90274.4]
  assign _T_16518 = _T_16431 & _T_5145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103492.4]
  assign _T_16519 = _T_16518 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.4]
  assign _T_2996 = _T_16519 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@87983.4]
  assign _T_5151 = _T_5130[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90280.4]
  assign _T_16554 = _T_16431 & _T_5151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103540.4]
  assign _T_16555 = _T_16554 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.4]
  assign _T_3021 = _T_16555 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88011.4]
  assign _T_3038 = _T_1970[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88031.4]
  assign _T_3041 = ~ _T_3038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88034.4]
  assign _T_3042 = _T_3041 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88035.4]
  assign _T_5260 = _T_5130[129]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90389.4]
  assign _T_17208 = _T_16431 & _T_5260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104378.4]
  assign _T_17209 = _T_17208 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104379.4]
  assign _T_3046 = _T_17209 & _T_3042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88039.4]
  assign _T_3047 = Queue_io_deq_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88040.4]
  assign _T_3063 = _T_1970[12:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88059.4]
  assign _T_3066 = ~ _T_3063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88062.4]
  assign _T_3067 = _T_3066 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88063.4]
  assign _T_3071 = _T_17209 & _T_3067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88067.4]
  assign _T_3072 = Queue_io_deq_bits_data[12:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88068.4]
  assign _T_5160 = _T_5130[29]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90289.4]
  assign _T_16608 = _T_16431 & _T_5160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103612.4]
  assign _T_16609 = _T_16608 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103613.4]
  assign _T_3098 = _T_16609 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88097.4]
  assign _T_3126 = completerDev == completerDev; // @[Plic.scala 270:33:shc.marmotcaravel.MarmotCaravelConfig.fir@88129.4]
  assign _T_3128 = _T_3126 | reset; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@88131.4]
  assign _T_3129 = _T_3128 == 1'h0; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@88132.4]
  assign _T_3142 = {{26'd0}, maxDevs_0}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88151.4]
  assign _T_5132 = _T_5130[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90261.4]
  assign _T_16440 = _T_16431 & _T_5132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103388.4]
  assign _T_16441 = _T_16440 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103389.4]
  assign _T_3157 = _T_16441 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88166.4]
  assign _T_5137 = _T_5130[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90266.4]
  assign _T_16470 = _T_16431 & _T_5137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103428.4]
  assign _T_16471 = _T_16470 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103429.4]
  assign _T_3182 = _T_16471 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88194.4]
  assign _T_5159 = _T_5130[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90288.4]
  assign _T_16602 = _T_16431 & _T_5159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103604.4]
  assign _T_16603 = _T_16602 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103605.4]
  assign _T_3207 = _T_16603 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88222.4]
  assign _T_5169 = _T_5130[38]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90298.4]
  assign _T_16662 = _T_16431 & _T_5169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103684.4]
  assign _T_16663 = _T_16662 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103685.4]
  assign _T_3232 = _T_16663 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88250.4]
  assign _T_5152 = _T_5130[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90281.4]
  assign _T_16560 = _T_16431 & _T_5152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103548.4]
  assign _T_16561 = _T_16560 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103549.4]
  assign _T_3257 = _T_16561 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88278.4]
  assign _T_5164 = _T_5130[33]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90293.4]
  assign _T_16632 = _T_16431 & _T_5164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103644.4]
  assign _T_16633 = _T_16632 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103645.4]
  assign _T_3282 = _T_16633 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88306.4]
  assign _T_5140 = _T_5130[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90269.4]
  assign _T_16488 = _T_16431 & _T_5140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103452.4]
  assign _T_16489 = _T_16488 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103453.4]
  assign _T_3307 = _T_16489 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88334.4]
  assign _T_5144 = _T_5130[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90273.4]
  assign _T_16512 = _T_16431 & _T_5144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103484.4]
  assign _T_16513 = _T_16512 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103485.4]
  assign _T_3332 = _T_16513 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88362.4]
  assign _T_5172 = _T_5130[41]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90301.4]
  assign _T_16680 = _T_16431 & _T_5172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103708.4]
  assign _T_16681 = _T_16680 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103709.4]
  assign _T_3357 = _T_16681 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88390.4]
  assign _T_5133 = _T_5130[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90262.4]
  assign _T_16446 = _T_16431 & _T_5133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103396.4]
  assign _T_16447 = _T_16446 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103397.4]
  assign _T_3382 = _T_16447 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88418.4]
  assign _T_5163 = _T_5130[32]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90292.4]
  assign _T_16626 = _T_16431 & _T_5163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103636.4]
  assign _T_16627 = _T_16626 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103637.4]
  assign _T_3407 = _T_16627 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88446.4]
  assign _T_5165 = _T_5130[34]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90294.4]
  assign _T_16638 = _T_16431 & _T_5165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103652.4]
  assign _T_16639 = _T_16638 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103653.4]
  assign _T_3432 = _T_16639 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88474.4]
  assign _T_5148 = _T_5130[17]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90277.4]
  assign _T_16536 = _T_16431 & _T_5148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103516.4]
  assign _T_16537 = _T_16536 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103517.4]
  assign _T_3457 = _T_16537 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88502.4]
  assign _T_5387 = _T_5130[256]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90516.4]
  assign _T_17970 = _T_16431 & _T_5387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105269.4]
  assign _T_17971 = _T_17970 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105270.4]
  assign _T_3482 = _T_17971 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88530.4]
  assign _T_3518 = {1'h0,threshold_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88569.4]
  assign _T_3519 = {{28'd0}, _T_3518}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88570.4]
  assign _T_5259 = _T_5130[128]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90388.4]
  assign _T_17202 = _T_16431 & _T_5259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104366.4]
  assign _T_17203 = _T_17202 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104367.4]
  assign _T_3551 = _T_1970[7:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88602.4]
  assign _T_3554 = ~ _T_3551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88605.4]
  assign _T_3555 = _T_3554 == 7'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88606.4]
  assign _T_3559 = _T_17203 & _T_3555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88610.4]
  assign _T_3560 = Queue_io_deq_bits_data[7:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88611.4]
  assign _T_3570 = {enables_0_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88624.4]
  assign _T_3578 = _T_1970[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88632.4]
  assign _T_3581 = ~ _T_3578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88635.4]
  assign _T_3582 = _T_3581 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88636.4]
  assign _T_3586 = _T_17203 & _T_3582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88640.4]
  assign _T_3587 = Queue_io_deq_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88641.4]
  assign _T_3597 = {enables_0_1,_T_3570}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88654.4]
  assign _T_3605 = _T_1970[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88662.4]
  assign _T_3608 = ~ _T_3605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88665.4]
  assign _T_3609 = _T_3608 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88666.4]
  assign _T_3613 = _T_17203 & _T_3609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88670.4]
  assign _T_3614 = Queue_io_deq_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88671.4]
  assign _T_3624 = {enables_0_2,_T_3597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88684.4]
  assign _T_3632 = _T_1970[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88692.4]
  assign _T_3635 = ~ _T_3632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88695.4]
  assign _T_3636 = _T_3635 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88696.4]
  assign _T_3640 = _T_17203 & _T_3636; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88700.4]
  assign _T_3641 = Queue_io_deq_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88701.4]
  assign _T_3651 = {enables_0_3,_T_3624}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@88714.4]
  assign _T_5153 = _T_5130[22]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90282.4]
  assign _T_16566 = _T_16431 & _T_5153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103556.4]
  assign _T_16567 = _T_16566 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103557.4]
  assign _T_3667 = _T_16567 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88730.4]
  assign _T_5175 = _T_5130[44]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90304.4]
  assign _T_16698 = _T_16431 & _T_5175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103732.4]
  assign _T_16699 = _T_16698 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103733.4]
  assign _T_3692 = _T_16699 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88758.4]
  assign _T_5158 = _T_5130[27]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90287.4]
  assign _T_16596 = _T_16431 & _T_5158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103596.4]
  assign _T_16597 = _T_16596 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103597.4]
  assign _T_3717 = _T_16597 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88786.4]
  assign _T_5143 = _T_5130[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90272.4]
  assign _T_16506 = _T_16431 & _T_5143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103476.4]
  assign _T_16507 = _T_16506 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103477.4]
  assign _T_3742 = _T_16507 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88814.4]
  assign _T_5138 = _T_5130[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90267.4]
  assign _T_16476 = _T_16431 & _T_5138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103436.4]
  assign _T_16477 = _T_16476 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103437.4]
  assign _T_3767 = _T_16477 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88842.4]
  assign _T_5170 = _T_5130[39]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90299.4]
  assign _T_16668 = _T_16431 & _T_5170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103692.4]
  assign _T_16669 = _T_16668 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103693.4]
  assign _T_3792 = _T_16669 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88870.4]
  assign _T_5134 = _T_5130[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90263.4]
  assign _T_16452 = _T_16431 & _T_5134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103404.4]
  assign _T_16453 = _T_16452 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103405.4]
  assign _T_3817 = _T_16453 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88898.4]
  assign _T_5166 = _T_5130[35]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90295.4]
  assign _T_16644 = _T_16431 & _T_5166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103660.4]
  assign _T_16645 = _T_16644 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103661.4]
  assign _T_3842 = _T_16645 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@88926.4]
  assign _T_3930 = {pending_33,_T_1068}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89017.4]
  assign _T_3957 = {pending_34,_T_3930}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89044.4]
  assign _T_3984 = {pending_35,_T_3957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89071.4]
  assign _T_4011 = {pending_36,_T_3984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89098.4]
  assign _T_4038 = {pending_37,_T_4011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89125.4]
  assign _T_4065 = {pending_38,_T_4038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89152.4]
  assign _T_4092 = {pending_39,_T_4065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89179.4]
  assign _T_4119 = {pending_40,_T_4092}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89206.4]
  assign _T_4146 = {pending_41,_T_4119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89233.4]
  assign _T_4173 = {pending_42,_T_4146}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89260.4]
  assign _T_4200 = {pending_43,_T_4173}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@89287.4]
  assign _T_5149 = _T_5130[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90278.4]
  assign _T_16542 = _T_16431 & _T_5149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103524.4]
  assign _T_16543 = _T_16542 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103525.4]
  assign _T_4216 = _T_16543 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89303.4]
  assign _T_5147 = _T_5130[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90276.4]
  assign _T_16530 = _T_16431 & _T_5147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103508.4]
  assign _T_16531 = _T_16530 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103509.4]
  assign _T_4241 = _T_16531 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89331.4]
  assign _T_5162 = _T_5130[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90291.4]
  assign _T_16620 = _T_16431 & _T_5162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103628.4]
  assign _T_16621 = _T_16620 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103629.4]
  assign _T_4266 = _T_16621 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89359.4]
  assign _T_5142 = _T_5130[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90271.4]
  assign _T_16500 = _T_16431 & _T_5142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103468.4]
  assign _T_16501 = _T_16500 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103469.4]
  assign _T_4291 = _T_16501 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89387.4]
  assign _T_5174 = _T_5130[43]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90303.4]
  assign _T_16692 = _T_16431 & _T_5174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103724.4]
  assign _T_16693 = _T_16692 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103725.4]
  assign _T_4316 = _T_16693 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89415.4]
  assign _T_5171 = _T_5130[40]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90300.4]
  assign _T_16674 = _T_16431 & _T_5171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.4]
  assign _T_16675 = _T_16674 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103701.4]
  assign _T_4341 = _T_16675 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89443.4]
  assign _T_5157 = _T_5130[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90286.4]
  assign _T_16590 = _T_16431 & _T_5157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103588.4]
  assign _T_16591 = _T_16590 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.4]
  assign _T_4366 = _T_16591 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89471.4]
  assign _T_5154 = _T_5130[23]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90283.4]
  assign _T_16572 = _T_16431 & _T_5154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103564.4]
  assign _T_16573 = _T_16572 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103565.4]
  assign _T_4391 = _T_16573 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89499.4]
  assign _T_5139 = _T_5130[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90268.4]
  assign _T_16482 = _T_16431 & _T_5139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103444.4]
  assign _T_16483 = _T_16482 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103445.4]
  assign _T_4416 = _T_16483 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89527.4]
  assign _T_5167 = _T_5130[36]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90296.4]
  assign _T_16650 = _T_16431 & _T_5167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103668.4]
  assign _T_16651 = _T_16650 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103669.4]
  assign _T_4441 = _T_16651 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89555.4]
  assign _T_5161 = _T_5130[30]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90290.4]
  assign _T_16614 = _T_16431 & _T_5161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103620.4]
  assign _T_16615 = _T_16614 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103621.4]
  assign _T_4466 = _T_16615 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89583.4]
  assign _T_5150 = _T_5130[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90279.4]
  assign _T_16548 = _T_16431 & _T_5150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103532.4]
  assign _T_16549 = _T_16548 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103533.4]
  assign _T_4491 = _T_16549 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89611.4]
  assign _T_5135 = _T_5130[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90264.4]
  assign _T_16458 = _T_16431 & _T_5135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103412.4]
  assign _T_16459 = _T_16458 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103413.4]
  assign _T_4516 = _T_16459 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89639.4]
  assign _T_5146 = _T_5130[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@90275.4]
  assign _T_16524 = _T_16431 & _T_5146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103500.4]
  assign _T_16525 = _T_16524 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103501.4]
  assign _T_4541 = _T_16525 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@89667.4]
  assign _T_20033 = 9'h1 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107592.4]
  assign _T_20034 = 9'h2 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107597.6]
  assign _T_20035 = 9'h3 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107602.8]
  assign _T_20036 = 9'h4 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107607.10]
  assign _T_20037 = 9'h5 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107612.12]
  assign _T_20038 = 9'h6 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107617.14]
  assign _T_20039 = 9'h7 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107622.16]
  assign _T_20040 = 9'h8 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107627.18]
  assign _T_20041 = 9'h9 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107632.20]
  assign _T_20042 = 9'ha == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107637.22]
  assign _T_20043 = 9'hb == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107642.24]
  assign _T_20044 = 9'hc == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107647.26]
  assign _T_20045 = 9'hd == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107652.28]
  assign _T_20046 = 9'he == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107657.30]
  assign _T_20047 = 9'hf == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107662.32]
  assign _T_20048 = 9'h10 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107667.34]
  assign _T_20049 = 9'h11 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107672.36]
  assign _T_20050 = 9'h12 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107677.38]
  assign _T_20051 = 9'h13 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107682.40]
  assign _T_20052 = 9'h14 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107687.42]
  assign _T_20053 = 9'h15 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107692.44]
  assign _T_20054 = 9'h16 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107697.46]
  assign _T_20055 = 9'h17 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107702.48]
  assign _T_20056 = 9'h18 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107707.50]
  assign _T_20057 = 9'h19 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107712.52]
  assign _T_20058 = 9'h1a == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107717.54]
  assign _T_20059 = 9'h1b == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107722.56]
  assign _T_20060 = 9'h1c == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107727.58]
  assign _T_20061 = 9'h1d == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107732.60]
  assign _T_20062 = 9'h1e == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107737.62]
  assign _T_20063 = 9'h1f == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107742.64]
  assign _T_20064 = 9'h20 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107747.66]
  assign _T_20065 = 9'h21 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107752.68]
  assign _T_20066 = 9'h22 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107757.70]
  assign _T_20067 = 9'h23 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107762.72]
  assign _T_20068 = 9'h24 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107767.74]
  assign _T_20069 = 9'h25 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107772.76]
  assign _T_20070 = 9'h26 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107777.78]
  assign _T_20071 = 9'h27 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107782.80]
  assign _T_20072 = 9'h28 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107787.82]
  assign _T_20073 = 9'h29 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107792.84]
  assign _T_20074 = 9'h2a == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107797.86]
  assign _T_20075 = 9'h2b == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107802.88]
  assign _T_20076 = 9'h2c == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107807.90]
  assign _T_20077 = 9'h40 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107812.92]
  assign _T_20078 = 9'h41 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107817.94]
  assign _T_20079 = 9'h80 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107822.96]
  assign _T_20080 = 9'h81 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107827.98]
  assign _T_20081 = 9'h100 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107832.100]
  assign _T_20082 = 9'h101 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107837.102]
  assign _GEN_2143 = _T_20082 ? _T_1444 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107838.102]
  assign _GEN_2144 = _T_20081 ? _T_1444 : _GEN_2143; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107833.100]
  assign _GEN_2145 = _T_20080 ? _T_1444 : _GEN_2144; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107828.98]
  assign _GEN_2146 = _T_20079 ? _T_1444 : _GEN_2145; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107823.96]
  assign _GEN_2147 = _T_20078 ? _T_1444 : _GEN_2146; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107818.94]
  assign _GEN_2148 = _T_20077 ? _T_1444 : _GEN_2147; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107813.92]
  assign _GEN_2149 = _T_20076 ? _T_1444 : _GEN_2148; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107808.90]
  assign _GEN_2150 = _T_20075 ? _T_1444 : _GEN_2149; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107803.88]
  assign _GEN_2151 = _T_20074 ? _T_1444 : _GEN_2150; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107798.86]
  assign _GEN_2152 = _T_20073 ? _T_1444 : _GEN_2151; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107793.84]
  assign _GEN_2153 = _T_20072 ? _T_1444 : _GEN_2152; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107788.82]
  assign _GEN_2154 = _T_20071 ? _T_1444 : _GEN_2153; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107783.80]
  assign _GEN_2155 = _T_20070 ? _T_1444 : _GEN_2154; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107778.78]
  assign _GEN_2156 = _T_20069 ? _T_1444 : _GEN_2155; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107773.76]
  assign _GEN_2157 = _T_20068 ? _T_1444 : _GEN_2156; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107768.74]
  assign _GEN_2158 = _T_20067 ? _T_1444 : _GEN_2157; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107763.72]
  assign _GEN_2159 = _T_20066 ? _T_1444 : _GEN_2158; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107758.70]
  assign _GEN_2160 = _T_20065 ? _T_1444 : _GEN_2159; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107753.68]
  assign _GEN_2161 = _T_20064 ? _T_1444 : _GEN_2160; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107748.66]
  assign _GEN_2162 = _T_20063 ? _T_1444 : _GEN_2161; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107743.64]
  assign _GEN_2163 = _T_20062 ? _T_1444 : _GEN_2162; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107738.62]
  assign _GEN_2164 = _T_20061 ? _T_1444 : _GEN_2163; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107733.60]
  assign _GEN_2165 = _T_20060 ? _T_1444 : _GEN_2164; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107728.58]
  assign _GEN_2166 = _T_20059 ? _T_1444 : _GEN_2165; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107723.56]
  assign _GEN_2167 = _T_20058 ? _T_1444 : _GEN_2166; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107718.54]
  assign _GEN_2168 = _T_20057 ? _T_1444 : _GEN_2167; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107713.52]
  assign _GEN_2169 = _T_20056 ? _T_1444 : _GEN_2168; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107708.50]
  assign _GEN_2170 = _T_20055 ? _T_1444 : _GEN_2169; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107703.48]
  assign _GEN_2171 = _T_20054 ? _T_1444 : _GEN_2170; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107698.46]
  assign _GEN_2172 = _T_20053 ? _T_1444 : _GEN_2171; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107693.44]
  assign _GEN_2173 = _T_20052 ? _T_1444 : _GEN_2172; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107688.42]
  assign _GEN_2174 = _T_20051 ? _T_1444 : _GEN_2173; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107683.40]
  assign _GEN_2175 = _T_20050 ? _T_1444 : _GEN_2174; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107678.38]
  assign _GEN_2176 = _T_20049 ? _T_1444 : _GEN_2175; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.36]
  assign _GEN_2177 = _T_20048 ? _T_1444 : _GEN_2176; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107668.34]
  assign _GEN_2178 = _T_20047 ? _T_1444 : _GEN_2177; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107663.32]
  assign _GEN_2179 = _T_20046 ? _T_1444 : _GEN_2178; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107658.30]
  assign _GEN_2180 = _T_20045 ? _T_1444 : _GEN_2179; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107653.28]
  assign _GEN_2181 = _T_20044 ? _T_1444 : _GEN_2180; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107648.26]
  assign _GEN_2182 = _T_20043 ? _T_1444 : _GEN_2181; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107643.24]
  assign _GEN_2183 = _T_20042 ? _T_1444 : _GEN_2182; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107638.22]
  assign _GEN_2184 = _T_20041 ? _T_1444 : _GEN_2183; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107633.20]
  assign _GEN_2185 = _T_20040 ? _T_1444 : _GEN_2184; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107628.18]
  assign _GEN_2186 = _T_20039 ? _T_1444 : _GEN_2185; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107623.16]
  assign _GEN_2187 = _T_20038 ? _T_1444 : _GEN_2186; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107618.14]
  assign _GEN_2188 = _T_20037 ? _T_1444 : _GEN_2187; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107613.12]
  assign _GEN_2189 = _T_20036 ? _T_1444 : _GEN_2188; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107608.10]
  assign _GEN_2190 = _T_20035 ? _T_1444 : _GEN_2189; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107603.8]
  assign _GEN_2191 = _T_20034 ? _T_1444 : _GEN_2190; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107598.6]
  assign _GEN_2192 = _T_20033 ? _T_1444 : _GEN_2191; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107593.4]
  assign _GEN_2193 = _T_20082 ? _T_3142 : 32'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108090.102]
  assign _GEN_2194 = _T_20081 ? _T_3519 : _GEN_2193; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108085.100]
  assign _GEN_2195 = _T_20080 ? {{19'd0}, _T_1019} : _GEN_2194; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108080.98]
  assign _GEN_2196 = _T_20079 ? _T_3651 : _GEN_2195; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108075.96]
  assign _GEN_2197 = _T_20078 ? {{19'd0}, _T_4200} : _GEN_2196; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108070.94]
  assign _GEN_2198 = _T_20077 ? _T_2830 : _GEN_2197; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108065.92]
  assign _GEN_2199 = _T_20076 ? {{29'd0}, priority_43} : _GEN_2198; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108060.90]
  assign _GEN_2200 = _T_20075 ? {{29'd0}, priority_42} : _GEN_2199; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108055.88]
  assign _GEN_2201 = _T_20074 ? {{29'd0}, priority_41} : _GEN_2200; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108050.86]
  assign _GEN_2202 = _T_20073 ? {{29'd0}, priority_40} : _GEN_2201; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108045.84]
  assign _GEN_2203 = _T_20072 ? {{29'd0}, priority_39} : _GEN_2202; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108040.82]
  assign _GEN_2204 = _T_20071 ? {{29'd0}, priority_38} : _GEN_2203; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108035.80]
  assign _GEN_2205 = _T_20070 ? {{29'd0}, priority_37} : _GEN_2204; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108030.78]
  assign _GEN_2206 = _T_20069 ? {{29'd0}, priority_36} : _GEN_2205; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108025.76]
  assign _GEN_2207 = _T_20068 ? {{29'd0}, priority_35} : _GEN_2206; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108020.74]
  assign _GEN_2208 = _T_20067 ? {{29'd0}, priority_34} : _GEN_2207; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108015.72]
  assign _GEN_2209 = _T_20066 ? {{29'd0}, priority_33} : _GEN_2208; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108010.70]
  assign _GEN_2210 = _T_20065 ? {{29'd0}, priority_32} : _GEN_2209; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108005.68]
  assign _GEN_2211 = _T_20064 ? {{29'd0}, priority_31} : _GEN_2210; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108000.66]
  assign _GEN_2212 = _T_20063 ? {{29'd0}, priority_30} : _GEN_2211; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107995.64]
  assign _GEN_2213 = _T_20062 ? {{29'd0}, priority_29} : _GEN_2212; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107990.62]
  assign _GEN_2214 = _T_20061 ? {{29'd0}, priority_28} : _GEN_2213; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107985.60]
  assign _GEN_2215 = _T_20060 ? {{29'd0}, priority_27} : _GEN_2214; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107980.58]
  assign _GEN_2216 = _T_20059 ? {{29'd0}, priority_26} : _GEN_2215; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107975.56]
  assign _GEN_2217 = _T_20058 ? {{29'd0}, priority_25} : _GEN_2216; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107970.54]
  assign _GEN_2218 = _T_20057 ? {{29'd0}, priority_24} : _GEN_2217; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107965.52]
  assign _GEN_2219 = _T_20056 ? {{29'd0}, priority_23} : _GEN_2218; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107960.50]
  assign _GEN_2220 = _T_20055 ? {{29'd0}, priority_22} : _GEN_2219; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107955.48]
  assign _GEN_2221 = _T_20054 ? {{29'd0}, priority_21} : _GEN_2220; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107950.46]
  assign _GEN_2222 = _T_20053 ? {{29'd0}, priority_20} : _GEN_2221; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107945.44]
  assign _GEN_2223 = _T_20052 ? {{29'd0}, priority_19} : _GEN_2222; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107940.42]
  assign _GEN_2224 = _T_20051 ? {{29'd0}, priority_18} : _GEN_2223; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107935.40]
  assign _GEN_2225 = _T_20050 ? {{29'd0}, priority_17} : _GEN_2224; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107930.38]
  assign _GEN_2226 = _T_20049 ? {{29'd0}, priority_16} : _GEN_2225; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107925.36]
  assign _GEN_2227 = _T_20048 ? {{29'd0}, priority_15} : _GEN_2226; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107920.34]
  assign _GEN_2228 = _T_20047 ? {{29'd0}, priority_14} : _GEN_2227; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107915.32]
  assign _GEN_2229 = _T_20046 ? {{29'd0}, priority_13} : _GEN_2228; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107910.30]
  assign _GEN_2230 = _T_20045 ? {{29'd0}, priority_12} : _GEN_2229; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107905.28]
  assign _GEN_2231 = _T_20044 ? {{29'd0}, priority_11} : _GEN_2230; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107900.26]
  assign _GEN_2232 = _T_20043 ? {{29'd0}, priority_10} : _GEN_2231; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107895.24]
  assign _GEN_2233 = _T_20042 ? {{29'd0}, priority_9} : _GEN_2232; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107890.22]
  assign _GEN_2234 = _T_20041 ? {{29'd0}, priority_8} : _GEN_2233; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107885.20]
  assign _GEN_2235 = _T_20040 ? {{29'd0}, priority_7} : _GEN_2234; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107880.18]
  assign _GEN_2236 = _T_20039 ? {{29'd0}, priority_6} : _GEN_2235; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107875.16]
  assign _GEN_2237 = _T_20038 ? {{29'd0}, priority_5} : _GEN_2236; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107870.14]
  assign _GEN_2238 = _T_20037 ? {{29'd0}, priority_4} : _GEN_2237; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107865.12]
  assign _GEN_2239 = _T_20036 ? {{29'd0}, priority_3} : _GEN_2238; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107860.10]
  assign _GEN_2240 = _T_20035 ? {{29'd0}, priority_2} : _GEN_2239; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107855.8]
  assign _GEN_2241 = _T_20034 ? {{29'd0}, priority_1} : _GEN_2240; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107850.6]
  assign _GEN_2242 = _T_20033 ? {{29'd0}, priority_0} : _GEN_2241; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107845.4]
  assign _T_1408_bits_extra = Queue_io_deq_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86784.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@108095.4]
  assign _T_1408_bits_read = Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@86784.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107588.4]
  assign auto_int_out_0 = _T_1085 > threshold_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@85902.4]
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@85901.4]
  assign auto_in_d_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@85901.4]
  assign auto_in_d_bits_opcode = {{2'd0}, _T_1408_bits_read}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@85901.4]
  assign auto_in_d_bits_size = _T_1408_bits_extra[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@85901.4]
  assign auto_in_d_bits_source = _T_1408_bits_extra[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@85901.4]
  assign auto_in_d_bits_data = _GEN_2192 ? _GEN_2242 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@85901.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85862.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85863.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_d_valid = Queue_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_1408_bits_read}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_d_bits_size = _T_1408_bits_extra[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign TLMonitor_io_in_d_bits_source = _T_1408_bits_extra[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@85896.4]
  assign LevelGateway_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85906.4]
  assign LevelGateway_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85907.4]
  assign LevelGateway_io_interrupt = auto_int_in_0; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85908.4]
  assign LevelGateway_io_plic_ready = pending_0 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86358.4]
  assign LevelGateway_io_plic_complete = completedDevs[1]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86730.4]
  assign LevelGateway_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85911.4]
  assign LevelGateway_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85912.4]
  assign LevelGateway_1_io_interrupt = auto_int_in_1; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85913.4]
  assign LevelGateway_1_io_plic_ready = pending_1 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86365.4]
  assign LevelGateway_1_io_plic_complete = completedDevs[2]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86731.4]
  assign LevelGateway_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85916.4]
  assign LevelGateway_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85917.4]
  assign LevelGateway_2_io_interrupt = auto_int_in_2; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85918.4]
  assign LevelGateway_2_io_plic_ready = pending_2 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86372.4]
  assign LevelGateway_2_io_plic_complete = completedDevs[3]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86732.4]
  assign LevelGateway_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85921.4]
  assign LevelGateway_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85922.4]
  assign LevelGateway_3_io_interrupt = auto_int_in_3; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85923.4]
  assign LevelGateway_3_io_plic_ready = pending_3 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86379.4]
  assign LevelGateway_3_io_plic_complete = completedDevs[4]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86733.4]
  assign LevelGateway_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85926.4]
  assign LevelGateway_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85927.4]
  assign LevelGateway_4_io_interrupt = auto_int_in_4; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85928.4]
  assign LevelGateway_4_io_plic_ready = pending_4 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86386.4]
  assign LevelGateway_4_io_plic_complete = completedDevs[5]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86734.4]
  assign LevelGateway_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85931.4]
  assign LevelGateway_5_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85932.4]
  assign LevelGateway_5_io_interrupt = auto_int_in_5; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85933.4]
  assign LevelGateway_5_io_plic_ready = pending_5 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86393.4]
  assign LevelGateway_5_io_plic_complete = completedDevs[6]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86735.4]
  assign LevelGateway_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85936.4]
  assign LevelGateway_6_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85937.4]
  assign LevelGateway_6_io_interrupt = auto_int_in_6; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85938.4]
  assign LevelGateway_6_io_plic_ready = pending_6 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86400.4]
  assign LevelGateway_6_io_plic_complete = completedDevs[7]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86736.4]
  assign LevelGateway_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85941.4]
  assign LevelGateway_7_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85942.4]
  assign LevelGateway_7_io_interrupt = auto_int_in_7; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85943.4]
  assign LevelGateway_7_io_plic_ready = pending_7 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86407.4]
  assign LevelGateway_7_io_plic_complete = completedDevs[8]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86737.4]
  assign LevelGateway_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85946.4]
  assign LevelGateway_8_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85947.4]
  assign LevelGateway_8_io_interrupt = auto_int_in_8; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85948.4]
  assign LevelGateway_8_io_plic_ready = pending_8 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86414.4]
  assign LevelGateway_8_io_plic_complete = completedDevs[9]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86738.4]
  assign LevelGateway_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85951.4]
  assign LevelGateway_9_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85952.4]
  assign LevelGateway_9_io_interrupt = auto_int_in_9; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85953.4]
  assign LevelGateway_9_io_plic_ready = pending_9 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86421.4]
  assign LevelGateway_9_io_plic_complete = completedDevs[10]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86739.4]
  assign LevelGateway_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85956.4]
  assign LevelGateway_10_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85957.4]
  assign LevelGateway_10_io_interrupt = auto_int_in_10; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85958.4]
  assign LevelGateway_10_io_plic_ready = pending_10 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86428.4]
  assign LevelGateway_10_io_plic_complete = completedDevs[11]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86740.4]
  assign LevelGateway_11_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85961.4]
  assign LevelGateway_11_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85962.4]
  assign LevelGateway_11_io_interrupt = auto_int_in_11; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85963.4]
  assign LevelGateway_11_io_plic_ready = pending_11 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86435.4]
  assign LevelGateway_11_io_plic_complete = completedDevs[12]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86741.4]
  assign LevelGateway_12_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85966.4]
  assign LevelGateway_12_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85967.4]
  assign LevelGateway_12_io_interrupt = auto_int_in_12; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85968.4]
  assign LevelGateway_12_io_plic_ready = pending_12 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86442.4]
  assign LevelGateway_12_io_plic_complete = completedDevs[13]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86742.4]
  assign LevelGateway_13_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85971.4]
  assign LevelGateway_13_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85972.4]
  assign LevelGateway_13_io_interrupt = auto_int_in_13; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85973.4]
  assign LevelGateway_13_io_plic_ready = pending_13 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86449.4]
  assign LevelGateway_13_io_plic_complete = completedDevs[14]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86743.4]
  assign LevelGateway_14_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85976.4]
  assign LevelGateway_14_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85977.4]
  assign LevelGateway_14_io_interrupt = auto_int_in_14; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85978.4]
  assign LevelGateway_14_io_plic_ready = pending_14 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86456.4]
  assign LevelGateway_14_io_plic_complete = completedDevs[15]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86744.4]
  assign LevelGateway_15_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85981.4]
  assign LevelGateway_15_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85982.4]
  assign LevelGateway_15_io_interrupt = auto_int_in_15; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85983.4]
  assign LevelGateway_15_io_plic_ready = pending_15 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86463.4]
  assign LevelGateway_15_io_plic_complete = completedDevs[16]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86745.4]
  assign LevelGateway_16_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85986.4]
  assign LevelGateway_16_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85987.4]
  assign LevelGateway_16_io_interrupt = auto_int_in_16; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85988.4]
  assign LevelGateway_16_io_plic_ready = pending_16 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86470.4]
  assign LevelGateway_16_io_plic_complete = completedDevs[17]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86746.4]
  assign LevelGateway_17_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85991.4]
  assign LevelGateway_17_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85992.4]
  assign LevelGateway_17_io_interrupt = auto_int_in_17; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85993.4]
  assign LevelGateway_17_io_plic_ready = pending_17 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86477.4]
  assign LevelGateway_17_io_plic_complete = completedDevs[18]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86747.4]
  assign LevelGateway_18_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85996.4]
  assign LevelGateway_18_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@85997.4]
  assign LevelGateway_18_io_interrupt = auto_int_in_18; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@85998.4]
  assign LevelGateway_18_io_plic_ready = pending_18 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86484.4]
  assign LevelGateway_18_io_plic_complete = completedDevs[19]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86748.4]
  assign LevelGateway_19_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86001.4]
  assign LevelGateway_19_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86002.4]
  assign LevelGateway_19_io_interrupt = auto_int_in_19; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86003.4]
  assign LevelGateway_19_io_plic_ready = pending_19 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86491.4]
  assign LevelGateway_19_io_plic_complete = completedDevs[20]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86749.4]
  assign LevelGateway_20_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86006.4]
  assign LevelGateway_20_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86007.4]
  assign LevelGateway_20_io_interrupt = auto_int_in_20; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86008.4]
  assign LevelGateway_20_io_plic_ready = pending_20 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86498.4]
  assign LevelGateway_20_io_plic_complete = completedDevs[21]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86750.4]
  assign LevelGateway_21_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86011.4]
  assign LevelGateway_21_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86012.4]
  assign LevelGateway_21_io_interrupt = auto_int_in_21; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86013.4]
  assign LevelGateway_21_io_plic_ready = pending_21 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86505.4]
  assign LevelGateway_21_io_plic_complete = completedDevs[22]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86751.4]
  assign LevelGateway_22_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86016.4]
  assign LevelGateway_22_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86017.4]
  assign LevelGateway_22_io_interrupt = auto_int_in_22; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86018.4]
  assign LevelGateway_22_io_plic_ready = pending_22 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86512.4]
  assign LevelGateway_22_io_plic_complete = completedDevs[23]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86752.4]
  assign LevelGateway_23_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86021.4]
  assign LevelGateway_23_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86022.4]
  assign LevelGateway_23_io_interrupt = auto_int_in_23; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86023.4]
  assign LevelGateway_23_io_plic_ready = pending_23 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86519.4]
  assign LevelGateway_23_io_plic_complete = completedDevs[24]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86753.4]
  assign LevelGateway_24_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86026.4]
  assign LevelGateway_24_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86027.4]
  assign LevelGateway_24_io_interrupt = auto_int_in_24; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86028.4]
  assign LevelGateway_24_io_plic_ready = pending_24 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86526.4]
  assign LevelGateway_24_io_plic_complete = completedDevs[25]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86754.4]
  assign LevelGateway_25_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86031.4]
  assign LevelGateway_25_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86032.4]
  assign LevelGateway_25_io_interrupt = auto_int_in_25; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86033.4]
  assign LevelGateway_25_io_plic_ready = pending_25 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86533.4]
  assign LevelGateway_25_io_plic_complete = completedDevs[26]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86755.4]
  assign LevelGateway_26_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86036.4]
  assign LevelGateway_26_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86037.4]
  assign LevelGateway_26_io_interrupt = auto_int_in_26; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86038.4]
  assign LevelGateway_26_io_plic_ready = pending_26 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86540.4]
  assign LevelGateway_26_io_plic_complete = completedDevs[27]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86756.4]
  assign LevelGateway_27_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86041.4]
  assign LevelGateway_27_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86042.4]
  assign LevelGateway_27_io_interrupt = auto_int_in_27; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86043.4]
  assign LevelGateway_27_io_plic_ready = pending_27 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86547.4]
  assign LevelGateway_27_io_plic_complete = completedDevs[28]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86757.4]
  assign LevelGateway_28_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86046.4]
  assign LevelGateway_28_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86047.4]
  assign LevelGateway_28_io_interrupt = auto_int_in_28; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86048.4]
  assign LevelGateway_28_io_plic_ready = pending_28 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86554.4]
  assign LevelGateway_28_io_plic_complete = completedDevs[29]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86758.4]
  assign LevelGateway_29_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86051.4]
  assign LevelGateway_29_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86052.4]
  assign LevelGateway_29_io_interrupt = auto_int_in_29; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86053.4]
  assign LevelGateway_29_io_plic_ready = pending_29 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86561.4]
  assign LevelGateway_29_io_plic_complete = completedDevs[30]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86759.4]
  assign LevelGateway_30_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86056.4]
  assign LevelGateway_30_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86057.4]
  assign LevelGateway_30_io_interrupt = auto_int_in_30; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86058.4]
  assign LevelGateway_30_io_plic_ready = pending_30 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86568.4]
  assign LevelGateway_30_io_plic_complete = completedDevs[31]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86760.4]
  assign LevelGateway_31_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86061.4]
  assign LevelGateway_31_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86062.4]
  assign LevelGateway_31_io_interrupt = auto_int_in_31; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86063.4]
  assign LevelGateway_31_io_plic_ready = pending_31 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86575.4]
  assign LevelGateway_31_io_plic_complete = completedDevs[32]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86761.4]
  assign LevelGateway_32_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86066.4]
  assign LevelGateway_32_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86067.4]
  assign LevelGateway_32_io_interrupt = auto_int_in_32; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86068.4]
  assign LevelGateway_32_io_plic_ready = pending_32 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86582.4]
  assign LevelGateway_32_io_plic_complete = completedDevs[33]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86762.4]
  assign LevelGateway_33_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86071.4]
  assign LevelGateway_33_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86072.4]
  assign LevelGateway_33_io_interrupt = auto_int_in_33; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86073.4]
  assign LevelGateway_33_io_plic_ready = pending_33 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86589.4]
  assign LevelGateway_33_io_plic_complete = completedDevs[34]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86763.4]
  assign LevelGateway_34_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86076.4]
  assign LevelGateway_34_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86077.4]
  assign LevelGateway_34_io_interrupt = auto_int_in_34; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86078.4]
  assign LevelGateway_34_io_plic_ready = pending_34 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86596.4]
  assign LevelGateway_34_io_plic_complete = completedDevs[35]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86764.4]
  assign LevelGateway_35_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86081.4]
  assign LevelGateway_35_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86082.4]
  assign LevelGateway_35_io_interrupt = auto_int_in_35; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86083.4]
  assign LevelGateway_35_io_plic_ready = pending_35 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86603.4]
  assign LevelGateway_35_io_plic_complete = completedDevs[36]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86765.4]
  assign LevelGateway_36_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86086.4]
  assign LevelGateway_36_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86087.4]
  assign LevelGateway_36_io_interrupt = auto_int_in_36; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86088.4]
  assign LevelGateway_36_io_plic_ready = pending_36 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86610.4]
  assign LevelGateway_36_io_plic_complete = completedDevs[37]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86766.4]
  assign LevelGateway_37_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86091.4]
  assign LevelGateway_37_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86092.4]
  assign LevelGateway_37_io_interrupt = auto_int_in_37; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86093.4]
  assign LevelGateway_37_io_plic_ready = pending_37 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86617.4]
  assign LevelGateway_37_io_plic_complete = completedDevs[38]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86767.4]
  assign LevelGateway_38_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86096.4]
  assign LevelGateway_38_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86097.4]
  assign LevelGateway_38_io_interrupt = auto_int_in_38; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86098.4]
  assign LevelGateway_38_io_plic_ready = pending_38 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86624.4]
  assign LevelGateway_38_io_plic_complete = completedDevs[39]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86768.4]
  assign LevelGateway_39_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86101.4]
  assign LevelGateway_39_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86102.4]
  assign LevelGateway_39_io_interrupt = auto_int_in_39; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86103.4]
  assign LevelGateway_39_io_plic_ready = pending_39 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86631.4]
  assign LevelGateway_39_io_plic_complete = completedDevs[40]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86769.4]
  assign LevelGateway_40_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86106.4]
  assign LevelGateway_40_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86107.4]
  assign LevelGateway_40_io_interrupt = auto_int_in_40; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86108.4]
  assign LevelGateway_40_io_plic_ready = pending_40 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86638.4]
  assign LevelGateway_40_io_plic_complete = completedDevs[41]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86770.4]
  assign LevelGateway_41_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86111.4]
  assign LevelGateway_41_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86112.4]
  assign LevelGateway_41_io_interrupt = auto_int_in_41; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86113.4]
  assign LevelGateway_41_io_plic_ready = pending_41 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86645.4]
  assign LevelGateway_41_io_plic_complete = completedDevs[42]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86771.4]
  assign LevelGateway_42_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86116.4]
  assign LevelGateway_42_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86117.4]
  assign LevelGateway_42_io_interrupt = auto_int_in_42; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86118.4]
  assign LevelGateway_42_io_plic_ready = pending_42 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86652.4]
  assign LevelGateway_42_io_plic_complete = completedDevs[43]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86772.4]
  assign LevelGateway_43_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86121.4]
  assign LevelGateway_43_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86122.4]
  assign LevelGateway_43_io_interrupt = auto_int_in_43; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@86123.4]
  assign LevelGateway_43_io_plic_ready = pending_43 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@86659.4]
  assign LevelGateway_43_io_plic_complete = completedDevs[44]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@86773.4]
  assign PLICFanIn_io_prio_0 = priority_0; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_1 = priority_1; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_2 = priority_2; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_3 = priority_3; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_4 = priority_4; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_5 = priority_5; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_6 = priority_6; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_7 = priority_7; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_8 = priority_8; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_9 = priority_9; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_10 = priority_10; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_11 = priority_11; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_12 = priority_12; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_13 = priority_13; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_14 = priority_14; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_15 = priority_15; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_16 = priority_16; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_17 = priority_17; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_18 = priority_18; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_19 = priority_19; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_20 = priority_20; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_21 = priority_21; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_22 = priority_22; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_23 = priority_23; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_24 = priority_24; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_25 = priority_25; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_26 = priority_26; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_27 = priority_27; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_28 = priority_28; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_29 = priority_29; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_30 = priority_30; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_31 = priority_31; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_32 = priority_32; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_33 = priority_33; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_34 = priority_34; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_35 = priority_35; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_36 = priority_36; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_37 = priority_37; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_38 = priority_38; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_39 = priority_39; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_40 = priority_40; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_41 = priority_41; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_42 = priority_42; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_prio_43 = priority_43; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86239.4]
  assign PLICFanIn_io_ip = enableVec_0 & pendingUInt; // @[Plic.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86241.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86790.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@86791.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@86792.4]
  assign Queue_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86797.4]
  assign Queue_io_enq_bits_index = _T_1402[23:0]; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86796.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86795.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@86794.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@86793.4]
  assign Queue_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107585.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@86258.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@86259.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@86676.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@86677.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@88134.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@88135.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_50( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108204.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108205.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108206.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108207.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@109334.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@108234.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@108235.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@108236.6]
  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108237.6]
  wire [25:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108237.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@108238.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@108240.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108241.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@108243.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@108244.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108245.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108246.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108247.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108249.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108250.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108252.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108253.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108254.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108255.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108256.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108257.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108258.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108259.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108260.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108261.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108262.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108263.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108264.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108265.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108266.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108267.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108268.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@108269.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@108270.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@108271.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108294.6]
  wire [25:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@108297.8]
  wire [26:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@108298.8]
  wire [26:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@108299.8]
  wire [26:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@108300.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108301.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108306.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108327.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108328.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108334.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108335.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108340.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108342.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108343.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@108348.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108349.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108351.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108352.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@108357.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108359.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108360.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108366.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108420.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108422.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108423.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108446.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@108449.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@108457.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108460.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108461.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108480.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108482.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108483.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108488.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108490.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108491.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108505.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108556.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@108598.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108599.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@108600.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108602.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108603.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108609.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@108640.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108642.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108643.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108657.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108690.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108691.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108705.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@108755.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108757.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108758.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108775.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108786.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108787.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108817.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108875.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109065.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109074.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109075.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109076.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109077.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109078.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109089.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109090.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109091.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109092.4]
  reg [31:0] _RAND_4;
  reg [25:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109093.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109094.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109095.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109097.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109099.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109100.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109105.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109107.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109108.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109113.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109115.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109116.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109121.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109123.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109124.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109129.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109131.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109132.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109139.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109147.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109155.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109156.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109157.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109158.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109159.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109170.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109172.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109173.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109176.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109177.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109179.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109181.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109182.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109195.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109197.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109198.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109203.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109205.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109206.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109229.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109238.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109248.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109249.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109250.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109251.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109252.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109271.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109272.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109273.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109274.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109275.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109290.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109293.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109295.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109296.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109297.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109299.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109300.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@109292.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109311.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@109313.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@109314.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109316.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109318.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@109319.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@109320.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109322.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109323.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@109315.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109329.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@109330.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109331.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109333.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109336.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109337.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109338.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109339.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@109340.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@109341.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109343.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109344.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@109350.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109354.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108308.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108380.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108463.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108522.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108573.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108623.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108671.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108719.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108789.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108830.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108888.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@109334.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@108234.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@108235.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@108236.6]
  assign _GEN_18 = {{24'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108237.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108237.6]
  assign _T_40 = _T_39 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@108238.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@108240.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108241.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@108243.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@108244.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108245.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108246.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108247.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108249.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108250.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108252.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108253.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108254.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108255.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108256.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108257.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108258.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108259.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108260.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108261.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108262.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108263.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108264.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108265.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108266.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108267.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108268.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@108269.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@108270.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@108271.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108294.6]
  assign _T_94 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@108297.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@108298.8]
  assign _T_96 = $signed(_T_95) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@108299.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@108300.8]
  assign _T_98 = $signed(_T_97) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@108301.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108306.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108327.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108328.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108334.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108335.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108340.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108342.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108343.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@108348.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108349.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108351.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108352.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@108357.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108359.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108360.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108366.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108420.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108422.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108423.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108446.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@108449.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@108457.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108460.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108461.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108480.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108482.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108483.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108488.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108490.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108491.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108505.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108556.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@108598.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108599.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@108600.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108602.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108603.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108609.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@108640.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108642.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108643.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108657.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108690.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108691.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108705.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@108755.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108757.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108758.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108775.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108786.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108787.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108817.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108875.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109065.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109075.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109076.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109077.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109078.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109094.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109095.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109097.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109099.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109100.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109105.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109107.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109108.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109113.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109115.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109116.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109121.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109123.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109124.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109129.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109131.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109132.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109139.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109147.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109156.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109157.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109158.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109159.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109176.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109177.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109179.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109181.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109182.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109195.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109197.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109198.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109203.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109205.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109206.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109229.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109249.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109250.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109251.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109252.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109272.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109273.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109274.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109275.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109290.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109293.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109295.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109296.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109297.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109299.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109300.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@109292.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109311.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@109313.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@109314.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109316.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109318.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@109319.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@109320.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109322.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109323.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@109315.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109329.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@109330.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109331.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109336.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@109337.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109338.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109339.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@109340.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@109341.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109343.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109344.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@109350.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109354.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108308.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108380.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108463.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108522.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108573.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108623.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108671.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108719.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108789.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108830.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108888.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@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 39:12: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 (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@108291.8]
        end
    `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@108292.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@108308.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@108309.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@108315.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@108316.10]
        end
    `ifdef STOP_COND
      end
    `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@108322.10]
        end
    `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@108323.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@108330.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@108331.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@108337.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@108338.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@108345.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@108346.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@108354.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@108355.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@108362.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@108363.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@108380.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@108381.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@108387.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@108388.10]
        end
    `ifdef STOP_COND
      end
    `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@108394.10]
        end
    `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@108395.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@108402.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@108403.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@108409.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@108410.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@108417.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@108418.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@108425.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@108426.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@108434.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@108435.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@108442.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@108443.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@108463.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@108464.10]
        end
    `ifdef STOP_COND
      end
    `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@108470.10]
        end
    `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@108471.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@108477.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@108478.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@108485.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@108486.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@108493.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@108494.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@108501.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@108502.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@108522.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@108523.10]
        end
    `ifdef STOP_COND
      end
    `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@108529.10]
        end
    `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@108530.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@108536.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@108537.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@108544.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@108545.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@108552.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@108553.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@108573.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@108574.10]
        end
    `ifdef STOP_COND
      end
    `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@108580.10]
        end
    `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@108581.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@108587.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@108588.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@108595.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@108596.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@108605.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@108606.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@108623.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@108624.10]
        end
    `ifdef STOP_COND
      end
    `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@108630.10]
        end
    `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@108631.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@108637.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@108638.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@108645.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@108646.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@108653.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@108654.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@108671.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@108672.10]
        end
    `ifdef STOP_COND
      end
    `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@108678.10]
        end
    `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@108679.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@108685.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@108686.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@108693.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@108694.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@108701.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@108702.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@108719.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@108720.10]
        end
    `ifdef STOP_COND
      end
    `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@108726.10]
        end
    `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@108727.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@108733.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@108734.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@108741.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@108742.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@108749.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@108750.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@108760.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@108761.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108781.10]
        end
    `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@108782.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@108789.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@108790.10]
        end
    `ifdef STOP_COND
      end
    `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@108797.10]
        end
    `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@108798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108805.10]
        end
    `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@108806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108813.10]
        end
    `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@108814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108823.10]
        end
    `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@108824.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@108830.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@108831.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@108838.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@108839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108846.10]
        end
    `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@108847.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108854.10]
        end
    `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@108855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108862.10]
        end
    `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@108863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108871.10]
        end
    `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@108872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108881.10]
        end
    `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@108882.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@108888.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@108889.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@108896.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@108897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108904.10]
        end
    `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@108905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108912.10]
        end
    `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@108913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@108921.10]
        end
    `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@108922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@108930.10]
        end
    `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@108931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108940.10]
        end
    `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@108941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108948.10]
        end
    `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@108949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108956.10]
        end
    `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@108957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@108965.10]
        end
    `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@108966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108975.10]
        end
    `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@108976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@108983.10]
        end
    `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@108984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@108992.10]
        end
    `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@108993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@109001.10]
        end
    `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@109002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@109011.10]
        end
    `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@109012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@109019.10]
        end
    `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@109020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@109027.10]
        end
    `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@109028.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@109036.10]
        end
    `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@109037.10]
        end
    `ifdef STOP_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@109046.6]
        end
    `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@109047.6]
        end
    `ifdef STOP_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@109054.6]
        end
    `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@109055.6]
        end
    `ifdef STOP_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@109062.6]
        end
    `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@109063.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@109102.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@109103.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@109110.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@109111.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@109118.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@109119.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@109126.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@109127.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@109134.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@109135.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@109184.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@109185.8]
        end
    `ifdef STOP_COND
      end
    `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@109192.8]
        end
    `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@109193.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@109200.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@109201.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@109208.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@109209.8]
        end
    `ifdef STOP_COND
      end
    `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@109216.8]
        end
    `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@109217.8]
        end
    `ifdef STOP_COND
      end
    `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@109224.8]
        end
    `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@109225.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@109302.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@109303.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@109325.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@109326.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@109346.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@109347.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CLINT( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109359.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109360.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109361.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output        auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109362.4]
  input         io_rtcTick // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109363.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  reg [63:0] time$; // @[CLINT.scala 62:23:shc.marmotcaravel.MarmotCaravelConfig.fir@109412.4]
  reg [63:0] _RAND_0;
  wire [63:0] _T_183; // @[CLINT.scala 63:38:shc.marmotcaravel.MarmotCaravelConfig.fir@109415.6]
  reg [63:0] timecmp_0; // @[CLINT.scala 66:41:shc.marmotcaravel.MarmotCaravelConfig.fir@109418.4]
  reg [63:0] _RAND_1;
  reg  ipi_0; // @[CLINT.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@109419.4]
  reg [31:0] _RAND_2;
  wire [7:0] _T_189; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109425.4]
  wire [7:0] _T_190; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109426.4]
  wire [7:0] _T_191; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109427.4]
  wire [7:0] _T_192; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109428.4]
  wire [7:0] _T_193; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109429.4]
  wire [7:0] _T_194; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109430.4]
  wire [7:0] _T_195; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109431.4]
  wire [7:0] _T_196; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109432.4]
  wire  _T_493; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109530.4]
  wire [23:0] _T_494; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  wire [13:0] _T_490_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@109528.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109533.4]
  wire  _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110150.4]
  wire  _T_1137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110149.4]
  wire [1:0] _T_1139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110151.4]
  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110137.4]
  wire [2:0] _T_1140; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110152.4]
  wire [13:0] _T_511; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109544.4]
  wire  _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109552.4]
  wire  _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109548.4]
  wire  _T_1377; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110452.4]
  wire  _T_1378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110453.4]
  wire  _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110454.4]
  wire [7:0] _T_1166; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@110178.4]
  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110181.4]
  wire  _T_1394; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110473.4]
  wire  _T_1395; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.4]
  wire  _T_637; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109582.4]
  wire [7:0] _T_645; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109590.4]
  wire  _T_636; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109581.4]
  wire [7:0] _T_643; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109588.4]
  wire [15:0] _T_647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109592.4]
  wire  _T_635; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109580.4]
  wire [7:0] _T_641; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109586.4]
  wire  _T_634; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109579.4]
  wire [7:0] _T_639; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109584.4]
  wire [15:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  wire [31:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109593.4]
  wire [7:0] _T_1026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110022.4]
  wire [7:0] _T_1027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110023.4]
  wire  _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110024.4]
  wire  _T_1032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110028.4]
  wire [7:0] _T_1051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110051.4]
  wire [7:0] _T_1052; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110052.4]
  wire  _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110053.4]
  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110057.4]
  wire  _T_323; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109459.4]
  wire [7:0] _T_1078; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110082.4]
  wire [7:0] _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110083.4]
  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110084.4]
  wire  _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110088.4]
  wire  _T_324; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109460.4]
  wire [7:0] _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110113.4]
  wire [7:0] _T_1106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110114.4]
  wire  _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110115.4]
  wire  _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110119.4]
  wire  _T_325; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109461.4]
  wire  _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110182.4]
  wire  _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110484.4]
  wire  _T_1401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110485.4]
  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109662.4]
  wire  _T_326; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109462.4]
  wire  _T_739; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109691.4]
  wire  _T_327; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109463.4]
  wire  _T_766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109722.4]
  wire  _T_328; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109464.4]
  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109753.4]
  wire  _T_329; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109465.4]
  wire [7:0] _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110058.4]
  wire [7:0] _GEN_17; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110060.4]
  wire [7:0] _T_1033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110029.4]
  wire [7:0] _GEN_16; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110031.4]
  wire [15:0] _T_330; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109467.6]
  wire [7:0] _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110120.4]
  wire [7:0] _GEN_19; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110122.4]
  wire [7:0] _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110089.4]
  wire [7:0] _GEN_18; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110091.4]
  wire [15:0] _T_331; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109468.6]
  wire [31:0] _T_332; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109469.6]
  wire [7:0] _GEN_5; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109694.4]
  wire [7:0] _GEN_4; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109665.4]
  wire [15:0] _T_333; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109470.6]
  wire [7:0] _GEN_7; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109756.4]
  wire [7:0] _GEN_6; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109725.4]
  wire [15:0] _T_334; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109471.6]
  wire [31:0] _T_335; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109472.6]
  wire [63:0] _T_336; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109473.6]
  wire [7:0] _T_338; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109477.4]
  wire [7:0] _T_339; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109478.4]
  wire [7:0] _T_340; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109479.4]
  wire [7:0] _T_341; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109480.4]
  wire [7:0] _T_342; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109481.4]
  wire [7:0] _T_343; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109482.4]
  wire [7:0] _T_344; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109483.4]
  wire [7:0] _T_345; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109484.4]
  wire  _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110183.4]
  wire  _T_1406; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110495.4]
  wire  _T_1407; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110496.4]
  wire  _T_820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109784.4]
  wire  _T_845; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109813.4]
  wire  _T_472; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109511.4]
  wire  _T_872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109844.4]
  wire  _T_473; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109512.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109875.4]
  wire  _T_474; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109513.4]
  wire  _T_1172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110184.4]
  wire  _T_1412; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110506.4]
  wire  _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110507.4]
  wire  _T_926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109906.4]
  wire  _T_475; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109514.4]
  wire  _T_951; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109935.4]
  wire  _T_476; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109515.4]
  wire  _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109966.4]
  wire  _T_477; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109516.4]
  wire  _T_1005; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109997.4]
  wire  _T_478; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109517.4]
  wire [7:0] _GEN_9; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109816.4]
  wire [7:0] _GEN_8; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109787.4]
  wire [15:0] _T_479; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109519.6]
  wire [7:0] _GEN_11; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109878.4]
  wire [7:0] _GEN_10; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109847.4]
  wire [15:0] _T_480; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109520.6]
  wire [31:0] _T_481; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109521.6]
  wire [7:0] _GEN_13; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109938.4]
  wire [7:0] _GEN_12; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109909.4]
  wire [15:0] _T_482; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109522.6]
  wire [7:0] _GEN_15; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110000.4]
  wire [7:0] _GEN_14; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109969.4]
  wire [15:0] _T_483; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109523.6]
  wire [31:0] _T_484; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109524.6]
  wire [63:0] _T_485; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109525.6]
  wire [7:0] _T_495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109536.4]
  wire  _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109594.4]
  wire  _T_652; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109597.4]
  wire  _T_653; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109598.4]
  wire  _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110170.4]
  wire  _T_1247; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110280.4]
  wire  _T_1248; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110281.4]
  wire  _T_661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109606.4]
  wire  _T_663; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109608.4]
  wire [1:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109646.4]
  wire [31:0] _T_699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109647.4]
  wire [15:0] _T_750; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109706.4]
  wire [23:0] _T_777; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109737.4]
  wire [31:0] _T_804; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109768.4]
  wire [15:0] _T_856; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109828.4]
  wire [23:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109859.4]
  wire [31:0] _T_910; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109890.4]
  wire [15:0] _T_962; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109950.4]
  wire [23:0] _T_989; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109981.4]
  wire [31:0] _T_1016; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110012.4]
  wire [15:0] _T_1068; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110072.4]
  wire [23:0] _T_1095; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110103.4]
  wire [31:0] _T_1122; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110134.4]
  wire  _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire  _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire  _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire  _GEN_56; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire  _GEN_57; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire  _GEN_58; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire  _GEN_59; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  wire [31:0] _GEN_61; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  wire [31:0] _GEN_62; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  wire [31:0] _GEN_63; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  wire [31:0] _GEN_64; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  wire [31:0] _GEN_65; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  wire [31:0] _GEN_66; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  wire [31:0] _GEN_67; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  TLMonitor_50 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.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@109415.6]
  assign _T_189 = timecmp_0[7:0]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109425.4]
  assign _T_190 = timecmp_0[15:8]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109426.4]
  assign _T_191 = timecmp_0[23:16]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109427.4]
  assign _T_192 = timecmp_0[31:24]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109428.4]
  assign _T_193 = timecmp_0[39:32]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109429.4]
  assign _T_194 = timecmp_0[47:40]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109430.4]
  assign _T_195 = timecmp_0[55:48]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109431.4]
  assign _T_196 = timecmp_0[63:56]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109432.4]
  assign _T_493 = auto_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109530.4]
  assign _T_494 = auto_in_a_bits_address[25:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  assign _T_490_bits_index = _T_494[13:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@109528.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109533.4]
  assign _T_1138 = _T_490_bits_index[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110150.4]
  assign _T_1137 = _T_490_bits_index[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110149.4]
  assign _T_1139 = {_T_1138,_T_1137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110151.4]
  assign _T_1125 = _T_490_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110137.4]
  assign _T_1140 = {_T_1139,_T_1125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110152.4]
  assign _T_511 = _T_490_bits_index & 14'hffe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109544.4]
  assign _T_519 = _T_511 == 14'hffe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109552.4]
  assign _T_515 = _T_511 == 14'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109548.4]
  assign _T_1377 = auto_in_a_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110452.4]
  assign _T_1378 = _T_493 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110453.4]
  assign _T_1379 = _T_1377 & _T_1378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110454.4]
  assign _T_1166 = 8'h1 << _T_1140; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@110178.4]
  assign _T_1169 = _T_1166[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110181.4]
  assign _T_1394 = _T_1379 & _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110473.4]
  assign _T_1395 = _T_1394 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.4]
  assign _T_637 = auto_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109582.4]
  assign _T_645 = _T_637 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109590.4]
  assign _T_636 = auto_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109581.4]
  assign _T_643 = _T_636 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109588.4]
  assign _T_647 = {_T_645,_T_643}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109592.4]
  assign _T_635 = auto_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109580.4]
  assign _T_641 = _T_635 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109586.4]
  assign _T_634 = auto_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109579.4]
  assign _T_639 = _T_634 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109584.4]
  assign _T_646 = {_T_641,_T_639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  assign _T_648 = {_T_647,_T_646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109593.4]
  assign _T_1026 = _T_648[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110022.4]
  assign _T_1027 = ~ _T_1026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110023.4]
  assign _T_1028 = _T_1027 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110024.4]
  assign _T_1032 = _T_1395 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110028.4]
  assign _T_1051 = _T_648[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110051.4]
  assign _T_1052 = ~ _T_1051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110052.4]
  assign _T_1053 = _T_1052 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110053.4]
  assign _T_1057 = _T_1395 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110057.4]
  assign _T_323 = _T_1032 | _T_1057; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109459.4]
  assign _T_1078 = _T_648[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110082.4]
  assign _T_1079 = ~ _T_1078; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110083.4]
  assign _T_1080 = _T_1079 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110084.4]
  assign _T_1084 = _T_1395 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110088.4]
  assign _T_324 = _T_323 | _T_1084; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109460.4]
  assign _T_1105 = _T_648[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110113.4]
  assign _T_1106 = ~ _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110114.4]
  assign _T_1107 = _T_1106 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110115.4]
  assign _T_1111 = _T_1395 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110119.4]
  assign _T_325 = _T_324 | _T_1111; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109461.4]
  assign _T_1170 = _T_1166[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110182.4]
  assign _T_1400 = _T_1379 & _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110484.4]
  assign _T_1401 = _T_1400 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110485.4]
  assign _T_714 = _T_1401 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109662.4]
  assign _T_326 = _T_325 | _T_714; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109462.4]
  assign _T_739 = _T_1401 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109691.4]
  assign _T_327 = _T_326 | _T_739; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109463.4]
  assign _T_766 = _T_1401 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109722.4]
  assign _T_328 = _T_327 | _T_766; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109464.4]
  assign _T_793 = _T_1401 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109753.4]
  assign _T_329 = _T_328 | _T_793; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109465.4]
  assign _T_1058 = auto_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110058.4]
  assign _GEN_17 = _T_1057 ? _T_1058 : _T_190; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110060.4]
  assign _T_1033 = auto_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110029.4]
  assign _GEN_16 = _T_1032 ? _T_1033 : _T_189; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110031.4]
  assign _T_330 = {_GEN_17,_GEN_16}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109467.6]
  assign _T_1112 = auto_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110120.4]
  assign _GEN_19 = _T_1111 ? _T_1112 : _T_192; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110122.4]
  assign _T_1085 = auto_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110089.4]
  assign _GEN_18 = _T_1084 ? _T_1085 : _T_191; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110091.4]
  assign _T_331 = {_GEN_19,_GEN_18}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109468.6]
  assign _T_332 = {_T_331,_T_330}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109469.6]
  assign _GEN_5 = _T_739 ? _T_1058 : _T_194; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109694.4]
  assign _GEN_4 = _T_714 ? _T_1033 : _T_193; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109665.4]
  assign _T_333 = {_GEN_5,_GEN_4}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109470.6]
  assign _GEN_7 = _T_793 ? _T_1112 : _T_196; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109756.4]
  assign _GEN_6 = _T_766 ? _T_1085 : _T_195; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109725.4]
  assign _T_334 = {_GEN_7,_GEN_6}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109471.6]
  assign _T_335 = {_T_334,_T_333}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109472.6]
  assign _T_336 = {_T_335,_T_332}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109473.6]
  assign _T_338 = time$[7:0]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109477.4]
  assign _T_339 = time$[15:8]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109478.4]
  assign _T_340 = time$[23:16]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109479.4]
  assign _T_341 = time$[31:24]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109480.4]
  assign _T_342 = time$[39:32]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109481.4]
  assign _T_343 = time$[47:40]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109482.4]
  assign _T_344 = time$[55:48]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109483.4]
  assign _T_345 = time$[63:56]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@109484.4]
  assign _T_1171 = _T_1166[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110183.4]
  assign _T_1406 = _T_1379 & _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110495.4]
  assign _T_1407 = _T_1406 & _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110496.4]
  assign _T_820 = _T_1407 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109784.4]
  assign _T_845 = _T_1407 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109813.4]
  assign _T_472 = _T_820 | _T_845; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109511.4]
  assign _T_872 = _T_1407 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109844.4]
  assign _T_473 = _T_472 | _T_872; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109512.4]
  assign _T_899 = _T_1407 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109875.4]
  assign _T_474 = _T_473 | _T_899; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109513.4]
  assign _T_1172 = _T_1166[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110184.4]
  assign _T_1412 = _T_1379 & _T_1172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110506.4]
  assign _T_1413 = _T_1412 & _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110507.4]
  assign _T_926 = _T_1413 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109906.4]
  assign _T_475 = _T_474 | _T_926; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109514.4]
  assign _T_951 = _T_1413 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109935.4]
  assign _T_476 = _T_475 | _T_951; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109515.4]
  assign _T_978 = _T_1413 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109966.4]
  assign _T_477 = _T_476 | _T_978; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109516.4]
  assign _T_1005 = _T_1413 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109997.4]
  assign _T_478 = _T_477 | _T_1005; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109517.4]
  assign _GEN_9 = _T_845 ? _T_1058 : _T_339; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109816.4]
  assign _GEN_8 = _T_820 ? _T_1033 : _T_338; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109787.4]
  assign _T_479 = {_GEN_9,_GEN_8}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109519.6]
  assign _GEN_11 = _T_899 ? _T_1112 : _T_341; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109878.4]
  assign _GEN_10 = _T_872 ? _T_1085 : _T_340; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109847.4]
  assign _T_480 = {_GEN_11,_GEN_10}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109520.6]
  assign _T_481 = {_T_480,_T_479}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109521.6]
  assign _GEN_13 = _T_951 ? _T_1058 : _T_343; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109938.4]
  assign _GEN_12 = _T_926 ? _T_1033 : _T_342; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109909.4]
  assign _T_482 = {_GEN_13,_GEN_12}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109522.6]
  assign _GEN_15 = _T_1005 ? _T_1112 : _T_345; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110000.4]
  assign _GEN_14 = _T_978 ? _T_1085 : _T_344; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@109969.4]
  assign _T_483 = {_GEN_15,_GEN_14}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109523.6]
  assign _T_484 = {_T_483,_T_482}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109524.6]
  assign _T_485 = {_T_484,_T_481}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109525.6]
  assign _T_495 = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109536.4]
  assign _T_649 = _T_648[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109594.4]
  assign _T_652 = ~ _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109597.4]
  assign _T_653 = _T_652 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109598.4]
  assign _T_1158 = _T_1166[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110170.4]
  assign _T_1247 = _T_1379 & _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110280.4]
  assign _T_1248 = _T_1247 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110281.4]
  assign _T_661 = _T_1248 & _T_653; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109606.4]
  assign _T_663 = auto_in_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109608.4]
  assign _T_698 = {1'h0,ipi_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109646.4]
  assign _T_699 = {{30'd0}, _T_698}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109647.4]
  assign _T_750 = {_T_194,_T_193}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109706.4]
  assign _T_777 = {_T_195,_T_750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109737.4]
  assign _T_804 = {_T_196,_T_777}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109768.4]
  assign _T_856 = {_T_339,_T_338}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109828.4]
  assign _T_883 = {_T_340,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109859.4]
  assign _T_910 = {_T_341,_T_883}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109890.4]
  assign _T_962 = {_T_343,_T_342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109950.4]
  assign _T_989 = {_T_344,_T_962}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109981.4]
  assign _T_1016 = {_T_345,_T_989}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110012.4]
  assign _T_1068 = {_T_190,_T_189}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110072.4]
  assign _T_1095 = {_T_191,_T_1068}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110103.4]
  assign _T_1122 = {_T_192,_T_1095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@110134.4]
  assign _GEN_53 = 3'h1 == _T_1140 ? 1'h1 : _T_515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_54 = 3'h2 == _T_1140 ? _T_515 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_55 = 3'h3 == _T_1140 ? _T_515 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_56 = 3'h4 == _T_1140 ? _T_519 : _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_57 = 3'h5 == _T_1140 ? _T_519 : _GEN_56; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_58 = 3'h6 == _T_1140 ? 1'h1 : _GEN_57; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_59 = 3'h7 == _T_1140 ? 1'h1 : _GEN_58; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.4]
  assign _GEN_61 = 3'h1 == _T_1140 ? 32'h0 : _T_699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign _GEN_62 = 3'h2 == _T_1140 ? _T_1122 : _GEN_61; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign _GEN_63 = 3'h3 == _T_1140 ? _T_804 : _GEN_62; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign _GEN_64 = 3'h4 == _T_1140 ? _T_910 : _GEN_63; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign _GEN_65 = 3'h5 == _T_1140 ? _T_1016 : _GEN_64; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign _GEN_66 = 3'h6 == _T_1140 ? 32'h0 : _GEN_65; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign _GEN_67 = 3'h7 == _T_1140 ? 32'h0 : _GEN_66; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@110575.4]
  assign auto_int_out_0 = ipi_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109411.4]
  assign auto_int_out_1 = time$ >= timecmp_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109411.4]
  assign auto_in_a_ready = auto_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109410.4]
  assign auto_in_d_valid = auto_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109410.4]
  assign auto_in_d_bits_opcode = {{2'd0}, _T_493}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109410.4]
  assign auto_in_d_bits_size = _T_495[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109410.4]
  assign auto_in_d_bits_source = _T_495[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109410.4]
  assign auto_in_d_bits_data = _GEN_59 ? _GEN_67 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109410.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109373.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109374.4]
  assign TLMonitor_io_in_a_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_d_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_493}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_d_bits_size = _T_495[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.4]
  assign TLMonitor_io_in_d_bits_source = _T_495[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109407.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@110603.2]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output [8:0]  auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  input         auto_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110606.4]
  output        io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  input         io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  input  [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  input  [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  input  [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  input         io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  output        io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  output [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
  output [1:0]  io_dmi_resp_bits_resp // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.4]
);
  wire [8:0] _GEN_16; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@110619.4]
  wire [8:0] addr; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@110619.4]
  wire  _T_234; // @[DMI.scala 106:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110752.4]
  wire  _T_235; // @[DMI.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@110757.6]
  wire [2:0] _GEN_0; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@110758.6]
  wire [8:0] _GEN_4; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@110758.6]
  wire [3:0] _GEN_5; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@110758.6]
  wire  _T_236; // @[DMI.scala 116:53:shc.marmotcaravel.MarmotCaravelConfig.fir@110768.4]
  assign _GEN_16 = {{2'd0}, io_dmi_req_bits_addr}; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@110619.4]
  assign addr = _GEN_16 << 2; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@110619.4]
  assign _T_234 = io_dmi_req_bits_op == 2'h2; // @[DMI.scala 106:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110752.4]
  assign _T_235 = io_dmi_req_bits_op == 2'h1; // @[DMI.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@110757.6]
  assign _GEN_0 = _T_235 ? 3'h4 : 3'h1; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@110758.6]
  assign _GEN_4 = _T_235 ? addr : 9'h40; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@110758.6]
  assign _GEN_5 = _T_235 ? 4'hf : 4'h0; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@110758.6]
  assign _T_236 = auto_out_d_bits_corrupt | auto_out_d_bits_denied; // @[DMI.scala 116:53:shc.marmotcaravel.MarmotCaravelConfig.fir@110768.4]
  assign auto_out_a_valid = io_dmi_req_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110615.4]
  assign auto_out_a_bits_opcode = _T_234 ? 3'h0 : _GEN_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110615.4]
  assign auto_out_a_bits_address = _T_234 ? addr : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110615.4]
  assign auto_out_a_bits_mask = _T_234 ? 4'hf : _GEN_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110615.4]
  assign auto_out_a_bits_data = _T_234 ? io_dmi_req_bits_data : 32'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110615.4]
  assign auto_out_d_ready = io_dmi_resp_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110615.4]
  assign io_dmi_req_ready = auto_out_a_ready; // @[DMI.scala 112:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110765.4]
  assign io_dmi_resp_valid = auto_out_d_valid; // @[DMI.scala 114:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110766.4]
  assign io_dmi_resp_bits_data = auto_out_d_bits_data; // @[DMI.scala 117:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110771.4]
  assign io_dmi_resp_bits_resp = {{1'd0}, _T_236}; // @[DMI.scala 116:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110770.4]
endmodule
module TLMonitor_51( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110783.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110784.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110785.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input  [1:0] io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input        io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input        io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
  input        io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@111892.4]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@110806.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@110807.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@110808.6]
  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.6]
  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110810.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110813.6]
  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110847.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110859.6]
  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@110864.8]
  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@110865.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@110866.8]
  wire  _T_89; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110871.8]
  wire  _T_101; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110899.8]
  wire  _T_102; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110900.8]
  wire [3:0] _T_107; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110913.8]
  wire  _T_108; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110914.8]
  wire  _T_110; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110916.8]
  wire  _T_111; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110917.8]
  wire  _T_116; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110931.6]
  wire  _T_158; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111011.6]
  wire  _T_171; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111025.8]
  wire  _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111026.8]
  wire  _T_183; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111053.8]
  wire  _T_185; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111055.8]
  wire  _T_186; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111056.8]
  wire  _T_191; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111070.6]
  wire  _T_220; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111121.6]
  wire  _T_251; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111174.6]
  wire  _T_277; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111222.6]
  wire  _T_303; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111270.6]
  wire  _T_329; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111320.6]
  wire  _T_331; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111322.6]
  wire  _T_332; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111323.6]
  wire  _T_342; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111333.6]
  wire  _T_346; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111342.8]
  wire  _T_348; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111344.8]
  wire  _T_349; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111345.8]
  wire  _T_350; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111350.8]
  wire  _T_352; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111352.8]
  wire  _T_353; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111353.8]
  wire  _T_354; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111358.8]
  wire  _T_356; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111360.8]
  wire  _T_357; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111361.8]
  wire  _T_358; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111366.8]
  wire  _T_360; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111368.8]
  wire  _T_361; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111369.8]
  wire  _T_362; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111375.6]
  wire  _T_373; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111399.8]
  wire  _T_375; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111401.8]
  wire  _T_376; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111402.8]
  wire  _T_377; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111407.8]
  wire  _T_379; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111409.8]
  wire  _T_380; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111410.8]
  wire  _T_390; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111433.6]
  wire  _T_410; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111474.8]
  wire  _T_412; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111476.8]
  wire  _T_413; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111477.8]
  wire  _T_419; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111492.6]
  wire  _T_436; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111527.6]
  wire  _T_454; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111563.6]
  wire  _T_483; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111623.4]
  reg  _T_493; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111632.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_494; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111633.4]
  wire [1:0] _T_495; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111634.4]
  wire  _T_496; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111635.4]
  wire  _T_497; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111636.4]
  reg [2:0] _T_506; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111647.4]
  reg [31:0] _RAND_1;
  reg [8:0] _T_514; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
  reg [31:0] _RAND_2;
  wire  _T_515; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111652.4]
  wire  _T_516; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111653.4]
  wire  _T_517; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111655.6]
  wire  _T_519; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111657.6]
  wire  _T_520; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111658.6]
  wire  _T_533; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111687.6]
  wire  _T_535; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111689.6]
  wire  _T_536; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111690.6]
  wire  _T_538; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@111697.4]
  wire  _T_539; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111705.4]
  reg  _T_548; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111713.4]
  reg [31:0] _RAND_3;
  wire [1:0] _T_549; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111714.4]
  wire [1:0] _T_550; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111715.4]
  wire  _T_551; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111716.4]
  wire  _T_552; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111717.4]
  reg [2:0] _T_561; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111728.4]
  reg [31:0] _RAND_4;
  reg [1:0] _T_563; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111729.4]
  reg [31:0] _RAND_5;
  reg [1:0] _T_565; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111730.4]
  reg [31:0] _RAND_6;
  reg  _T_569; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111732.4]
  reg [31:0] _RAND_7;
  reg  _T_571; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111733.4]
  reg [31:0] _RAND_8;
  wire  _T_572; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111734.4]
  wire  _T_573; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111735.4]
  wire  _T_574; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111737.6]
  wire  _T_576; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111739.6]
  wire  _T_577; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111740.6]
  wire  _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111745.6]
  wire  _T_580; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111747.6]
  wire  _T_581; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111748.6]
  wire  _T_582; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111753.6]
  wire  _T_584; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111755.6]
  wire  _T_585; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111756.6]
  wire  _T_590; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111769.6]
  wire  _T_592; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111771.6]
  wire  _T_593; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111772.6]
  wire  _T_594; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111777.6]
  wire  _T_596; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111779.6]
  wire  _T_597; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111780.6]
  wire  _T_599; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@111787.4]
  reg  _T_601; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111796.4]
  reg [31:0] _RAND_9;
  reg  _T_612; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111806.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111807.4]
  wire [1:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111808.4]
  wire  _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111809.4]
  wire  _T_616; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111810.4]
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111829.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111830.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111831.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111832.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111833.4]
  wire  _T_648; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111848.4]
  wire  _T_651; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111853.6]
  wire  _T_653; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111855.6]
  wire  _T_655; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111857.6]
  wire  _T_656; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111858.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@111850.4]
  wire  _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111869.4]
  wire  _T_663; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@111871.4]
  wire  _T_664; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@111872.4]
  wire  _T_646; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111844.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111846.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111852.6]
  wire  _T_666; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111876.6]
  wire  _T_667; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@111877.6]
  wire  _T_670; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111880.6]
  wire  _T_671; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111881.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@111873.4]
  wire  _T_672; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111887.4]
  wire  _T_658; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111864.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111866.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111875.6]
  wire  _T_673; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@111888.4]
  wire  _T_674; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111889.4]
  reg [31:0] _T_676; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111891.4]
  reg [31:0] _RAND_12;
  wire  _T_678; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111895.4]
  wire  _T_679; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111896.4]
  wire  _T_680; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111897.4]
  wire  _T_681; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@111898.4]
  wire  _T_682; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@111899.4]
  wire  _T_684; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111901.4]
  wire  _T_685; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111902.4]
  wire [31:0] _T_687; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111908.4]
  wire  _T_690; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111912.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110873.10]
  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110945.10]
  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111028.10]
  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111087.10]
  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111138.10]
  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111188.10]
  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111236.10]
  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111284.10]
  wire  _GEN_71; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111347.10]
  wire  _GEN_79; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111388.10]
  wire  _GEN_91; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111446.10]
  wire  _GEN_103; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111506.10]
  wire  _GEN_109; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111541.10]
  wire  _GEN_115; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111577.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@111892.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@110806.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@110807.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@110808.6]
  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.6]
  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110810.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110813.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@110847.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110859.6]
  assign _T_82 = $signed(_T_70) & $signed(-10'sh200); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@110864.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@110865.8]
  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@110866.8]
  assign _T_89 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110871.8]
  assign _T_101 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110899.8]
  assign _T_102 = _T_101 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110900.8]
  assign _T_107 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110913.8]
  assign _T_108 = _T_107 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110914.8]
  assign _T_110 = _T_108 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110916.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110917.8]
  assign _T_116 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110931.6]
  assign _T_158 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111011.6]
  assign _T_171 = _T_84 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111025.8]
  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111026.8]
  assign _T_183 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111053.8]
  assign _T_185 = _T_183 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111055.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111056.8]
  assign _T_191 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111070.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111121.6]
  assign _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111174.6]
  assign _T_277 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111222.6]
  assign _T_303 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111270.6]
  assign _T_329 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111320.6]
  assign _T_331 = _T_329 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111322.6]
  assign _T_332 = _T_331 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111323.6]
  assign _T_342 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111333.6]
  assign _T_346 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111342.8]
  assign _T_348 = _T_346 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111344.8]
  assign _T_349 = _T_348 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111345.8]
  assign _T_350 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111350.8]
  assign _T_352 = _T_350 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111352.8]
  assign _T_353 = _T_352 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111353.8]
  assign _T_354 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111358.8]
  assign _T_356 = _T_354 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111360.8]
  assign _T_357 = _T_356 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111361.8]
  assign _T_358 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111366.8]
  assign _T_360 = _T_358 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111368.8]
  assign _T_361 = _T_360 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111369.8]
  assign _T_362 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111375.6]
  assign _T_373 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111399.8]
  assign _T_375 = _T_373 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111401.8]
  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111402.8]
  assign _T_377 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111407.8]
  assign _T_379 = _T_377 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111409.8]
  assign _T_380 = _T_379 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111410.8]
  assign _T_390 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111433.6]
  assign _T_410 = _T_358 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111474.8]
  assign _T_412 = _T_410 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111476.8]
  assign _T_413 = _T_412 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111477.8]
  assign _T_419 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111492.6]
  assign _T_436 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111527.6]
  assign _T_454 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111563.6]
  assign _T_483 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111623.4]
  assign _T_494 = _T_493 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111633.4]
  assign _T_495 = $unsigned(_T_494); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111634.4]
  assign _T_496 = _T_495[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111635.4]
  assign _T_497 = _T_493 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111636.4]
  assign _T_515 = _T_497 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111652.4]
  assign _T_516 = io_in_a_valid & _T_515; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111653.4]
  assign _T_517 = io_in_a_bits_opcode == _T_506; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111655.6]
  assign _T_519 = _T_517 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111657.6]
  assign _T_520 = _T_519 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111658.6]
  assign _T_533 = io_in_a_bits_address == _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111687.6]
  assign _T_535 = _T_533 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111689.6]
  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111690.6]
  assign _T_538 = _T_483 & _T_497; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@111697.4]
  assign _T_539 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111705.4]
  assign _T_549 = _T_548 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111714.4]
  assign _T_550 = $unsigned(_T_549); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111715.4]
  assign _T_551 = _T_550[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111716.4]
  assign _T_552 = _T_548 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111717.4]
  assign _T_572 = _T_552 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111734.4]
  assign _T_573 = io_in_d_valid & _T_572; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111735.4]
  assign _T_574 = io_in_d_bits_opcode == _T_561; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111737.6]
  assign _T_576 = _T_574 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111739.6]
  assign _T_577 = _T_576 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111740.6]
  assign _T_578 = io_in_d_bits_param == _T_563; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111745.6]
  assign _T_580 = _T_578 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111747.6]
  assign _T_581 = _T_580 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111748.6]
  assign _T_582 = io_in_d_bits_size == _T_565; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111753.6]
  assign _T_584 = _T_582 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111755.6]
  assign _T_585 = _T_584 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111756.6]
  assign _T_590 = io_in_d_bits_sink == _T_569; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111769.6]
  assign _T_592 = _T_590 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111771.6]
  assign _T_593 = _T_592 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111772.6]
  assign _T_594 = io_in_d_bits_denied == _T_571; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@111777.6]
  assign _T_596 = _T_594 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111779.6]
  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111780.6]
  assign _T_599 = _T_539 & _T_552; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@111787.4]
  assign _T_613 = _T_612 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111807.4]
  assign _T_614 = $unsigned(_T_613); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111808.4]
  assign _T_615 = _T_614[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111809.4]
  assign _T_616 = _T_612 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111810.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111830.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111831.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@111832.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111833.4]
  assign _T_648 = _T_483 & _T_616; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111848.4]
  assign _T_651 = _T_601 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111853.6]
  assign _T_653 = _T_651 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111855.6]
  assign _T_655 = _T_653 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111857.6]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111858.6]
  assign _GEN_15 = _T_648 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@111850.4]
  assign _T_661 = _T_539 & _T_637; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111869.4]
  assign _T_663 = _T_342 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@111871.4]
  assign _T_664 = _T_661 & _T_663; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@111872.4]
  assign _T_646 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111844.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111846.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111852.6]
  assign _T_666 = _T_646 | _T_601; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111876.6]
  assign _T_667 = _T_666 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@111877.6]
  assign _T_670 = _T_667 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111880.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111881.6]
  assign _GEN_16 = _T_664 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@111873.4]
  assign _T_672 = _T_601 | _T_646; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111887.4]
  assign _T_658 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111864.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111866.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111875.6]
  assign _T_673 = ~ _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@111888.4]
  assign _T_674 = _T_672 & _T_673; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111889.4]
  assign _T_678 = _T_601 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@111895.4]
  assign _T_679 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111896.4]
  assign _T_680 = _T_678 | _T_679; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111897.4]
  assign _T_681 = _T_676 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@111898.4]
  assign _T_682 = _T_680 | _T_681; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@111899.4]
  assign _T_684 = _T_682 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111901.4]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111902.4]
  assign _T_687 = _T_676 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111908.4]
  assign _T_690 = _T_483 | _T_539; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111912.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110873.10]
  assign _GEN_27 = io_in_a_valid & _T_116; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110945.10]
  assign _GEN_37 = io_in_a_valid & _T_158; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111028.10]
  assign _GEN_43 = io_in_a_valid & _T_191; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111087.10]
  assign _GEN_49 = io_in_a_valid & _T_220; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111138.10]
  assign _GEN_53 = io_in_a_valid & _T_251; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111188.10]
  assign _GEN_59 = io_in_a_valid & _T_277; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111236.10]
  assign _GEN_65 = io_in_a_valid & _T_303; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111284.10]
  assign _GEN_71 = io_in_d_valid & _T_342; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111347.10]
  assign _GEN_79 = io_in_d_valid & _T_362; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111388.10]
  assign _GEN_91 = io_in_d_valid & _T_390; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111446.10]
  assign _GEN_103 = io_in_d_valid & _T_419; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111506.10]
  assign _GEN_109 = io_in_d_valid & _T_436; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111541.10]
  assign _GEN_115 = io_in_d_valid & _T_454; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111577.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@110798.8]
        end
    `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@110799.8]
        end
    `ifdef STOP_COND
      end
    `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@110856.8]
        end
    `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@110857.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@110873.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@110874.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@110880.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@110881.10]
        end
    `ifdef STOP_COND
      end
    `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@110887.10]
        end
    `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@110888.10]
        end
    `ifdef STOP_COND
      end
    `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@110895.10]
        end
    `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@110896.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@110902.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@110903.10]
        end
    `ifdef STOP_COND
      end
    `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@110910.10]
        end
    `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@110911.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@110919.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@110920.10]
        end
    `ifdef STOP_COND
      end
    `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@110927.10]
        end
    `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@110928.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@110945.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@110946.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@110952.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@110953.10]
        end
    `ifdef STOP_COND
      end
    `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@110959.10]
        end
    `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@110960.10]
        end
    `ifdef STOP_COND
      end
    `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@110967.10]
        end
    `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@110968.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@110974.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@110975.10]
        end
    `ifdef STOP_COND
      end
    `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@110982.10]
        end
    `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@110983.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@110990.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@110991.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@110999.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@111000.10]
        end
    `ifdef STOP_COND
      end
    `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@111007.10]
        end
    `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@111008.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@111028.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@111029.10]
        end
    `ifdef STOP_COND
      end
    `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@111035.10]
        end
    `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@111036.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@111042.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@111043.10]
        end
    `ifdef STOP_COND
      end
    `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@111050.10]
        end
    `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@111051.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@111058.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@111059.10]
        end
    `ifdef STOP_COND
      end
    `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@111066.10]
        end
    `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@111067.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@111087.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@111088.10]
        end
    `ifdef STOP_COND
      end
    `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@111094.10]
        end
    `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@111095.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@111101.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@111102.10]
        end
    `ifdef STOP_COND
      end
    `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@111109.10]
        end
    `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@111110.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@111117.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@111118.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@111138.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@111139.10]
        end
    `ifdef STOP_COND
      end
    `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@111145.10]
        end
    `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@111146.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@111152.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@111153.10]
        end
    `ifdef STOP_COND
      end
    `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@111160.10]
        end
    `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@111161.10]
        end
    `ifdef STOP_COND
      end
    `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@111170.10]
        end
    `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@111171.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@111188.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@111189.10]
        end
    `ifdef STOP_COND
      end
    `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@111195.10]
        end
    `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@111196.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@111202.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@111203.10]
        end
    `ifdef STOP_COND
      end
    `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@111210.10]
        end
    `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@111211.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@111218.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@111219.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@111236.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@111237.10]
        end
    `ifdef STOP_COND
      end
    `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@111243.10]
        end
    `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@111244.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@111250.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@111251.10]
        end
    `ifdef STOP_COND
      end
    `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@111258.10]
        end
    `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@111259.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@111266.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@111267.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@111284.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@111285.10]
        end
    `ifdef STOP_COND
      end
    `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@111291.10]
        end
    `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@111292.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@111298.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@111299.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@111306.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@111307.10]
        end
    `ifdef STOP_COND
      end
    `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@111314.10]
        end
    `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@111315.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@111325.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@111326.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@111339.10]
        end
    `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@111340.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@111347.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@111348.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@111355.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@111356.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@111363.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@111364.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@111371.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@111372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@111381.10]
        end
    `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@111382.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@111388.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@111389.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@111396.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@111397.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@111404.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@111405.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@111412.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@111413.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@111420.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@111421.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@111429.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@111430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@111439.10]
        end
    `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@111440.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@111446.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@111447.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@111454.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@111455.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@111462.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@111463.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@111470.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@111471.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@111479.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@111480.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@111488.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@111489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@111498.10]
        end
    `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@111499.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@111506.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@111507.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@111514.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@111515.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@111523.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@111524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@111533.10]
        end
    `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@111534.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@111541.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@111542.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@111550.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@111551.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@111559.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@111560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@111569.10]
        end
    `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@111570.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@111577.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@111578.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@111585.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@111586.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@111594.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@111595.10]
        end
    `ifdef STOP_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@111604.6]
        end
    `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@111605.6]
        end
    `ifdef STOP_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@111612.6]
        end
    `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@111613.6]
        end
    `ifdef STOP_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@111620.6]
        end
    `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@111621.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@111660.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@111661.8]
        end
    `ifdef STOP_COND
      end
    `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@111668.8]
        end
    `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@111669.8]
        end
    `ifdef STOP_COND
      end
    `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@111676.8]
        end
    `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@111677.8]
        end
    `ifdef STOP_COND
      end
    `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@111684.8]
        end
    `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@111685.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@111692.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@111693.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@111742.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@111743.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@111750.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@111751.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@111758.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@111759.8]
        end
    `ifdef STOP_COND
      end
    `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@111766.8]
        end
    `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@111767.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@111774.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@111775.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@111782.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@111783.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@111860.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@111861.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@111883.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@111884.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@111904.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@111905.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111917.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111918.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111919.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [8:0]  auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [6:0]  auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [8:0]  auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [1:0]  auto_out_0_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [1:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_0_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input  [31:0] auto_out_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111920.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.4]
  wire [9:0] _T_700; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112007.4]
  wire [9:0] _T_701; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112008.4]
  wire [9:0] _T_702; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112009.4]
  wire  _T_703; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112010.4]
  wire [8:0] _T_704; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112011.4]
  wire [9:0] _T_705; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112012.4]
  wire [9:0] _T_706; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112013.4]
  wire [9:0] _T_707; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112014.4]
  wire  _T_708; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112015.4]
  wire [8:0] _T_709; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112016.4]
  wire [9:0] _T_710; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112017.4]
  wire [9:0] _T_711; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112018.4]
  wire [9:0] _T_712; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112019.4]
  wire  _T_713; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112020.4]
  wire [8:0] _T_714; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112021.4]
  wire [9:0] _T_715; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112022.4]
  wire [9:0] _T_716; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112023.4]
  wire [9:0] _T_717; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112024.4]
  wire  _T_718; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112025.4]
  wire [8:0] _T_719; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112026.4]
  wire [9:0] _T_720; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112027.4]
  wire [9:0] _T_721; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112028.4]
  wire [9:0] _T_722; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112029.4]
  wire  _T_723; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112030.4]
  wire [8:0] _T_724; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112031.4]
  wire [9:0] _T_725; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112032.4]
  wire [9:0] _T_726; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112033.4]
  wire [9:0] _T_727; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112034.4]
  wire  _T_728; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112035.4]
  wire [8:0] _T_729; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112036.4]
  wire [9:0] _T_730; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112037.4]
  wire [9:0] _T_731; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112038.4]
  wire [9:0] _T_732; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112039.4]
  wire  _T_733; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112040.4]
  wire  _T_734; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112041.4]
  wire  _T_735; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112042.4]
  wire  _T_736; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112043.4]
  wire  _T_737; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112044.4]
  wire  _T_738; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112045.4]
  wire  requestAIO_0_0; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112046.4]
  wire [8:0] _T_740; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112048.4]
  wire [9:0] _T_741; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112049.4]
  wire [9:0] _T_742; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112050.4]
  wire [9:0] _T_743; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112051.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112052.4]
  wire  _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112125.4]
  wire  _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112126.4]
  reg  _T_980; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@112198.4]
  reg [31:0] _RAND_0;
  wire  _T_981; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112199.4]
  wire  _T_982; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112200.4]
  wire [1:0] _T_983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112201.4]
  wire  _T_985; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112203.4]
  wire  _T_987; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112205.4]
  wire  _T_988; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112206.4]
  reg [1:0] _T_991; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112212.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_992; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@112213.4]
  wire [1:0] _T_993; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112214.4]
  wire [3:0] _T_994; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112215.4]
  wire [2:0] _T_995; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112216.4]
  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112217.4]
  wire [3:0] _T_996; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112217.4]
  wire [2:0] _T_998; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112219.4]
  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@112220.4]
  wire [3:0] _T_999; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@112220.4]
  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112221.4]
  wire [3:0] _T_1000; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112221.4]
  wire [1:0] _T_1001; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@112222.4]
  wire [1:0] _T_1002; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112223.4]
  wire [1:0] _T_1003; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@112224.4]
  wire [1:0] _T_1004; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112225.4]
  wire  _T_1005; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@112226.4]
  wire  _T_1006; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112227.4]
  wire [1:0] _T_1007; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@112229.6]
  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112230.6]
  wire [2:0] _T_1008; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112230.6]
  wire [1:0] _T_1009; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@112231.6]
  wire [1:0] _T_1010; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112232.6]
  wire  _T_1013; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112237.4]
  wire  _T_1014; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112238.4]
  wire  _T_1023; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@112243.4]
  wire  _T_1024; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@112244.4]
  wire  _T_1034; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112250.4]
  wire  _T_1036; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@112252.4]
  wire  _T_1039; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@112255.4]
  wire  _T_1040; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@112256.4]
  wire  _T_1043; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112259.4]
  wire  _T_1044; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112260.4]
  wire  _T_1045; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112265.4]
  wire  _T_1046; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112266.4]
  wire  _T_1048; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@112268.4]
  wire  _T_1050; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112270.4]
  wire  _T_1051; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112271.4]
  reg  _T_1076_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@112289.4]
  reg [31:0] _RAND_2;
  wire  _T_1107; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112298.4]
  reg  _T_1076_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@112289.4]
  reg [31:0] _RAND_3;
  wire  _T_1108; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112299.4]
  wire  _T_1109; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112300.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112303.4]
  wire  _T_1055; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@112279.4]
  wire [1:0] _T_1056; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112280.4]
  wire [1:0] _T_1057; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112281.4]
  wire  _T_1058; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112282.4]
  wire  _T_1087_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112290.4]
  wire  _T_1087_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112290.4]
  wire  _T_1095_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112292.4]
  wire  _T_1095_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112292.4]
  wire [32:0] _T_1114; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112305.4]
  wire [1:0] _T_1115; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112306.4]
  wire [34:0] _T_1116; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112307.4]
  wire [2:0] _T_1117; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112308.4]
  wire [4:0] _T_1118; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112309.4]
  wire [7:0] _T_1119; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112310.4]
  wire [42:0] _T_1120; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112311.4]
  wire [42:0] _T_1121; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112312.4]
  wire [32:0] _T_1122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112313.4]
  wire [34:0] _T_1124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112315.4]
  wire [4:0] _T_1126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112317.4]
  wire [7:0] _T_1127; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112318.4]
  wire [42:0] _T_1128; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112319.4]
  wire [42:0] _T_1129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112320.4]
  wire [42:0] _T_1130; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112321.4]
  TLMonitor_51 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@111927.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@112007.4]
  assign _T_701 = $signed(_T_700) & $signed(10'sh1c0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112008.4]
  assign _T_702 = $signed(_T_701); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112009.4]
  assign _T_703 = $signed(_T_702) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112010.4]
  assign _T_704 = auto_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112011.4]
  assign _T_705 = {1'b0,$signed(_T_704)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112012.4]
  assign _T_706 = $signed(_T_705) & $signed(10'sh1fc); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112013.4]
  assign _T_707 = $signed(_T_706); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112014.4]
  assign _T_708 = $signed(_T_707) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112015.4]
  assign _T_709 = auto_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112016.4]
  assign _T_710 = {1'b0,$signed(_T_709)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112017.4]
  assign _T_711 = $signed(_T_710) & $signed(10'sh1f8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112018.4]
  assign _T_712 = $signed(_T_711); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112019.4]
  assign _T_713 = $signed(_T_712) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112020.4]
  assign _T_714 = auto_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112021.4]
  assign _T_715 = {1'b0,$signed(_T_714)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112022.4]
  assign _T_716 = $signed(_T_715) & $signed(10'sh1f0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112023.4]
  assign _T_717 = $signed(_T_716); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112024.4]
  assign _T_718 = $signed(_T_717) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112025.4]
  assign _T_719 = auto_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112026.4]
  assign _T_720 = {1'b0,$signed(_T_719)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112027.4]
  assign _T_721 = $signed(_T_720) & $signed(10'sh1e0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112028.4]
  assign _T_722 = $signed(_T_721); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112029.4]
  assign _T_723 = $signed(_T_722) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112030.4]
  assign _T_724 = auto_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112031.4]
  assign _T_725 = {1'b0,$signed(_T_724)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112032.4]
  assign _T_726 = $signed(_T_725) & $signed(10'sh180); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112033.4]
  assign _T_727 = $signed(_T_726); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112034.4]
  assign _T_728 = $signed(_T_727) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112035.4]
  assign _T_729 = auto_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112036.4]
  assign _T_730 = {1'b0,$signed(_T_729)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112037.4]
  assign _T_731 = $signed(_T_730) & $signed(10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112038.4]
  assign _T_732 = $signed(_T_731); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112039.4]
  assign _T_733 = $signed(_T_732) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112040.4]
  assign _T_734 = _T_703 | _T_708; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112041.4]
  assign _T_735 = _T_734 | _T_713; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112042.4]
  assign _T_736 = _T_735 | _T_718; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112043.4]
  assign _T_737 = _T_736 | _T_723; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112044.4]
  assign _T_738 = _T_737 | _T_728; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112045.4]
  assign requestAIO_0_0 = _T_738 | _T_733; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@112046.4]
  assign _T_740 = auto_in_a_bits_address ^ 9'h40; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112048.4]
  assign _T_741 = {1'b0,$signed(_T_740)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112049.4]
  assign _T_742 = $signed(_T_741) & $signed(10'sh1fc); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112050.4]
  assign _T_743 = $signed(_T_742); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112051.4]
  assign requestAIO_0_1 = $signed(_T_743) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112052.4]
  assign _T_824 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112125.4]
  assign _T_825 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112126.4]
  assign _T_981 = _T_980 == 1'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112199.4]
  assign _T_982 = _T_981 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112200.4]
  assign _T_983 = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112201.4]
  assign _T_985 = _T_983 == _T_983; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112203.4]
  assign _T_987 = _T_985 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112205.4]
  assign _T_988 = _T_987 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112206.4]
  assign _T_992 = ~ _T_991; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@112213.4]
  assign _T_993 = _T_983 & _T_992; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112214.4]
  assign _T_994 = {_T_993,_T_983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112215.4]
  assign _T_995 = _T_994[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112216.4]
  assign _GEN_1 = {{1'd0}, _T_995}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112217.4]
  assign _T_996 = _T_994 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112217.4]
  assign _T_998 = _T_996[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112219.4]
  assign _GEN_2 = {{2'd0}, _T_991}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@112220.4]
  assign _T_999 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@112220.4]
  assign _GEN_3 = {{1'd0}, _T_998}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112221.4]
  assign _T_1000 = _GEN_3 | _T_999; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@112221.4]
  assign _T_1001 = _T_1000[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@112222.4]
  assign _T_1002 = _T_1000[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112223.4]
  assign _T_1003 = _T_1001 & _T_1002; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@112224.4]
  assign _T_1004 = ~ _T_1003; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112225.4]
  assign _T_1005 = _T_983 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@112226.4]
  assign _T_1006 = _T_982 & _T_1005; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112227.4]
  assign _T_1007 = _T_1004 & _T_983; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@112229.6]
  assign _GEN_4 = {{1'd0}, _T_1007}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112230.6]
  assign _T_1008 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@112230.6]
  assign _T_1009 = _T_1008[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@112231.6]
  assign _T_1010 = _T_1007 | _T_1009; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112232.6]
  assign _T_1013 = _T_1004[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112237.4]
  assign _T_1014 = _T_1004[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112238.4]
  assign _T_1023 = _T_1013 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@112243.4]
  assign _T_1024 = _T_1014 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@112244.4]
  assign _T_1034 = _T_1023 | _T_1024; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112250.4]
  assign _T_1036 = _T_1023 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@112252.4]
  assign _T_1039 = _T_1024 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@112255.4]
  assign _T_1040 = _T_1036 | _T_1039; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@112256.4]
  assign _T_1043 = _T_1040 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112259.4]
  assign _T_1044 = _T_1043 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112260.4]
  assign _T_1045 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112265.4]
  assign _T_1046 = _T_1045 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112266.4]
  assign _T_1048 = _T_1046 | _T_1034; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@112268.4]
  assign _T_1050 = _T_1048 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112270.4]
  assign _T_1051 = _T_1050 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112271.4]
  assign _T_1107 = _T_1076_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112298.4]
  assign _T_1108 = _T_1076_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112299.4]
  assign _T_1109 = _T_1107 | _T_1108; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112300.4]
  assign in_0_d_valid = _T_981 ? _T_1045 : _T_1109; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112303.4]
  assign _T_1055 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@112279.4]
  assign _T_1056 = _T_980 - _T_1055; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112280.4]
  assign _T_1057 = $unsigned(_T_1056); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112281.4]
  assign _T_1058 = _T_1057[0:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112282.4]
  assign _T_1087_0 = _T_981 ? _T_1023 : _T_1076_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112290.4]
  assign _T_1087_1 = _T_981 ? _T_1024 : _T_1076_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112290.4]
  assign _T_1095_0 = _T_981 ? _T_1013 : _T_1076_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112292.4]
  assign _T_1095_1 = _T_981 ? _T_1014 : _T_1076_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112292.4]
  assign _T_1114 = {auto_out_0_d_bits_data,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112305.4]
  assign _T_1115 = {auto_out_0_d_bits_sink,auto_out_0_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112306.4]
  assign _T_1116 = {_T_1115,_T_1114}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112307.4]
  assign _T_1117 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112308.4]
  assign _T_1118 = {auto_out_0_d_bits_opcode,auto_out_0_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112309.4]
  assign _T_1119 = {_T_1118,_T_1117}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112310.4]
  assign _T_1120 = {_T_1119,_T_1116}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112311.4]
  assign _T_1121 = _T_1087_0 ? _T_1120 : 43'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112312.4]
  assign _T_1122 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112313.4]
  assign _T_1124 = {2'h0,_T_1122}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112315.4]
  assign _T_1126 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112317.4]
  assign _T_1127 = {_T_1126,3'h4}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112318.4]
  assign _T_1128 = {_T_1127,_T_1124}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112319.4]
  assign _T_1129 = _T_1087_1 ? _T_1128 : 43'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112320.4]
  assign _T_1130 = _T_1121 | _T_1129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@112321.4]
  assign auto_in_a_ready = _T_824 | _T_825; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111970.4]
  assign auto_in_d_valid = _T_981 ? _T_1045 : _T_1109; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111970.4]
  assign auto_in_d_bits_denied = _T_1130[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111970.4]
  assign auto_in_d_bits_data = _T_1130[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111970.4]
  assign auto_in_d_bits_corrupt = _T_1130[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111970.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111969.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111969.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address[6:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111969.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111969.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111969.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_1095_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111969.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111968.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111968.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111968.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111968.4]
  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111968.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_1095_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111968.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111929.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111930.4]
  assign TLMonitor_io_in_a_ready = _T_824 | _T_825; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_valid = _T_981 ? _T_1045 : _T_1109; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_1130[42:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_bits_param = _T_1130[39:38]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_bits_size = _T_1130[37:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_bits_sink = _T_1130[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_bits_denied = _T_1130[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_1130[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@111963.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@112208.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@112209.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@112262.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@112263.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@112273.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@112274.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_52( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112350.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112352.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input  [6:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  input  [2:0] io_in_d_bits_opcode // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113459.4]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@112373.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@112374.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@112375.6]
  wire [6:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.6]
  wire [6:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112377.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112380.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112426.6]
  wire [6:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112429.8]
  wire [7:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112430.8]
  wire [7:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112431.8]
  wire [7:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112432.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112433.8]
  wire  _T_89; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112438.8]
  wire  _T_101; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112466.8]
  wire  _T_102; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112467.8]
  wire [3:0] _T_107; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112480.8]
  wire  _T_108; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112481.8]
  wire  _T_110; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112483.8]
  wire  _T_111; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112484.8]
  wire  _T_116; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112498.6]
  wire  _T_158; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112578.6]
  wire  _T_171; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112592.8]
  wire  _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112593.8]
  wire  _T_183; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@112620.8]
  wire  _T_185; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112622.8]
  wire  _T_186; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112623.8]
  wire  _T_191; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112637.6]
  wire  _T_220; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112688.6]
  wire  _T_251; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112741.6]
  wire  _T_277; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112789.6]
  wire  _T_303; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112837.6]
  wire  _T_329; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112887.6]
  wire  _T_331; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112889.6]
  wire  _T_332; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112890.6]
  wire  _T_342; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112900.6]
  wire  _T_362; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112942.6]
  wire  _T_390; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113000.6]
  wire  _T_483; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113190.4]
  reg  _T_493; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113199.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_494; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
  wire [1:0] _T_495; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113201.4]
  wire  _T_496; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113202.4]
  wire  _T_497; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
  reg [2:0] _T_506; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113214.4]
  reg [31:0] _RAND_1;
  reg [6:0] _T_514; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113218.4]
  reg [31:0] _RAND_2;
  wire  _T_515; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113219.4]
  wire  _T_516; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113220.4]
  wire  _T_517; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113222.6]
  wire  _T_519; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113224.6]
  wire  _T_520; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113225.6]
  wire  _T_533; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113254.6]
  wire  _T_535; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113256.6]
  wire  _T_536; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113257.6]
  wire  _T_538; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113264.4]
  wire  _T_539; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113272.4]
  reg  _T_548; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113280.4]
  reg [31:0] _RAND_3;
  wire [1:0] _T_549; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113281.4]
  wire [1:0] _T_550; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113282.4]
  wire  _T_551; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113283.4]
  wire  _T_552; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113284.4]
  reg [2:0] _T_561; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113295.4]
  reg [31:0] _RAND_4;
  wire  _T_572; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113301.4]
  wire  _T_573; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113302.4]
  wire  _T_574; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113304.6]
  wire  _T_576; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113306.6]
  wire  _T_577; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113307.6]
  wire  _T_599; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113354.4]
  reg  _T_601; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113363.4]
  reg [31:0] _RAND_5;
  reg  _T_612; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113373.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113374.4]
  wire [1:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113375.4]
  wire  _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113376.4]
  wire  _T_616; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113377.4]
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113396.4]
  reg [31:0] _RAND_7;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113397.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113398.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113399.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113400.4]
  wire  _T_648; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113415.4]
  wire  _T_651; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113420.6]
  wire  _T_653; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113422.6]
  wire  _T_655; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113424.6]
  wire  _T_656; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113425.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@113417.4]
  wire  _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113436.4]
  wire  _T_663; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@113438.4]
  wire  _T_664; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@113439.4]
  wire  _T_646; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113411.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113413.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113419.6]
  wire  _T_666; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113443.6]
  wire  _T_667; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@113444.6]
  wire  _T_670; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113447.6]
  wire  _T_671; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113448.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@113440.4]
  wire  _T_672; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113454.4]
  wire  _T_658; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113431.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113433.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113442.6]
  wire  _T_673; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113455.4]
  wire  _T_674; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@113456.4]
  reg [31:0] _T_676; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113458.4]
  reg [31:0] _RAND_8;
  wire  _T_678; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113462.4]
  wire  _T_679; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@113463.4]
  wire  _T_680; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113464.4]
  wire  _T_681; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@113465.4]
  wire  _T_682; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@113466.4]
  wire  _T_684; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113468.4]
  wire  _T_685; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113469.4]
  wire [31:0] _T_687; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113475.4]
  wire  _T_690; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113479.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112440.10]
  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.10]
  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112595.10]
  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112654.10]
  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112705.10]
  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112755.10]
  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112803.10]
  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112851.10]
  wire  _GEN_71; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112955.10]
  wire  _GEN_73; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113013.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113459.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@112373.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@112374.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@112375.6]
  assign _GEN_18 = {{5'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.6]
  assign _T_33 = _T_32 == 7'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112377.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112380.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112426.6]
  assign _T_80 = io_in_a_bits_address ^ 7'h40; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112429.8]
  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112430.8]
  assign _T_82 = $signed(_T_81) & $signed(-8'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112431.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@112432.8]
  assign _T_84 = $signed(_T_83) == $signed(8'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@112433.8]
  assign _T_89 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112438.8]
  assign _T_101 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112466.8]
  assign _T_102 = _T_101 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112467.8]
  assign _T_107 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112480.8]
  assign _T_108 = _T_107 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112481.8]
  assign _T_110 = _T_108 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112483.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112484.8]
  assign _T_116 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112498.6]
  assign _T_158 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112578.6]
  assign _T_171 = _T_84 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112592.8]
  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112593.8]
  assign _T_183 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@112620.8]
  assign _T_185 = _T_183 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112622.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112623.8]
  assign _T_191 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112637.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112688.6]
  assign _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112741.6]
  assign _T_277 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112789.6]
  assign _T_303 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112837.6]
  assign _T_329 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112887.6]
  assign _T_331 = _T_329 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112889.6]
  assign _T_332 = _T_331 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112890.6]
  assign _T_342 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112900.6]
  assign _T_362 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112942.6]
  assign _T_390 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113000.6]
  assign _T_483 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113190.4]
  assign _T_494 = _T_493 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
  assign _T_495 = $unsigned(_T_494); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113201.4]
  assign _T_496 = _T_495[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113202.4]
  assign _T_497 = _T_493 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
  assign _T_515 = _T_497 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113219.4]
  assign _T_516 = io_in_a_valid & _T_515; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113220.4]
  assign _T_517 = io_in_a_bits_opcode == _T_506; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113222.6]
  assign _T_519 = _T_517 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113224.6]
  assign _T_520 = _T_519 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113225.6]
  assign _T_533 = io_in_a_bits_address == _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113254.6]
  assign _T_535 = _T_533 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113256.6]
  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113257.6]
  assign _T_538 = _T_483 & _T_497; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113264.4]
  assign _T_539 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113272.4]
  assign _T_549 = _T_548 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113281.4]
  assign _T_550 = $unsigned(_T_549); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113282.4]
  assign _T_551 = _T_550[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113283.4]
  assign _T_552 = _T_548 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113284.4]
  assign _T_572 = _T_552 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113301.4]
  assign _T_573 = io_in_d_valid & _T_572; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113302.4]
  assign _T_574 = io_in_d_bits_opcode == _T_561; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113304.6]
  assign _T_576 = _T_574 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113306.6]
  assign _T_577 = _T_576 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113307.6]
  assign _T_599 = _T_539 & _T_552; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113354.4]
  assign _T_613 = _T_612 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113374.4]
  assign _T_614 = $unsigned(_T_613); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113375.4]
  assign _T_615 = _T_614[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113376.4]
  assign _T_616 = _T_612 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113377.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113397.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113398.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113399.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113400.4]
  assign _T_648 = _T_483 & _T_616; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113415.4]
  assign _T_651 = _T_601 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113420.6]
  assign _T_653 = _T_651 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113422.6]
  assign _T_655 = _T_653 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113424.6]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113425.6]
  assign _GEN_15 = _T_648 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@113417.4]
  assign _T_661 = _T_539 & _T_637; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113436.4]
  assign _T_663 = _T_342 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@113438.4]
  assign _T_664 = _T_661 & _T_663; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@113439.4]
  assign _T_646 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113411.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113413.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113419.6]
  assign _T_666 = _T_646 | _T_601; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113443.6]
  assign _T_667 = _T_666 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@113444.6]
  assign _T_670 = _T_667 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113447.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113448.6]
  assign _GEN_16 = _T_664 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@113440.4]
  assign _T_672 = _T_601 | _T_646; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113454.4]
  assign _T_658 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113431.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113433.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113442.6]
  assign _T_673 = ~ _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113455.4]
  assign _T_674 = _T_672 & _T_673; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@113456.4]
  assign _T_678 = _T_601 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113462.4]
  assign _T_679 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@113463.4]
  assign _T_680 = _T_678 | _T_679; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113464.4]
  assign _T_681 = _T_676 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@113465.4]
  assign _T_682 = _T_680 | _T_681; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@113466.4]
  assign _T_684 = _T_682 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113468.4]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113469.4]
  assign _T_687 = _T_676 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113475.4]
  assign _T_690 = _T_483 | _T_539; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113479.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112440.10]
  assign _GEN_27 = io_in_a_valid & _T_116; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.10]
  assign _GEN_37 = io_in_a_valid & _T_158; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112595.10]
  assign _GEN_43 = io_in_a_valid & _T_191; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112654.10]
  assign _GEN_49 = io_in_a_valid & _T_220; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112705.10]
  assign _GEN_53 = io_in_a_valid & _T_251; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112755.10]
  assign _GEN_59 = io_in_a_valid & _T_277; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112803.10]
  assign _GEN_65 = io_in_a_valid & _T_303; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112851.10]
  assign _GEN_71 = io_in_d_valid & _T_362; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112955.10]
  assign _GEN_73 = io_in_d_valid & _T_390; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113013.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@112365.8]
        end
    `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@112366.8]
        end
    `ifdef STOP_COND
      end
    `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@112423.8]
        end
    `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@112424.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@112440.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@112441.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@112447.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@112448.10]
        end
    `ifdef STOP_COND
      end
    `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@112454.10]
        end
    `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@112455.10]
        end
    `ifdef STOP_COND
      end
    `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@112462.10]
        end
    `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@112463.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@112469.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@112470.10]
        end
    `ifdef STOP_COND
      end
    `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@112477.10]
        end
    `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@112478.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@112486.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@112487.10]
        end
    `ifdef STOP_COND
      end
    `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@112494.10]
        end
    `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@112495.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@112512.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@112513.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@112519.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@112520.10]
        end
    `ifdef STOP_COND
      end
    `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@112526.10]
        end
    `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@112527.10]
        end
    `ifdef STOP_COND
      end
    `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@112534.10]
        end
    `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@112535.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@112541.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@112542.10]
        end
    `ifdef STOP_COND
      end
    `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@112549.10]
        end
    `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@112550.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@112557.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@112558.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@112566.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@112567.10]
        end
    `ifdef STOP_COND
      end
    `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@112574.10]
        end
    `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@112575.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@112595.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@112596.10]
        end
    `ifdef STOP_COND
      end
    `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@112602.10]
        end
    `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@112603.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@112609.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@112610.10]
        end
    `ifdef STOP_COND
      end
    `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@112617.10]
        end
    `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@112618.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@112625.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@112626.10]
        end
    `ifdef STOP_COND
      end
    `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@112633.10]
        end
    `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@112634.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@112654.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@112655.10]
        end
    `ifdef STOP_COND
      end
    `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@112661.10]
        end
    `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@112662.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@112668.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@112669.10]
        end
    `ifdef STOP_COND
      end
    `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@112676.10]
        end
    `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@112677.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@112684.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@112685.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@112705.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@112706.10]
        end
    `ifdef STOP_COND
      end
    `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@112712.10]
        end
    `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@112713.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@112719.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@112720.10]
        end
    `ifdef STOP_COND
      end
    `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@112727.10]
        end
    `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@112728.10]
        end
    `ifdef STOP_COND
      end
    `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@112737.10]
        end
    `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@112738.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@112755.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@112756.10]
        end
    `ifdef STOP_COND
      end
    `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@112762.10]
        end
    `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@112763.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@112769.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@112770.10]
        end
    `ifdef STOP_COND
      end
    `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@112777.10]
        end
    `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@112778.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@112785.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@112786.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@112803.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@112804.10]
        end
    `ifdef STOP_COND
      end
    `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@112810.10]
        end
    `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@112811.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@112817.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@112818.10]
        end
    `ifdef STOP_COND
      end
    `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@112825.10]
        end
    `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@112826.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@112833.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@112834.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@112851.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@112852.10]
        end
    `ifdef STOP_COND
      end
    `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@112858.10]
        end
    `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@112859.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@112865.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@112866.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@112873.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@112874.10]
        end
    `ifdef STOP_COND
      end
    `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@112881.10]
        end
    `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@112882.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@112892.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@112893.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@112906.10]
        end
    `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@112907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@112914.10]
        end
    `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@112915.10]
        end
    `ifdef STOP_COND
      end
    `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@112922.10]
        end
    `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@112923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@112930.10]
        end
    `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@112931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@112938.10]
        end
    `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@112939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@112948.10]
        end
    `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@112949.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@112955.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@112956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@112963.10]
        end
    `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@112964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@112971.10]
        end
    `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@112972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@112979.10]
        end
    `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@112980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@112987.10]
        end
    `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@112988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@112996.10]
        end
    `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@112997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113006.10]
        end
    `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@113007.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@113013.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@113014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113021.10]
        end
    `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@113022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113029.10]
        end
    `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@113030.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113037.10]
        end
    `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@113038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@113046.10]
        end
    `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@113047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@113055.10]
        end
    `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@113056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113065.10]
        end
    `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@113066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113073.10]
        end
    `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@113074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113081.10]
        end
    `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@113082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113090.10]
        end
    `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@113091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113100.10]
        end
    `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@113101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113108.10]
        end
    `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@113109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@113117.10]
        end
    `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@113118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@113126.10]
        end
    `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@113127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113136.10]
        end
    `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@113137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@113144.10]
        end
    `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@113145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113152.10]
        end
    `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@113153.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@113161.10]
        end
    `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@113162.10]
        end
    `ifdef STOP_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@113171.6]
        end
    `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@113172.6]
        end
    `ifdef STOP_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@113179.6]
        end
    `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@113180.6]
        end
    `ifdef STOP_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@113187.6]
        end
    `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@113188.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@113227.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@113228.8]
        end
    `ifdef STOP_COND
      end
    `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@113235.8]
        end
    `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@113236.8]
        end
    `ifdef STOP_COND
      end
    `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@113243.8]
        end
    `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@113244.8]
        end
    `ifdef STOP_COND
      end
    `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@113251.8]
        end
    `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@113252.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@113259.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@113260.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@113309.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@113310.8]
        end
    `ifdef STOP_COND
      end
    `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@113317.8]
        end
    `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@113318.8]
        end
    `ifdef STOP_COND
      end
    `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@113325.8]
        end
    `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@113326.8]
        end
    `ifdef STOP_COND
      end
    `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@113333.8]
        end
    `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@113334.8]
        end
    `ifdef STOP_COND
      end
    `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@113341.8]
        end
    `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@113342.8]
        end
    `ifdef STOP_COND
      end
    `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@113349.8]
        end
    `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@113350.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@113427.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@113428.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@113450.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@113451.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@113471.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@113472.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncResetRegVec_w32_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113804.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113805.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113806.4]
  input  [31:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113807.4]
  output [31:0] io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113807.4]
  input         io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113807.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113812.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113812.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113812.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113812.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113812.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113818.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113818.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113818.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113818.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113818.4]
  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.4]
  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.4]
  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.4]
  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.4]
  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.4]
  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.4]
  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.4]
  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.4]
  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.4]
  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.4]
  wire  reg_4_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113836.4]
  wire  reg_4_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113836.4]
  wire  reg_4_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113836.4]
  wire  reg_4_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113836.4]
  wire  reg_4_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113836.4]
  wire  reg_5_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113842.4]
  wire  reg_5_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113842.4]
  wire  reg_5_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113842.4]
  wire  reg_5_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113842.4]
  wire  reg_5_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113842.4]
  wire  reg_6_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.4]
  wire  reg_6_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.4]
  wire  reg_6_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.4]
  wire  reg_6_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.4]
  wire  reg_6_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.4]
  wire  reg_7_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113854.4]
  wire  reg_7_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113854.4]
  wire  reg_7_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113854.4]
  wire  reg_7_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113854.4]
  wire  reg_7_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113854.4]
  wire  reg_8_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113860.4]
  wire  reg_8_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113860.4]
  wire  reg_8_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113860.4]
  wire  reg_8_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113860.4]
  wire  reg_8_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113860.4]
  wire  reg_9_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113866.4]
  wire  reg_9_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113866.4]
  wire  reg_9_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113866.4]
  wire  reg_9_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113866.4]
  wire  reg_9_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113866.4]
  wire  reg_10_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113872.4]
  wire  reg_10_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113872.4]
  wire  reg_10_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113872.4]
  wire  reg_10_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113872.4]
  wire  reg_10_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113872.4]
  wire  reg_11_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113878.4]
  wire  reg_11_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113878.4]
  wire  reg_11_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113878.4]
  wire  reg_11_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113878.4]
  wire  reg_11_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113878.4]
  wire  reg_12_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113884.4]
  wire  reg_12_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113884.4]
  wire  reg_12_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113884.4]
  wire  reg_12_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113884.4]
  wire  reg_12_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113884.4]
  wire  reg_13_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113890.4]
  wire  reg_13_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113890.4]
  wire  reg_13_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113890.4]
  wire  reg_13_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113890.4]
  wire  reg_13_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113890.4]
  wire  reg_14_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113896.4]
  wire  reg_14_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113896.4]
  wire  reg_14_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113896.4]
  wire  reg_14_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113896.4]
  wire  reg_14_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113896.4]
  wire  reg_15_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113902.4]
  wire  reg_15_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113902.4]
  wire  reg_15_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113902.4]
  wire  reg_15_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113902.4]
  wire  reg_15_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113902.4]
  wire  reg_16_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113908.4]
  wire  reg_16_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113908.4]
  wire  reg_16_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113908.4]
  wire  reg_16_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113908.4]
  wire  reg_16_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113908.4]
  wire  reg_17_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113914.4]
  wire  reg_17_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113914.4]
  wire  reg_17_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113914.4]
  wire  reg_17_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113914.4]
  wire  reg_17_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113914.4]
  wire  reg_18_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113920.4]
  wire  reg_18_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113920.4]
  wire  reg_18_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113920.4]
  wire  reg_18_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113920.4]
  wire  reg_18_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113920.4]
  wire  reg_19_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.4]
  wire  reg_19_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.4]
  wire  reg_19_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.4]
  wire  reg_19_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.4]
  wire  reg_19_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.4]
  wire  reg_20_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.4]
  wire  reg_20_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.4]
  wire  reg_20_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.4]
  wire  reg_20_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.4]
  wire  reg_20_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.4]
  wire  reg_21_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113938.4]
  wire  reg_21_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113938.4]
  wire  reg_21_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113938.4]
  wire  reg_21_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113938.4]
  wire  reg_21_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113938.4]
  wire  reg_22_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113944.4]
  wire  reg_22_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113944.4]
  wire  reg_22_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113944.4]
  wire  reg_22_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113944.4]
  wire  reg_22_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113944.4]
  wire  reg_23_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113950.4]
  wire  reg_23_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113950.4]
  wire  reg_23_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113950.4]
  wire  reg_23_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113950.4]
  wire  reg_23_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113950.4]
  wire  reg_24_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113956.4]
  wire  reg_24_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113956.4]
  wire  reg_24_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113956.4]
  wire  reg_24_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113956.4]
  wire  reg_24_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113956.4]
  wire  reg_25_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113962.4]
  wire  reg_25_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113962.4]
  wire  reg_25_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113962.4]
  wire  reg_25_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113962.4]
  wire  reg_25_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113962.4]
  wire  reg_26_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113968.4]
  wire  reg_26_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113968.4]
  wire  reg_26_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113968.4]
  wire  reg_26_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113968.4]
  wire  reg_26_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113968.4]
  wire  reg_27_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113974.4]
  wire  reg_27_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113974.4]
  wire  reg_27_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113974.4]
  wire  reg_27_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113974.4]
  wire  reg_27_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113974.4]
  wire  reg_28_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113980.4]
  wire  reg_28_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113980.4]
  wire  reg_28_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113980.4]
  wire  reg_28_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113980.4]
  wire  reg_28_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113980.4]
  wire  reg_29_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113986.4]
  wire  reg_29_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113986.4]
  wire  reg_29_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113986.4]
  wire  reg_29_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113986.4]
  wire  reg_29_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113986.4]
  wire  reg_30_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113992.4]
  wire  reg_30_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113992.4]
  wire  reg_30_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113992.4]
  wire  reg_30_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113992.4]
  wire  reg_30_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113992.4]
  wire  reg_31_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113998.4]
  wire  reg_31_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113998.4]
  wire  reg_31_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113998.4]
  wire  reg_31_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113998.4]
  wire  reg_31_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113998.4]
  wire [1:0] _T_39; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114164.4]
  wire [1:0] _T_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114165.4]
  wire [3:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114166.4]
  wire [1:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114167.4]
  wire [1:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114168.4]
  wire [3:0] _T_44; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114169.4]
  wire [7:0] _T_45; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114170.4]
  wire [1:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114171.4]
  wire [1:0] _T_47; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114172.4]
  wire [3:0] _T_48; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114173.4]
  wire [1:0] _T_49; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.4]
  wire [1:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114175.4]
  wire [3:0] _T_51; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114176.4]
  wire [7:0] _T_52; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114177.4]
  wire [15:0] _T_53; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114178.4]
  wire [1:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114179.4]
  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114180.4]
  wire [3:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114181.4]
  wire [1:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114182.4]
  wire [1:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114183.4]
  wire [3:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114184.4]
  wire [7:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114185.4]
  wire [1:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114186.4]
  wire [1:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114187.4]
  wire [3:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114188.4]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114189.4]
  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114190.4]
  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114191.4]
  wire [7:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114192.4]
  wire [15:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114193.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@113812.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@113818.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@113824.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@113830.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@113836.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@113842.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@113848.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@113854.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@113860.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@113866.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@113872.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@113878.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@113884.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@113890.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@113896.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@113902.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@113908.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@113914.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@113920.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@113926.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@113932.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@113938.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@113944.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@113950.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@113956.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@113962.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@113968.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@113974.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@113980.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@113986.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@113992.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@113998.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@114164.4]
  assign _T_40 = {reg_3_q,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114165.4]
  assign _T_41 = {_T_40,_T_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114166.4]
  assign _T_42 = {reg_5_q,reg_4_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114167.4]
  assign _T_43 = {reg_7_q,reg_6_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114168.4]
  assign _T_44 = {_T_43,_T_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114169.4]
  assign _T_45 = {_T_44,_T_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114170.4]
  assign _T_46 = {reg_9_q,reg_8_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114171.4]
  assign _T_47 = {reg_11_q,reg_10_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114172.4]
  assign _T_48 = {_T_47,_T_46}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114173.4]
  assign _T_49 = {reg_13_q,reg_12_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.4]
  assign _T_50 = {reg_15_q,reg_14_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114175.4]
  assign _T_51 = {_T_50,_T_49}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114176.4]
  assign _T_52 = {_T_51,_T_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114177.4]
  assign _T_53 = {_T_52,_T_45}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114178.4]
  assign _T_54 = {reg_17_q,reg_16_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114179.4]
  assign _T_55 = {reg_19_q,reg_18_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114180.4]
  assign _T_56 = {_T_55,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114181.4]
  assign _T_57 = {reg_21_q,reg_20_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114182.4]
  assign _T_58 = {reg_23_q,reg_22_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114183.4]
  assign _T_59 = {_T_58,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114184.4]
  assign _T_60 = {_T_59,_T_56}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114185.4]
  assign _T_61 = {reg_25_q,reg_24_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114186.4]
  assign _T_62 = {reg_27_q,reg_26_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114187.4]
  assign _T_63 = {_T_62,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114188.4]
  assign _T_64 = {reg_29_q,reg_28_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114189.4]
  assign _T_65 = {reg_31_q,reg_30_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114190.4]
  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114191.4]
  assign _T_67 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114192.4]
  assign _T_68 = {_T_67,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114193.4]
  assign io_q = {_T_68,_T_53}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@114195.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114005.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114004.4]
  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114008.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114007.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114010.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114009.4]
  assign reg_1_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114013.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114012.4]
  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114015.4]
  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114014.4]
  assign reg_2_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114018.4]
  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114017.4]
  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114020.4]
  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114019.4]
  assign reg_3_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114023.4]
  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114022.4]
  assign reg_4_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114025.4]
  assign reg_4_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114024.4]
  assign reg_4_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114028.4]
  assign reg_4_d = io_d[4]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114027.4]
  assign reg_5_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114030.4]
  assign reg_5_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114029.4]
  assign reg_5_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114033.4]
  assign reg_5_d = io_d[5]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114032.4]
  assign reg_6_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114035.4]
  assign reg_6_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114034.4]
  assign reg_6_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114038.4]
  assign reg_6_d = io_d[6]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114037.4]
  assign reg_7_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114040.4]
  assign reg_7_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114039.4]
  assign reg_7_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114043.4]
  assign reg_7_d = io_d[7]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114042.4]
  assign reg_8_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114045.4]
  assign reg_8_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114044.4]
  assign reg_8_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114048.4]
  assign reg_8_d = io_d[8]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114047.4]
  assign reg_9_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114050.4]
  assign reg_9_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114049.4]
  assign reg_9_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114053.4]
  assign reg_9_d = io_d[9]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114052.4]
  assign reg_10_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114055.4]
  assign reg_10_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114054.4]
  assign reg_10_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114058.4]
  assign reg_10_d = io_d[10]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114057.4]
  assign reg_11_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114060.4]
  assign reg_11_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114059.4]
  assign reg_11_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114063.4]
  assign reg_11_d = io_d[11]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114062.4]
  assign reg_12_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114065.4]
  assign reg_12_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114064.4]
  assign reg_12_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114068.4]
  assign reg_12_d = io_d[12]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114067.4]
  assign reg_13_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114070.4]
  assign reg_13_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114069.4]
  assign reg_13_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114073.4]
  assign reg_13_d = io_d[13]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114072.4]
  assign reg_14_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114075.4]
  assign reg_14_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114074.4]
  assign reg_14_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114078.4]
  assign reg_14_d = io_d[14]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.4]
  assign reg_15_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114080.4]
  assign reg_15_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114079.4]
  assign reg_15_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114083.4]
  assign reg_15_d = io_d[15]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114082.4]
  assign reg_16_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114085.4]
  assign reg_16_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114084.4]
  assign reg_16_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114088.4]
  assign reg_16_d = io_d[16]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114087.4]
  assign reg_17_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114090.4]
  assign reg_17_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114089.4]
  assign reg_17_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114093.4]
  assign reg_17_d = io_d[17]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114092.4]
  assign reg_18_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114095.4]
  assign reg_18_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114094.4]
  assign reg_18_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114098.4]
  assign reg_18_d = io_d[18]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114097.4]
  assign reg_19_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114100.4]
  assign reg_19_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114099.4]
  assign reg_19_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114103.4]
  assign reg_19_d = io_d[19]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114102.4]
  assign reg_20_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114105.4]
  assign reg_20_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114104.4]
  assign reg_20_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114108.4]
  assign reg_20_d = io_d[20]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114107.4]
  assign reg_21_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114110.4]
  assign reg_21_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114109.4]
  assign reg_21_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114113.4]
  assign reg_21_d = io_d[21]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114112.4]
  assign reg_22_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114115.4]
  assign reg_22_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114114.4]
  assign reg_22_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114118.4]
  assign reg_22_d = io_d[22]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114117.4]
  assign reg_23_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114120.4]
  assign reg_23_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114119.4]
  assign reg_23_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114123.4]
  assign reg_23_d = io_d[23]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114122.4]
  assign reg_24_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114125.4]
  assign reg_24_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114124.4]
  assign reg_24_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114128.4]
  assign reg_24_d = io_d[24]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114127.4]
  assign reg_25_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114130.4]
  assign reg_25_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114129.4]
  assign reg_25_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114133.4]
  assign reg_25_d = io_d[25]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.4]
  assign reg_26_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114135.4]
  assign reg_26_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114134.4]
  assign reg_26_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114138.4]
  assign reg_26_d = io_d[26]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114137.4]
  assign reg_27_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114140.4]
  assign reg_27_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114139.4]
  assign reg_27_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114143.4]
  assign reg_27_d = io_d[27]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114142.4]
  assign reg_28_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114145.4]
  assign reg_28_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114144.4]
  assign reg_28_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114148.4]
  assign reg_28_d = io_d[28]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114147.4]
  assign reg_29_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114150.4]
  assign reg_29_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114149.4]
  assign reg_29_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114153.4]
  assign reg_29_d = io_d[29]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114152.4]
  assign reg_30_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114155.4]
  assign reg_30_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114154.4]
  assign reg_30_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114158.4]
  assign reg_30_d = io_d[30]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114157.4]
  assign reg_31_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114160.4]
  assign reg_31_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114159.4]
  assign reg_31_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114163.4]
  assign reg_31_d = io_d[31]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114162.4]
endmodule
module TLDebugModuleOuter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114228.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114229.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114230.4]
  output        auto_dmi_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  input         auto_dmi_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  input  [2:0]  auto_dmi_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  input  [6:0]  auto_dmi_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  input  [3:0]  auto_dmi_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  input  [31:0] auto_dmi_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  input         auto_dmi_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  output        auto_dmi_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  output [2:0]  auto_dmi_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  output [31:0] auto_dmi_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114231.4]
  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.4]
  output        io_ctrl_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.4]
  output        io_innerCtrl_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.4]
  output        io_innerCtrl_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.4]
  output [9:0]  io_innerCtrl_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.4]
  output        io_innerCtrl_bits_ackhavereset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire [6:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.4]
  wire  DMCONTROL_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114351.4]
  wire  DMCONTROL_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114351.4]
  wire [31:0] DMCONTROL_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114351.4]
  wire [31:0] DMCONTROL_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114351.4]
  wire  DMCONTROL_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114351.4]
  wire  debugInterrupts_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  wire  debugInterrupts_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  wire  debugInterrupts_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  wire  debugInterrupts_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  wire  debugInterrupts_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  wire [31:0] _T_244; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114359.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114361.4]
  wire  DMCONTROLReg_dmactive; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.4]
  wire  _T_276; // @[Debug.scala 273:11:shc.marmotcaravel.MarmotCaravelConfig.fir@114427.4]
  wire  _T_294; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114455.4]
  wire [4:0] _T_295; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@114457.4]
  wire  _T_291_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@114453.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114458.4]
  wire  _T_314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114471.4]
  wire  _T_460; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114593.4]
  wire  _T_461; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114594.4]
  wire  _T_462; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114595.4]
  wire [1:0] _T_402; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114544.4]
  wire  _T_403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114545.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114598.4]
  wire  _T_466; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114599.4]
  wire  _T_362; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114499.4]
  wire [7:0] _T_370; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114507.4]
  wire  _T_361; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114498.4]
  wire [7:0] _T_368; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114505.4]
  wire [15:0] _T_372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114509.4]
  wire  _T_360; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114497.4]
  wire [7:0] _T_366; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114503.4]
  wire  _T_359; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114496.4]
  wire [7:0] _T_364; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114501.4]
  wire [15:0] _T_371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114508.4]
  wire [31:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114510.4]
  wire [31:0] _T_382; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114519.4]
  wire  _T_383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114520.4]
  wire  DMCONTROLWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114524.4]
  wire [31:0] DMCONTROLWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114528.4]
  wire  DMCONTROLWrData_ndmreset; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114400.4]
  wire  DMCONTROLReg_ndmreset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114364.4]
  wire  _GEN_0; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  wire  DMCONTROLNxt_ndmreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire  DMCONTROLWrData_dmactive; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114398.4]
  wire  _GEN_15; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire  DMCONTROLNxt_dmactive; // @[Debug.scala 286:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114440.4]
  wire [1:0] _T_231; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114341.4]
  wire [9:0] DMCONTROLWrData_hartsello; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114406.4]
  wire [9:0] DMCONTROLReg_hartsello; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114370.4]
  wire [9:0] _GEN_1; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  wire [9:0] DMCONTROLNxt_hartsello; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [9:0] DMCONTROLReg_hartselhi; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114368.4]
  wire [9:0] DMCONTROLNxt_hartselhi; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [19:0] _T_232; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114342.4]
  wire [3:0] DMCONTROLReg_reserved1; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114366.4]
  wire [3:0] DMCONTROLNxt_reserved1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [23:0] _T_233; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114343.4]
  wire [25:0] _T_234; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114344.4]
  wire  DMCONTROLWrData_ackhavereset; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114412.4]
  wire  DMCONTROLReg_ackhavereset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114376.4]
  wire  _GEN_4; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  wire  DMCONTROLNxt_ackhavereset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire  DMCONTROLReg_reserved0; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114374.4]
  wire  DMCONTROLNxt_reserved0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [1:0] _T_235; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114345.4]
  wire  DMCONTROLReg_hasel; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114372.4]
  wire  DMCONTROLNxt_hasel; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [2:0] _T_236; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114346.4]
  wire  DMCONTROLWrData_haltreq; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114418.4]
  wire  DMCONTROLReg_haltreq; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114382.4]
  wire  _GEN_2; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  wire  DMCONTROLNxt_haltreq; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire  DMCONTROLWrData_resumereq; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114416.4]
  wire  DMCONTROLReg_resumereq; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114380.4]
  wire  _GEN_3; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  wire  DMCONTROLNxt_resumereq; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [1:0] _T_237; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114347.4]
  wire  DMCONTROLReg_hartreset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114378.4]
  wire  DMCONTROLNxt_hartreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire [2:0] _T_238; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114348.4]
  wire [5:0] _T_239; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114349.4]
  wire [1:0] _T_277; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114443.4]
  wire [19:0] _T_278; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114444.4]
  wire [23:0] _T_279; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114445.4]
  wire [25:0] _T_280; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114446.4]
  wire [1:0] _T_281; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114447.4]
  wire [2:0] _T_282; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114448.4]
  wire [1:0] _T_283; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114449.4]
  wire [2:0] _T_284; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114450.4]
  wire [5:0] _T_285; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114451.4]
  wire [31:0] _T_286; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114452.4]
  wire  debugIntRegs_0; // @[Debug.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@114668.4]
  wire  _T_553; // @[Debug.scala 325:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114682.6]
  wire  _T_554; // @[Debug.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114683.6]
  wire  _GEN_18; // @[Debug.scala 325:75:shc.marmotcaravel.MarmotCaravelConfig.fir@114684.6]
  TLMonitor_52 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114242.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@114351.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@114662.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@114359.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114361.4]
  assign DMCONTROLReg_dmactive = _T_244[0]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.4]
  assign _T_276 = ~ DMCONTROLReg_dmactive; // @[Debug.scala 273:11:shc.marmotcaravel.MarmotCaravelConfig.fir@114427.4]
  assign _T_294 = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114455.4]
  assign _T_295 = auto_dmi_in_a_bits_address[6:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@114457.4]
  assign _T_291_bits_index = _T_295[0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@114453.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114458.4]
  assign _T_314 = _T_291_bits_index == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114471.4]
  assign _T_460 = auto_dmi_in_a_valid & auto_dmi_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114593.4]
  assign _T_461 = _T_294 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114594.4]
  assign _T_462 = _T_460 & _T_461; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114595.4]
  assign _T_402 = 2'h1 << 1'h0; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114544.4]
  assign _T_403 = _T_402[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114545.4]
  assign _T_465 = _T_462 & _T_403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114598.4]
  assign _T_466 = _T_465 & _T_314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114599.4]
  assign _T_362 = auto_dmi_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114499.4]
  assign _T_370 = _T_362 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114507.4]
  assign _T_361 = auto_dmi_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114498.4]
  assign _T_368 = _T_361 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114505.4]
  assign _T_372 = {_T_370,_T_368}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114509.4]
  assign _T_360 = auto_dmi_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114497.4]
  assign _T_366 = _T_360 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114503.4]
  assign _T_359 = auto_dmi_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114496.4]
  assign _T_364 = _T_359 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114501.4]
  assign _T_371 = {_T_366,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114508.4]
  assign _T_373 = {_T_372,_T_371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114510.4]
  assign _T_382 = ~ _T_373; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114519.4]
  assign _T_383 = _T_382 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114520.4]
  assign DMCONTROLWrEn = _T_466 & _T_383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114524.4]
  assign DMCONTROLWrDataVal = DMCONTROLWrEn ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114528.4]
  assign DMCONTROLWrData_ndmreset = DMCONTROLWrDataVal[1]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114400.4]
  assign DMCONTROLReg_ndmreset = _T_244[1]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114364.4]
  assign _GEN_0 = DMCONTROLWrEn ? DMCONTROLWrData_ndmreset : DMCONTROLReg_ndmreset; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  assign DMCONTROLNxt_ndmreset = _T_276 ? 1'h0 : _GEN_0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign DMCONTROLWrData_dmactive = DMCONTROLWrDataVal[0]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114398.4]
  assign _GEN_15 = _T_276 ? 1'h0 : DMCONTROLReg_dmactive; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign DMCONTROLNxt_dmactive = DMCONTROLWrEn ? DMCONTROLWrData_dmactive : _GEN_15; // @[Debug.scala 286:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114440.4]
  assign _T_231 = {DMCONTROLNxt_ndmreset,DMCONTROLNxt_dmactive}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114341.4]
  assign DMCONTROLWrData_hartsello = DMCONTROLWrDataVal[25:16]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114406.4]
  assign DMCONTROLReg_hartsello = _T_244[25:16]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114370.4]
  assign _GEN_1 = DMCONTROLWrEn ? DMCONTROLWrData_hartsello : DMCONTROLReg_hartsello; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  assign DMCONTROLNxt_hartsello = _T_276 ? 10'h0 : _GEN_1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign DMCONTROLReg_hartselhi = _T_244[15:6]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114368.4]
  assign DMCONTROLNxt_hartselhi = _T_276 ? 10'h0 : DMCONTROLReg_hartselhi; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_232 = {DMCONTROLNxt_hartsello,DMCONTROLNxt_hartselhi}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114342.4]
  assign DMCONTROLReg_reserved1 = _T_244[5:2]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114366.4]
  assign DMCONTROLNxt_reserved1 = _T_276 ? 4'h0 : DMCONTROLReg_reserved1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_233 = {_T_232,DMCONTROLNxt_reserved1}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114343.4]
  assign _T_234 = {_T_233,_T_231}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114344.4]
  assign DMCONTROLWrData_ackhavereset = DMCONTROLWrDataVal[28]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114412.4]
  assign DMCONTROLReg_ackhavereset = _T_244[28]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114376.4]
  assign _GEN_4 = DMCONTROLWrEn ? DMCONTROLWrData_ackhavereset : DMCONTROLReg_ackhavereset; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  assign DMCONTROLNxt_ackhavereset = _T_276 ? 1'h0 : _GEN_4; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign DMCONTROLReg_reserved0 = _T_244[27]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114374.4]
  assign DMCONTROLNxt_reserved0 = _T_276 ? 1'h0 : DMCONTROLReg_reserved0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_235 = {DMCONTROLNxt_ackhavereset,DMCONTROLNxt_reserved0}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114345.4]
  assign DMCONTROLReg_hasel = _T_244[26]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114372.4]
  assign DMCONTROLNxt_hasel = _T_276 ? 1'h0 : DMCONTROLReg_hasel; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_236 = {_T_235,DMCONTROLNxt_hasel}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114346.4]
  assign DMCONTROLWrData_haltreq = DMCONTROLWrDataVal[31]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114418.4]
  assign DMCONTROLReg_haltreq = _T_244[31]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114382.4]
  assign _GEN_2 = DMCONTROLWrEn ? DMCONTROLWrData_haltreq : DMCONTROLReg_haltreq; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  assign DMCONTROLNxt_haltreq = _T_276 ? 1'h0 : _GEN_2; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign DMCONTROLWrData_resumereq = DMCONTROLWrDataVal[30]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@114416.4]
  assign DMCONTROLReg_resumereq = _T_244[30]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114380.4]
  assign _GEN_3 = DMCONTROLWrEn ? DMCONTROLWrData_resumereq : DMCONTROLReg_resumereq; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114432.6]
  assign DMCONTROLNxt_resumereq = _T_276 ? 1'h0 : _GEN_3; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_237 = {DMCONTROLNxt_haltreq,DMCONTROLNxt_resumereq}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114347.4]
  assign DMCONTROLReg_hartreset = _T_244[29]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@114378.4]
  assign DMCONTROLNxt_hartreset = _T_276 ? 1'h0 : DMCONTROLReg_hartreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_238 = {_T_237,DMCONTROLNxt_hartreset}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114348.4]
  assign _T_239 = {_T_238,_T_236}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@114349.4]
  assign _T_277 = {DMCONTROLReg_ndmreset,DMCONTROLReg_dmactive}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114443.4]
  assign _T_278 = {DMCONTROLReg_hartsello,DMCONTROLReg_hartselhi}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114444.4]
  assign _T_279 = {_T_278,DMCONTROLReg_reserved1}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114445.4]
  assign _T_280 = {_T_279,_T_277}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114446.4]
  assign _T_281 = {DMCONTROLReg_ackhavereset,DMCONTROLReg_reserved0}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114447.4]
  assign _T_282 = {_T_281,DMCONTROLReg_hasel}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114448.4]
  assign _T_283 = {DMCONTROLReg_haltreq,DMCONTROLReg_resumereq}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114449.4]
  assign _T_284 = {_T_283,DMCONTROLReg_hartreset}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114450.4]
  assign _T_285 = {_T_284,_T_282}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114451.4]
  assign _T_286 = {_T_285,_T_280}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@114452.4]
  assign debugIntRegs_0 = debugInterrupts_io_q; // @[Debug.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@114668.4]
  assign _T_553 = DMCONTROLWrData_hartsello == 10'h0; // @[Debug.scala 325:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114682.6]
  assign _T_554 = DMCONTROLWrEn & _T_553; // @[Debug.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114683.6]
  assign _GEN_18 = _T_554 ? DMCONTROLWrData_haltreq : debugIntRegs_0; // @[Debug.scala 325:75:shc.marmotcaravel.MarmotCaravelConfig.fir@114684.6]
  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114280.4]
  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114280.4]
  assign auto_dmi_in_d_bits_opcode = {{2'd0}, _T_294}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114280.4]
  assign auto_dmi_in_d_bits_data = _T_314 ? _T_286 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114280.4]
  assign auto_int_out_0 = debugInterrupts_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114279.4]
  assign io_ctrl_ndreset = _T_244[1]; // @[Debug.scala 336:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114692.4]
  assign io_ctrl_dmactive = _T_244[0]; // @[Debug.scala 337:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114693.4]
  assign io_innerCtrl_valid = _T_466 & _T_383; // @[Debug.scala 331:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114688.4]
  assign io_innerCtrl_bits_resumereq = DMCONTROLWrDataVal[30]; // @[Debug.scala 333:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114690.4]
  assign io_innerCtrl_bits_hartsel = DMCONTROLWrDataVal[25:16]; // @[Debug.scala 332:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114689.4]
  assign io_innerCtrl_bits_ackhavereset = DMCONTROLWrDataVal[28]; // @[Debug.scala 334:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114691.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114244.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114245.4]
  assign TLMonitor_io_in_a_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_d_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_294}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114278.4]
  assign DMCONTROL_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114353.4]
  assign DMCONTROL_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114354.4]
  assign DMCONTROL_io_d = {_T_239,_T_234}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114355.4]
  assign DMCONTROL_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114356.4]
  assign debugInterrupts_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114664.4]
  assign debugInterrupts_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114665.4]
  assign debugInterrupts_io_d = _T_276 ? 1'h0 : _GEN_18; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114666.4]
  assign debugInterrupts_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114667.4]
endmodule
module IntSyncCrossingSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114695.2]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114698.4]
  output  auto_out_sync_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114698.4]
);
  assign auto_out_sync_0 = auto_in_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114707.4]
endmodule
module TLMonitor_53( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114718.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114719.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input  [1:0] io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
  input        io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114721.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@116126.4]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@114741.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@114742.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@114743.6]
  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114744.6]
  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114744.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114745.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114748.6]
  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114782.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114794.6]
  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114799.8]
  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114800.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114801.8]
  wire [8:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114802.8]
  wire [9:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114803.8]
  wire [9:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114804.8]
  wire [9:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114805.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114806.8]
  wire [8:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114807.8]
  wire [9:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114808.8]
  wire [9:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114809.8]
  wire [9:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114810.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114811.8]
  wire [8:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114812.8]
  wire [9:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114813.8]
  wire [9:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114814.8]
  wire [9:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114815.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114816.8]
  wire [8:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114817.8]
  wire [9:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114818.8]
  wire [9:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114819.8]
  wire [9:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114820.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.8]
  wire [8:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114822.8]
  wire [9:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114823.8]
  wire [9:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114824.8]
  wire [9:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114825.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114826.8]
  wire [8:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114827.8]
  wire [9:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114828.8]
  wire [9:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114829.8]
  wire [9:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114830.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114831.8]
  wire  _T_115; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114832.8]
  wire  _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114833.8]
  wire  _T_117; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114834.8]
  wire  _T_118; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114835.8]
  wire  _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114836.8]
  wire  _T_120; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114837.8]
  wire  _T_125; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114842.8]
  wire  _T_137; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114870.8]
  wire  _T_138; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114871.8]
  wire [3:0] _T_143; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114884.8]
  wire  _T_144; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114885.8]
  wire  _T_146; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114887.8]
  wire  _T_147; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114888.8]
  wire  _T_152; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114902.6]
  wire  _T_230; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115018.6]
  wire  _T_279; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115068.8]
  wire  _T_280; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115069.8]
  wire  _T_291; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115096.8]
  wire  _T_293; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115098.8]
  wire  _T_294; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115099.8]
  wire  _T_299; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115113.6]
  wire  _T_364; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115200.6]
  wire  _T_431; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115289.6]
  wire  _T_493; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115373.6]
  wire  _T_555; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115457.6]
  wire  _T_617; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@115543.6]
  wire  _T_619; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115545.6]
  wire  _T_620; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115546.6]
  wire  _T_621; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@115551.6]
  wire  _T_630; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115556.6]
  wire  _T_632; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115559.8]
  wire  _T_633; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115560.8]
  wire  _T_634; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115565.8]
  wire  _T_636; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115567.8]
  wire  _T_637; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115568.8]
  wire  _T_638; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115573.8]
  wire  _T_640; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115575.8]
  wire  _T_641; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115576.8]
  wire  _T_642; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@115581.8]
  wire  _T_644; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115583.8]
  wire  _T_645; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115584.8]
  wire  _T_646; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@115589.8]
  wire  _T_648; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115591.8]
  wire  _T_649; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115592.8]
  wire  _T_650; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115598.6]
  wire  _T_661; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@115622.8]
  wire  _T_663; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115624.8]
  wire  _T_664; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115625.8]
  wire  _T_665; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115630.8]
  wire  _T_667; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115632.8]
  wire  _T_668; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115633.8]
  wire  _T_678; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115656.6]
  wire  _T_698; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115697.8]
  wire  _T_700; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115699.8]
  wire  _T_701; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115700.8]
  wire  _T_707; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115715.6]
  wire  _T_724; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115750.6]
  wire  _T_742; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115786.6]
  wire  _T_771; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115846.4]
  reg  _T_781; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115855.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_782; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115856.4]
  wire [1:0] _T_783; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115857.4]
  wire  _T_784; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115858.4]
  wire  _T_785; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115859.4]
  reg [2:0] _T_794; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115870.4]
  reg [31:0] _RAND_1;
  reg [8:0] _T_802; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115874.4]
  reg [31:0] _RAND_2;
  wire  _T_803; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  wire  _T_804; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  wire  _T_805; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115878.6]
  wire  _T_807; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115880.6]
  wire  _T_808; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115881.6]
  wire  _T_821; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115910.6]
  wire  _T_823; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115912.6]
  wire  _T_824; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115913.6]
  wire  _T_826; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  wire  _T_827; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115928.4]
  reg  _T_836; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115936.4]
  reg [31:0] _RAND_3;
  wire [1:0] _T_837; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115937.4]
  wire [1:0] _T_838; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115938.4]
  wire  _T_839; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115939.4]
  wire  _T_840; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115940.4]
  reg [2:0] _T_849; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115951.4]
  reg [31:0] _RAND_4;
  reg [1:0] _T_851; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115952.4]
  reg [31:0] _RAND_5;
  reg [1:0] _T_853; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115953.4]
  reg [31:0] _RAND_6;
  reg  _T_855; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115954.4]
  reg [31:0] _RAND_7;
  reg  _T_857; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115955.4]
  reg [31:0] _RAND_8;
  reg  _T_859; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115956.4]
  reg [31:0] _RAND_9;
  wire  _T_860; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115957.4]
  wire  _T_861; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115958.4]
  wire  _T_862; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115960.6]
  wire  _T_864; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.6]
  wire  _T_865; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.6]
  wire  _T_866; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115968.6]
  wire  _T_868; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115970.6]
  wire  _T_869; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115971.6]
  wire  _T_870; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115976.6]
  wire  _T_872; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115978.6]
  wire  _T_873; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115979.6]
  wire  _T_874; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115984.6]
  wire  _T_876; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115986.6]
  wire  _T_877; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115987.6]
  wire  _T_878; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115992.6]
  wire  _T_880; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115994.6]
  wire  _T_881; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115995.6]
  wire  _T_882; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@116000.6]
  wire  _T_884; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116002.6]
  wire  _T_885; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116003.6]
  wire  _T_887; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@116010.4]
  reg  _T_889; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116019.4]
  reg [31:0] _RAND_10;
  reg  _T_900; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116029.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_901; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116030.4]
  wire [1:0] _T_902; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116031.4]
  wire  _T_903; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116032.4]
  wire  _T_904; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116033.4]
  reg  _T_921; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116052.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_922; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116053.4]
  wire [1:0] _T_923; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116054.4]
  wire  _T_924; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116055.4]
  wire  _T_925; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116056.4]
  wire  _T_936; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116071.4]
  wire  _T_939; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116076.6]
  wire  _T_941; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116078.6]
  wire  _T_943; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116080.6]
  wire  _T_944; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116081.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@116073.4]
  wire  _T_949; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116092.4]
  wire  _T_951; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116094.4]
  wire  _T_952; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@116095.4]
  wire [1:0] _T_953; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@116097.6]
  wire  _T_934; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116067.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116069.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116075.6]
  wire  _T_954; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116099.6]
  wire  _T_955; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@116100.6]
  wire  _T_958; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116103.6]
  wire  _T_959; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116104.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@116096.4]
  wire  _T_946; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116087.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116089.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116098.6]
  wire  _T_960; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@116110.4]
  wire  _T_962; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@116112.4]
  wire  _T_963; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116113.4]
  wire  _T_965; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116115.4]
  wire  _T_966; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116116.4]
  wire  _T_967; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116121.4]
  wire  _T_968; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@116122.4]
  wire  _T_969; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116123.4]
  reg [31:0] _T_971; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116125.4]
  reg [31:0] _RAND_13;
  wire  _T_973; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116129.4]
  wire  _T_974; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116130.4]
  wire  _T_975; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116131.4]
  wire  _T_976; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@116132.4]
  wire  _T_977; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116133.4]
  wire  _T_979; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@116135.4]
  wire  _T_980; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@116136.4]
  wire [31:0] _T_982; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@116142.4]
  wire  _T_985; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116146.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114844.10]
  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114952.10]
  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115071.10]
  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115166.10]
  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115253.10]
  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115339.10]
  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115423.10]
  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115507.10]
  wire  _GEN_71; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115562.10]
  wire  _GEN_81; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115604.10]
  wire  _GEN_95; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115662.10]
  wire  _GEN_109; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115721.10]
  wire  _GEN_117; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115756.10]
  wire  _GEN_125; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115792.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@116126.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@114741.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@114742.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@114743.6]
  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114744.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114744.6]
  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114745.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114748.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114782.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114794.6]
  assign _T_82 = $signed(_T_70) & $signed(-10'sh40); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114799.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114800.8]
  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114801.8]
  assign _T_85 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114802.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114803.8]
  assign _T_87 = $signed(_T_86) & $signed(-10'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114804.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114805.8]
  assign _T_89 = $signed(_T_88) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114806.8]
  assign _T_90 = io_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114807.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114808.8]
  assign _T_92 = $signed(_T_91) & $signed(-10'sh8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114809.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114810.8]
  assign _T_94 = $signed(_T_93) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114811.8]
  assign _T_95 = io_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114812.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114813.8]
  assign _T_97 = $signed(_T_96) & $signed(-10'sh10); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114814.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114815.8]
  assign _T_99 = $signed(_T_98) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114816.8]
  assign _T_100 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114817.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114818.8]
  assign _T_102 = $signed(_T_101) & $signed(-10'sh20); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114819.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114820.8]
  assign _T_104 = $signed(_T_103) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.8]
  assign _T_105 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114822.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114823.8]
  assign _T_107 = $signed(_T_106) & $signed(-10'sh80); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114824.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114825.8]
  assign _T_109 = $signed(_T_108) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114826.8]
  assign _T_110 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@114827.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114828.8]
  assign _T_112 = $signed(_T_111) & $signed(-10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114829.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114830.8]
  assign _T_114 = $signed(_T_113) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114831.8]
  assign _T_115 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114832.8]
  assign _T_116 = _T_115 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114833.8]
  assign _T_117 = _T_116 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114834.8]
  assign _T_118 = _T_117 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114835.8]
  assign _T_119 = _T_118 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114836.8]
  assign _T_120 = _T_119 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114837.8]
  assign _T_125 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114842.8]
  assign _T_137 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114870.8]
  assign _T_138 = _T_137 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114871.8]
  assign _T_143 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114884.8]
  assign _T_144 = _T_143 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114885.8]
  assign _T_146 = _T_144 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114887.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114888.8]
  assign _T_152 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114902.6]
  assign _T_230 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115018.6]
  assign _T_279 = _T_120 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115068.8]
  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115069.8]
  assign _T_291 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115096.8]
  assign _T_293 = _T_291 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115098.8]
  assign _T_294 = _T_293 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115099.8]
  assign _T_299 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115113.6]
  assign _T_364 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115200.6]
  assign _T_431 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115289.6]
  assign _T_493 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115373.6]
  assign _T_555 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115457.6]
  assign _T_617 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@115543.6]
  assign _T_619 = _T_617 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115545.6]
  assign _T_620 = _T_619 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115546.6]
  assign _T_621 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@115551.6]
  assign _T_630 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115556.6]
  assign _T_632 = _T_621 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115559.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115560.8]
  assign _T_634 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115565.8]
  assign _T_636 = _T_634 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115567.8]
  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115568.8]
  assign _T_638 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115573.8]
  assign _T_640 = _T_638 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115575.8]
  assign _T_641 = _T_640 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115576.8]
  assign _T_642 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@115581.8]
  assign _T_644 = _T_642 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115583.8]
  assign _T_645 = _T_644 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115584.8]
  assign _T_646 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@115589.8]
  assign _T_648 = _T_646 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115591.8]
  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115592.8]
  assign _T_650 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115598.6]
  assign _T_661 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@115622.8]
  assign _T_663 = _T_661 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115624.8]
  assign _T_664 = _T_663 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115625.8]
  assign _T_665 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115630.8]
  assign _T_667 = _T_665 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115632.8]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115633.8]
  assign _T_678 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115656.6]
  assign _T_698 = _T_646 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115697.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115699.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115700.8]
  assign _T_707 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115715.6]
  assign _T_724 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115750.6]
  assign _T_742 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115786.6]
  assign _T_771 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115846.4]
  assign _T_782 = _T_781 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115856.4]
  assign _T_783 = $unsigned(_T_782); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115857.4]
  assign _T_784 = _T_783[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115858.4]
  assign _T_785 = _T_781 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115859.4]
  assign _T_803 = _T_785 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  assign _T_804 = io_in_a_valid & _T_803; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  assign _T_805 = io_in_a_bits_opcode == _T_794; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115878.6]
  assign _T_807 = _T_805 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115880.6]
  assign _T_808 = _T_807 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115881.6]
  assign _T_821 = io_in_a_bits_address == _T_802; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115910.6]
  assign _T_823 = _T_821 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115912.6]
  assign _T_824 = _T_823 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115913.6]
  assign _T_826 = _T_771 & _T_785; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign _T_827 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115928.4]
  assign _T_837 = _T_836 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115937.4]
  assign _T_838 = $unsigned(_T_837); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115938.4]
  assign _T_839 = _T_838[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115939.4]
  assign _T_840 = _T_836 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115940.4]
  assign _T_860 = _T_840 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115957.4]
  assign _T_861 = io_in_d_valid & _T_860; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115958.4]
  assign _T_862 = io_in_d_bits_opcode == _T_849; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115960.6]
  assign _T_864 = _T_862 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.6]
  assign _T_865 = _T_864 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.6]
  assign _T_866 = io_in_d_bits_param == _T_851; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115968.6]
  assign _T_868 = _T_866 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115970.6]
  assign _T_869 = _T_868 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115971.6]
  assign _T_870 = io_in_d_bits_size == _T_853; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115976.6]
  assign _T_872 = _T_870 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115978.6]
  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115979.6]
  assign _T_874 = io_in_d_bits_source == _T_855; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115984.6]
  assign _T_876 = _T_874 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115986.6]
  assign _T_877 = _T_876 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115987.6]
  assign _T_878 = io_in_d_bits_sink == _T_857; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115992.6]
  assign _T_880 = _T_878 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115994.6]
  assign _T_881 = _T_880 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115995.6]
  assign _T_882 = io_in_d_bits_denied == _T_859; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@116000.6]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116002.6]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116003.6]
  assign _T_887 = _T_827 & _T_840; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@116010.4]
  assign _T_901 = _T_900 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116030.4]
  assign _T_902 = $unsigned(_T_901); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116031.4]
  assign _T_903 = _T_902[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116032.4]
  assign _T_904 = _T_900 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116033.4]
  assign _T_922 = _T_921 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116053.4]
  assign _T_923 = $unsigned(_T_922); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116054.4]
  assign _T_924 = _T_923[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@116055.4]
  assign _T_925 = _T_921 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116056.4]
  assign _T_936 = _T_771 & _T_904; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116071.4]
  assign _T_939 = _T_889 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116076.6]
  assign _T_941 = _T_939 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116078.6]
  assign _T_943 = _T_941 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116080.6]
  assign _T_944 = _T_943 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116081.6]
  assign _GEN_15 = _T_936 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@116073.4]
  assign _T_949 = _T_827 & _T_925; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116092.4]
  assign _T_951 = _T_630 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116094.4]
  assign _T_952 = _T_949 & _T_951; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@116095.4]
  assign _T_953 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@116097.6]
  assign _T_934 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116067.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116069.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116075.6]
  assign _T_954 = _T_934 | _T_889; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116099.6]
  assign _T_955 = _T_954 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@116100.6]
  assign _T_958 = _T_955 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116103.6]
  assign _T_959 = _T_958 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116104.6]
  assign _GEN_16 = _T_952 ? _T_953 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@116096.4]
  assign _T_946 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116087.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116089.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116098.6]
  assign _T_960 = _T_934 != _T_946; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@116110.4]
  assign _T_962 = _T_934 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@116112.4]
  assign _T_963 = _T_960 | _T_962; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116113.4]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116115.4]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116116.4]
  assign _T_967 = _T_889 | _T_934; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116121.4]
  assign _T_968 = ~ _T_946; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@116122.4]
  assign _T_969 = _T_967 & _T_968; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116123.4]
  assign _T_973 = _T_889 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@116129.4]
  assign _T_974 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116130.4]
  assign _T_975 = _T_973 | _T_974; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116131.4]
  assign _T_976 = _T_971 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@116132.4]
  assign _T_977 = _T_975 | _T_976; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116133.4]
  assign _T_979 = _T_977 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@116135.4]
  assign _T_980 = _T_979 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@116136.4]
  assign _T_982 = _T_971 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@116142.4]
  assign _T_985 = _T_771 | _T_827; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116146.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114844.10]
  assign _GEN_27 = io_in_a_valid & _T_152; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114952.10]
  assign _GEN_37 = io_in_a_valid & _T_230; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115071.10]
  assign _GEN_43 = io_in_a_valid & _T_299; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115166.10]
  assign _GEN_49 = io_in_a_valid & _T_364; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115253.10]
  assign _GEN_53 = io_in_a_valid & _T_431; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115339.10]
  assign _GEN_59 = io_in_a_valid & _T_493; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115423.10]
  assign _GEN_65 = io_in_a_valid & _T_555; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115507.10]
  assign _GEN_71 = io_in_d_valid & _T_630; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115562.10]
  assign _GEN_81 = io_in_d_valid & _T_650; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115604.10]
  assign _GEN_95 = io_in_d_valid & _T_678; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115662.10]
  assign _GEN_109 = io_in_d_valid & _T_707; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115721.10]
  assign _GEN_117 = io_in_d_valid & _T_724; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115756.10]
  assign _GEN_125 = io_in_d_valid & _T_742; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115792.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@114733.8]
        end
    `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@114734.8]
        end
    `ifdef STOP_COND
      end
    `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@114791.8]
        end
    `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@114792.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@114844.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@114845.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@114851.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@114852.10]
        end
    `ifdef STOP_COND
      end
    `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@114858.10]
        end
    `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@114859.10]
        end
    `ifdef STOP_COND
      end
    `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@114866.10]
        end
    `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@114867.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@114873.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@114874.10]
        end
    `ifdef STOP_COND
      end
    `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@114881.10]
        end
    `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@114882.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@114890.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@114891.10]
        end
    `ifdef STOP_COND
      end
    `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@114898.10]
        end
    `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@114899.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@114952.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@114953.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@114959.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@114960.10]
        end
    `ifdef STOP_COND
      end
    `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@114966.10]
        end
    `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@114967.10]
        end
    `ifdef STOP_COND
      end
    `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@114974.10]
        end
    `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@114975.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@114981.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@114982.10]
        end
    `ifdef STOP_COND
      end
    `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@114989.10]
        end
    `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@114990.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@114997.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@114998.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@115006.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@115007.10]
        end
    `ifdef STOP_COND
      end
    `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@115014.10]
        end
    `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@115015.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@115071.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@115072.10]
        end
    `ifdef STOP_COND
      end
    `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@115078.10]
        end
    `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@115079.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@115085.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@115086.10]
        end
    `ifdef STOP_COND
      end
    `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@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 75: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_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@115101.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@115102.10]
        end
    `ifdef STOP_COND
      end
    `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@115109.10]
        end
    `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@115110.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@115166.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@115167.10]
        end
    `ifdef STOP_COND
      end
    `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@115173.10]
        end
    `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@115174.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@115180.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@115181.10]
        end
    `ifdef STOP_COND
      end
    `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@115188.10]
        end
    `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@115189.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@115196.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@115197.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@115253.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@115254.10]
        end
    `ifdef STOP_COND
      end
    `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@115260.10]
        end
    `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@115261.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@115267.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@115268.10]
        end
    `ifdef STOP_COND
      end
    `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@115275.10]
        end
    `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@115276.10]
        end
    `ifdef STOP_COND
      end
    `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@115285.10]
        end
    `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@115286.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@115339.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@115340.10]
        end
    `ifdef STOP_COND
      end
    `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@115346.10]
        end
    `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@115347.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@115353.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@115354.10]
        end
    `ifdef STOP_COND
      end
    `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@115361.10]
        end
    `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@115362.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@115369.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@115370.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@115423.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@115424.10]
        end
    `ifdef STOP_COND
      end
    `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@115430.10]
        end
    `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@115431.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@115437.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@115438.10]
        end
    `ifdef STOP_COND
      end
    `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@115445.10]
        end
    `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@115446.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@115453.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@115454.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@115507.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@115508.10]
        end
    `ifdef STOP_COND
      end
    `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@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 114: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 (_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@115521.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@115522.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@115529.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@115530.10]
        end
    `ifdef STOP_COND
      end
    `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@115537.10]
        end
    `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@115538.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@115548.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@115549.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@115562.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@115563.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@115570.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@115571.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@115578.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@115579.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@115586.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@115587.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@115594.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@115595.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@115604.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@115605.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@115611.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@115612.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@115619.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@115620.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@115627.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@115628.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@115635.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@115636.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@115643.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@115644.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@115652.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@115653.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@115662.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@115663.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@115669.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@115670.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@115677.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@115678.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@115685.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@115686.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@115693.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@115694.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@115702.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@115703.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@115711.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@115712.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@115721.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@115722.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@115729.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@115730.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@115737.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@115738.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@115746.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@115747.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@115756.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@115757.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@115764.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@115765.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@115773.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@115774.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@115782.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@115783.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@115792.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@115793.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@115800.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@115801.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@115808.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@115809.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@115817.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@115818.10]
        end
    `ifdef STOP_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@115827.6]
        end
    `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@115828.6]
        end
    `ifdef STOP_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@115835.6]
        end
    `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@115836.6]
        end
    `ifdef STOP_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@115843.6]
        end
    `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@115844.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@115883.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@115884.8]
        end
    `ifdef STOP_COND
      end
    `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@115891.8]
        end
    `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@115892.8]
        end
    `ifdef STOP_COND
      end
    `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@115899.8]
        end
    `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@115900.8]
        end
    `ifdef STOP_COND
      end
    `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@115907.8]
        end
    `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@115908.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@115915.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@115916.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@115965.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@115966.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@115973.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@115974.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@115981.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@115982.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@115989.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@115990.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@115997.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@115998.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@116005.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@116006.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@116083.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@116084.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@116106.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@116107.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@116118.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@116119.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@116138.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@116139.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncQueueSource_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116736.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116737.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116738.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input  [8:0]  io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output [8:0]  io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116739.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116747.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116747.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116747.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116747.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116747.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116759.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116759.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116759.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116759.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116805.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116805.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116805.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116811.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116811.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116811.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116811.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116743.4]
  reg [31:0] _RAND_0;
  reg [8:0] mem_0_address; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116743.4]
  reg [31:0] _RAND_1;
  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116743.4]
  reg [31:0] _RAND_2;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116743.4]
  reg [31:0] _RAND_3;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@116744.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116741.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116742.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116826.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@116745.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@116754.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116755.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116764.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116766.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@116767.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116768.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@116787.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@116815.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@116747.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@116759.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@116781.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@116790.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@116805.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.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@116811.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@116744.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116741.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116742.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116826.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@116745.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@116754.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116755.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116764.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116766.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@116767.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116768.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@116787.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@116815.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116789.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@116804.4]
  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@116800.4]
  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@116799.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@116798.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@116796.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@116823.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116829.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116749.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116750.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116751.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@116752.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116761.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116762.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116763.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116783.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116784.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116785.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@116786.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116792.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116793.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@116794.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@116795.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116806.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116807.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116817.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116809.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116810.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116821.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@116824.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116812.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116813.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@116825.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@116983.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116984.4]
  input  [42:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116986.4]
  output [42:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116986.4]
);
  reg [42:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@116991.4]
  reg [63:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@116993.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@117459.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117460.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117461.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input         io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117462.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117481.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117481.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117481.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117481.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117492.4]
  wire [42:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117492.4]
  wire [42:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117492.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117533.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117533.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117533.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117533.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117533.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117542.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117542.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117542.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117542.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117542.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117549.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117549.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117549.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117552.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117552.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117552.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117552.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117555.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117555.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117555.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117555.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117584.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117584.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117584.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117584.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117584.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@117466.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117464.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@117465.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@117570.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117467.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@117476.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117477.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117486.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117488.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@117489.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@117490.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire [1:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire  deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire  deq_bits_nxt_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire  deq_bits_nxt_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117496.4]
  wire [1:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117497.4]
  wire [34:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117498.4]
  wire [2:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117499.4]
  wire [4:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117500.4]
  wire [7:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117501.4]
  wire [42:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117506.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@117508.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@117539.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@117559.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.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@117481.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@117492.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@117533.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@117542.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@117549.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117552.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@117555.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@117584.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@117466.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117464.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@117465.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@117570.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117467.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@117476.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@117477.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117486.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117488.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@117489.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@117490.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_param = valid ? 2'h0 : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_sink = valid ? 1'h0 : io_deq_bits_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_denied = valid ? 1'h0 : io_deq_bits_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign deq_bits_nxt_corrupt = valid ? 1'h0 : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117491.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117496.4]
  assign _T_70 = {deq_bits_nxt_sink,deq_bits_nxt_denied}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117497.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117498.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117499.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117500.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117501.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117506.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@117508.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@117539.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@117559.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@117541.4]
  assign io_deq_bits_opcode = _T_79[42:40]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117532.4]
  assign io_deq_bits_param = _T_79[39:38]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117531.4]
  assign io_deq_bits_size = _T_79[37:36]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117530.4]
  assign io_deq_bits_source = _T_79[35]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117529.4]
  assign io_deq_bits_sink = _T_79[34]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117528.4]
  assign io_deq_bits_denied = _T_79[33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117527.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117526.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117525.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@117548.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@117567.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117573.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117471.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117472.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@117473.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117474.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117483.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117484.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@117485.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117494.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@117503.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117535.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117536.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@117537.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117538.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117544.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117545.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@117546.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117547.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117550.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117551.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117561.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117553.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117554.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117565.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117568.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117556.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117557.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117569.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117586.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117587.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@117588.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@117589.4]
endmodule
module TLAsyncCrossingSource_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117591.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117592.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117593.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [8:0]  auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [8:0]  auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
  output        auto_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117594.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [8:0] AsyncQueueSource_io_enq_bits_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [3:0] AsyncQueueSource_io_enq_bits_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [8:0] AsyncQueueSource_io_async_mem_0_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [3:0] AsyncQueueSource_io_async_mem_0_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117642.4]
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_deq_bits_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_deq_bits_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@117649.4]
  TLMonitor_53 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@117601.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@117642.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@117649.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@117641.4]
  assign auto_in_d_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign auto_out_a_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_a_mem_0_address = AsyncQueueSource_io_async_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_a_mem_0_mask = AsyncQueueSource_io_async_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_a_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_a_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_a_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_a_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_d_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_d_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign auto_out_d_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@117640.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117603.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117604.4]
  assign TLMonitor_io_in_a_ready = AsyncQueueSource_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_valid = AsyncQueueSink_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign TLMonitor_io_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117637.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117643.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117644.4]
  assign AsyncQueueSource_io_enq_valid = auto_in_a_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117646.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117645.4]
  assign AsyncQueueSource_io_enq_bits_address = auto_in_a_bits_address; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117645.4]
  assign AsyncQueueSource_io_enq_bits_mask = auto_in_a_bits_mask; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117645.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_in_a_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117645.4]
  assign AsyncQueueSource_io_async_ridx = auto_out_a_ridx; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@117648.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@117648.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@117648.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117650.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@117651.4]
  assign AsyncQueueSink_io_deq_ready = auto_in_d_ready; // @[AsyncCrossing.scala 26:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117659.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117658.4]
  assign AsyncQueueSink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117658.4]
  assign AsyncQueueSink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117658.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117658.4]
  assign AsyncQueueSink_io_async_widx = auto_out_d_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117656.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117654.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@117653.4]
endmodule
module AsyncQueueSource_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118268.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118269.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118270.4]
  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input        io_enq_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input  [9:0] io_enq_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input        io_enq_bits_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  output       io_async_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  output [9:0] io_async_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  output       io_async_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  output       io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  output       io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  output       io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
  input        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118271.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118279.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118279.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118279.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118279.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118279.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118308.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118308.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118308.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118308.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118308.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118317.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118317.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118317.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118317.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118317.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118327.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118327.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118327.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118330.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118330.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118330.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118330.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118333.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118333.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118333.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118333.4]
  reg  mem_0_resumereq; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118275.4]
  reg [31:0] _RAND_0;
  reg [9:0] mem_0_hartsel; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118275.4]
  reg [31:0] _RAND_1;
  reg  mem_0_ackhavereset; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118275.4]
  reg [31:0] _RAND_2;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@118276.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118273.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@118274.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118348.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118277.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@118286.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118287.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118296.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118298.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@118299.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@118300.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@118314.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@118337.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118279.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@118291.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@118308.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@118317.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@118327.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118330.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@118333.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@118276.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118273.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@118274.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118348.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118277.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@118286.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118287.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118296.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118298.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@118299.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@118300.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@118314.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@118337.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118316.4]
  assign io_async_mem_0_resumereq = mem_0_resumereq; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118326.4]
  assign io_async_mem_0_hartsel = mem_0_hartsel; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118325.4]
  assign io_async_mem_0_ackhavereset = mem_0_ackhavereset; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118324.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@118323.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@118345.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118351.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118281.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118282.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118283.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118284.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118293.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118294.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118295.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118310.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118311.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118312.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118313.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118319.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118320.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118321.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118322.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118328.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118329.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118339.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118331.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118332.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118343.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@118346.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118334.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118335.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@118347.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@118353.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118354.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118355.4]
  output [2:0]  auto_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output [8:0]  auto_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output [3:0]  auto_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output [31:0] auto_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input  [2:0]  auto_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input  [1:0]  auto_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input  [31:0] auto_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  input         auto_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        auto_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118356.4]
  output        io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input         io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input  [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input  [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input  [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input         io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output [1:0]  io_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_ctrl_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_innerCtrl_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output [9:0]  io_innerCtrl_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_innerCtrl_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input         io_innerCtrl_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_innerCtrl_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input         io_innerCtrl_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_innerCtrl_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  output        io_innerCtrl_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
  input         io_innerCtrl_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118357.4]
);
  wire  dmi2tl_auto_out_a_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_auto_out_a_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [2:0] dmi2tl_auto_out_a_bits_opcode; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [8:0] dmi2tl_auto_out_a_bits_address; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [3:0] dmi2tl_auto_out_a_bits_mask; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [31:0] dmi2tl_auto_out_a_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_auto_out_d_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_auto_out_d_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_auto_out_d_bits_denied; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [31:0] dmi2tl_auto_out_d_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_auto_out_d_bits_corrupt; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_io_dmi_req_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_io_dmi_req_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [6:0] dmi2tl_io_dmi_req_bits_addr; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [31:0] dmi2tl_io_dmi_req_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [1:0] dmi2tl_io_dmi_req_bits_op; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_io_dmi_resp_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmi2tl_io_dmi_resp_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [31:0] dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire [1:0] dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.4]
  wire  dmiXbar_clock; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_reset; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_in_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_in_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [2:0] dmiXbar_auto_in_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [8:0] dmiXbar_auto_in_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [3:0] dmiXbar_auto_in_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [31:0] dmiXbar_auto_in_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_in_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_in_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_in_d_bits_denied; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [31:0] dmiXbar_auto_in_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_in_d_bits_corrupt; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_1_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_1_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [2:0] dmiXbar_auto_out_1_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [6:0] dmiXbar_auto_out_1_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [3:0] dmiXbar_auto_out_1_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [31:0] dmiXbar_auto_out_1_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_1_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_1_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [2:0] dmiXbar_auto_out_1_d_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [31:0] dmiXbar_auto_out_1_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [2:0] dmiXbar_auto_out_0_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [8:0] dmiXbar_auto_out_0_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [3:0] dmiXbar_auto_out_0_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [31:0] dmiXbar_auto_out_0_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [2:0] dmiXbar_auto_out_0_d_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [1:0] dmiXbar_auto_out_0_d_bits_param; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [1:0] dmiXbar_auto_out_0_d_bits_size; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_d_bits_source; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_d_bits_sink; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_d_bits_denied; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire [31:0] dmiXbar_auto_out_0_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmiXbar_auto_out_0_d_bits_corrupt; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118370.4]
  wire  dmOuter_clock; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_reset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_auto_dmi_in_a_ready; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_auto_dmi_in_a_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [2:0] dmOuter_auto_dmi_in_a_bits_opcode; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [6:0] dmOuter_auto_dmi_in_a_bits_address; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [3:0] dmOuter_auto_dmi_in_a_bits_mask; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [31:0] dmOuter_auto_dmi_in_a_bits_data; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_auto_dmi_in_d_ready; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_auto_dmi_in_d_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [2:0] dmOuter_auto_dmi_in_d_bits_opcode; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [31:0] dmOuter_auto_dmi_in_d_bits_data; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_auto_int_out_0; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_io_innerCtrl_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_io_innerCtrl_bits_resumereq; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire [9:0] dmOuter_io_innerCtrl_bits_hartsel; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  dmOuter_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118376.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118383.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118383.4]
  wire  asource_clock; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_reset; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [8:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [8:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118389.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_enq_bits_resumereq; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire [9:0] AsyncQueueSource_io_enq_bits_hartsel; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_enq_bits_ackhavereset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_mem_0_resumereq; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire [9:0] AsyncQueueSource_io_async_mem_0_hartsel; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118403.4]
  DMIToTL dmi2tl ( // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118363.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@118370.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@118376.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@118383.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@118389.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@118403.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@118400.4]
  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.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@118400.4]
  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.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@118400.4]
  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118399.4]
  assign io_dmi_req_ready = dmi2tl_io_dmi_req_ready; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign io_dmi_resp_valid = dmi2tl_io_dmi_resp_valid; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign io_dmi_resp_bits_data = dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign io_dmi_resp_bits_resp = dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 367:13:shc.marmotcaravel.MarmotCaravelConfig.fir@118402.4]
  assign io_ctrl_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 367:13:shc.marmotcaravel.MarmotCaravelConfig.fir@118402.4]
  assign io_innerCtrl_mem_0_resumereq = AsyncQueueSource_io_async_mem_0_resumereq; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign io_innerCtrl_mem_0_hartsel = AsyncQueueSource_io_async_mem_0_hartsel; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign io_innerCtrl_mem_0_ackhavereset = AsyncQueueSource_io_async_mem_0_ackhavereset; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign io_innerCtrl_widx = AsyncQueueSource_io_async_widx; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign io_innerCtrl_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign io_innerCtrl_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign dmi2tl_auto_out_a_ready = dmiXbar_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmi2tl_auto_out_d_valid = dmiXbar_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmi2tl_auto_out_d_bits_denied = dmiXbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmi2tl_auto_out_d_bits_data = dmiXbar_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmi2tl_auto_out_d_bits_corrupt = dmiXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmi2tl_io_dmi_req_valid = io_dmi_req_valid; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign dmi2tl_io_dmi_req_bits_addr = io_dmi_req_bits_addr; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign dmi2tl_io_dmi_req_bits_data = io_dmi_req_bits_data; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign dmi2tl_io_dmi_req_bits_op = io_dmi_req_bits_op; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign dmi2tl_io_dmi_resp_ready = io_dmi_resp_ready; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118401.4]
  assign dmiXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118374.4]
  assign dmiXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118375.4]
  assign dmiXbar_auto_in_a_valid = dmi2tl_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmiXbar_auto_in_a_bits_opcode = dmi2tl_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmiXbar_auto_in_a_bits_address = dmi2tl_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmiXbar_auto_in_a_bits_mask = dmi2tl_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmiXbar_auto_in_a_bits_data = dmi2tl_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmiXbar_auto_in_d_ready = dmi2tl_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118395.4]
  assign dmiXbar_auto_out_1_a_ready = dmOuter_auto_dmi_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmiXbar_auto_out_1_d_valid = dmOuter_auto_dmi_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmiXbar_auto_out_1_d_bits_opcode = dmOuter_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmiXbar_auto_out_1_d_bits_data = dmOuter_auto_dmi_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmiXbar_auto_out_0_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmiXbar_auto_out_0_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign dmOuter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118381.4]
  assign dmOuter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118382.4]
  assign dmOuter_auto_dmi_in_a_valid = dmiXbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmOuter_auto_dmi_in_a_bits_opcode = dmiXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmOuter_auto_dmi_in_a_bits_address = dmiXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmOuter_auto_dmi_in_a_bits_mask = dmiXbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmOuter_auto_dmi_in_a_bits_data = dmiXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign dmOuter_auto_dmi_in_d_ready = dmiXbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118397.4]
  assign intsource_auto_in_0 = dmOuter_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118398.4]
  assign asource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118393.4]
  assign asource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118394.4]
  assign asource_auto_in_a_valid = dmiXbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign asource_auto_in_a_bits_opcode = dmiXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign asource_auto_in_a_bits_address = dmiXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign asource_auto_in_a_bits_mask = dmiXbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign asource_auto_in_a_bits_data = dmiXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign asource_auto_in_d_ready = dmiXbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@118396.4]
  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.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@118400.4]
  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.4]
  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118400.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@118400.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118404.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118405.4]
  assign AsyncQueueSource_io_enq_valid = dmOuter_io_innerCtrl_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@118407.4]
  assign AsyncQueueSource_io_enq_bits_resumereq = dmOuter_io_innerCtrl_bits_resumereq; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@118406.4]
  assign AsyncQueueSource_io_enq_bits_hartsel = dmOuter_io_innerCtrl_bits_hartsel; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@118406.4]
  assign AsyncQueueSource_io_enq_bits_ackhavereset = dmOuter_io_innerCtrl_bits_ackhavereset; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@118406.4]
  assign AsyncQueueSource_io_async_ridx = io_innerCtrl_ridx; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = io_innerCtrl_safe_ridx_valid; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@118409.4]
endmodule
module TLMonitor_54( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118418.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118419.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118420.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [2:0] io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [1:0] io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input        io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input        io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
  input        io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@118421.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@119815.4]
  wire  _T_20; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@118436.6]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@118441.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@118442.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@118443.6]
  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118444.6]
  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118444.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118445.6]
  wire  _T_35; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118447.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@118448.6]
  wire [1:0] _T_38; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@118450.6]
  wire  _T_39; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118451.6]
  wire  _T_40; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118452.6]
  wire  _T_41; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118453.6]
  wire  _T_42; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@118454.6]
  wire  _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118456.6]
  wire  _T_45; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118457.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118459.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118460.6]
  wire  _T_49; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118461.6]
  wire  _T_50; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118462.6]
  wire  _T_51; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@118463.6]
  wire  _T_52; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118464.6]
  wire  _T_53; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118465.6]
  wire  _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118466.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118467.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118468.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118469.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118470.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118471.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118472.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118473.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118474.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118475.6]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118476.6]
  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118477.6]
  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118478.6]
  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118482.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118494.6]
  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118499.8]
  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118500.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118501.8]
  wire [8:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118502.8]
  wire [9:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118503.8]
  wire [9:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118504.8]
  wire [9:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118505.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118506.8]
  wire [8:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118507.8]
  wire [9:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118508.8]
  wire [9:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118509.8]
  wire [9:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118510.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118511.8]
  wire [8:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118512.8]
  wire [9:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118513.8]
  wire [9:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118514.8]
  wire [9:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118515.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118516.8]
  wire [8:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118517.8]
  wire [9:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118518.8]
  wire [9:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118519.8]
  wire [9:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118520.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118521.8]
  wire [8:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118522.8]
  wire [9:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118523.8]
  wire [9:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118524.8]
  wire [9:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118525.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118526.8]
  wire [8:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118527.8]
  wire [9:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118528.8]
  wire [9:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118529.8]
  wire [9:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118530.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118531.8]
  wire  _T_115; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118532.8]
  wire  _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118533.8]
  wire  _T_117; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118534.8]
  wire  _T_118; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118535.8]
  wire  _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118536.8]
  wire  _T_120; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118537.8]
  wire  _T_125; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118542.8]
  wire  _T_130; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118555.8]
  wire  _T_131; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118556.8]
  wire  _T_134; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118563.8]
  wire  _T_135; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118564.8]
  wire  _T_137; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118570.8]
  wire  _T_138; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118571.8]
  wire  _T_139; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118576.8]
  wire  _T_141; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118578.8]
  wire  _T_142; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118579.8]
  wire [3:0] _T_143; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118584.8]
  wire  _T_144; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118585.8]
  wire  _T_146; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118587.8]
  wire  _T_147; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118588.8]
  wire  _T_148; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118593.8]
  wire  _T_150; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118595.8]
  wire  _T_151; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118596.8]
  wire  _T_152; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118602.6]
  wire  _T_217; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118692.8]
  wire  _T_219; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118694.8]
  wire  _T_220; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118695.8]
  wire  _T_230; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118718.6]
  wire  _T_232; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118721.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@118765.8]
  wire  _T_279; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118768.8]
  wire  _T_280; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118769.8]
  wire  _T_287; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118788.8]
  wire  _T_289; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118790.8]
  wire  _T_290; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118791.8]
  wire  _T_291; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118796.8]
  wire  _T_293; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118798.8]
  wire  _T_294; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118799.8]
  wire  _T_299; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118813.6]
  wire  _T_364; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118900.6]
  wire [3:0] _T_425; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118978.8]
  wire [3:0] _T_426; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118979.8]
  wire  _T_427; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@118980.8]
  wire  _T_429; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118982.8]
  wire  _T_430; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118983.8]
  wire  _T_431; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118989.6]
  wire  _T_485; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@119056.8]
  wire  _T_487; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119058.8]
  wire  _T_488; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119059.8]
  wire  _T_493; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119073.6]
  wire  _T_547; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@119140.8]
  wire  _T_549; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119142.8]
  wire  _T_550; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119143.8]
  wire  _T_555; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119157.6]
  wire  _T_617; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119243.6]
  wire  _T_619; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119245.6]
  wire  _T_620; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119246.6]
  wire  _T_621; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@119251.6]
  wire  _T_630; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119256.6]
  wire  _T_632; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119259.8]
  wire  _T_633; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119260.8]
  wire  _T_634; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119265.8]
  wire  _T_636; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119267.8]
  wire  _T_637; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119268.8]
  wire  _T_650; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119298.6]
  wire  _T_678; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119356.6]
  wire  _T_707; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119415.6]
  wire  _T_724; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119450.6]
  wire  _T_742; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119486.6]
  wire  _T_771; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119546.4]
  reg  _T_781; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119555.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_782; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119556.4]
  wire [1:0] _T_783; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119557.4]
  wire  _T_784; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119558.4]
  wire  _T_785; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119559.4]
  reg [2:0] _T_794; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119570.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_796; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119571.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_798; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119572.4]
  reg [31:0] _RAND_3;
  reg  _T_800; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119573.4]
  reg [31:0] _RAND_4;
  reg [8:0] _T_802; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119574.4]
  reg [31:0] _RAND_5;
  wire  _T_803; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119575.4]
  wire  _T_804; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@119576.4]
  wire  _T_805; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119578.6]
  wire  _T_807; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119580.6]
  wire  _T_808; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119581.6]
  wire  _T_809; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119586.6]
  wire  _T_811; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119588.6]
  wire  _T_812; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119589.6]
  wire  _T_813; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119594.6]
  wire  _T_815; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119596.6]
  wire  _T_816; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119597.6]
  wire  _T_817; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119602.6]
  wire  _T_819; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119604.6]
  wire  _T_820; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119605.6]
  wire  _T_821; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119610.6]
  wire  _T_823; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119612.6]
  wire  _T_824; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119613.6]
  wire  _T_826; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119620.4]
  wire  _T_827; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119628.4]
  reg  _T_836; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119636.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_837; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119637.4]
  wire [1:0] _T_838; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119638.4]
  wire  _T_839; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119639.4]
  wire  _T_840; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119640.4]
  reg [2:0] _T_849; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119651.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_853; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119653.4]
  reg [31:0] _RAND_8;
  reg  _T_855; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119654.4]
  reg [31:0] _RAND_9;
  wire  _T_860; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119657.4]
  wire  _T_861; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@119658.4]
  wire  _T_862; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119660.6]
  wire  _T_864; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119662.6]
  wire  _T_865; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119663.6]
  wire  _T_870; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119676.6]
  wire  _T_872; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119678.6]
  wire  _T_873; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119679.6]
  wire  _T_874; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119684.6]
  wire  _T_876; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119686.6]
  wire  _T_877; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119687.6]
  wire  _T_887; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119710.4]
  reg  _T_889; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119719.4]
  reg [31:0] _RAND_10;
  reg  _T_900; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119729.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_901; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119730.4]
  wire [1:0] _T_902; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119731.4]
  wire  _T_903; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119732.4]
  wire  _T_904; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119733.4]
  reg  _T_921; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119752.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_922; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119753.4]
  wire [1:0] _T_923; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119754.4]
  wire  _T_924; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119755.4]
  wire  _T_925; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119756.4]
  wire  _T_936; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119771.4]
  wire [1:0] _T_938; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119774.6]
  wire  _T_939; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@119776.6]
  wire  _T_941; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119778.6]
  wire  _T_943; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119780.6]
  wire  _T_944; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119781.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@119773.4]
  wire  _T_949; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119792.4]
  wire  _T_951; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@119794.4]
  wire  _T_952; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@119795.4]
  wire [1:0] _T_953; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119797.6]
  wire  _T_934; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119767.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@119769.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119775.6]
  wire  _T_954; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@119799.6]
  wire  _T_955; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@119800.6]
  wire  _T_958; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119803.6]
  wire  _T_959; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119804.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@119796.4]
  wire  _T_960; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119810.4]
  wire  _T_946; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119787.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@119789.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119798.6]
  wire  _T_961; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119811.4]
  wire  _T_962; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@119812.4]
  reg [31:0] _T_964; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119814.4]
  reg [31:0] _RAND_13;
  wire  _T_966; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119818.4]
  wire  _T_967; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@119819.4]
  wire  _T_968; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119820.4]
  wire  _T_969; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@119821.4]
  wire  _T_970; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@119822.4]
  wire  _T_972; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119824.4]
  wire  _T_973; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119825.4]
  wire [31:0] _T_975; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119831.4]
  wire  _T_978; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119835.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118544.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118652.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118771.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118866.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118953.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119039.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119123.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119207.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119262.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119304.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119362.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119421.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119456.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119492.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@119815.4]
    .out(plusarg_reader_out)
  );
  assign _T_20 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@118436.6]
  assign _T_29 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@118441.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@118442.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@118443.6]
  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118444.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@118444.6]
  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118445.6]
  assign _T_35 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118447.6]
  assign _T_36 = 2'h1 << _T_35; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@118448.6]
  assign _T_38 = _T_36 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@118450.6]
  assign _T_39 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@118451.6]
  assign _T_40 = _T_38[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118452.6]
  assign _T_41 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118453.6]
  assign _T_42 = _T_41 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@118454.6]
  assign _T_44 = _T_40 & _T_42; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118456.6]
  assign _T_45 = _T_39 | _T_44; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118457.6]
  assign _T_47 = _T_40 & _T_41; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118459.6]
  assign _T_48 = _T_39 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118460.6]
  assign _T_49 = _T_38[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118461.6]
  assign _T_50 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@118462.6]
  assign _T_51 = _T_50 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@118463.6]
  assign _T_52 = _T_42 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118464.6]
  assign _T_53 = _T_49 & _T_52; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118465.6]
  assign _T_54 = _T_45 | _T_53; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118466.6]
  assign _T_55 = _T_42 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118467.6]
  assign _T_56 = _T_49 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118468.6]
  assign _T_57 = _T_45 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118469.6]
  assign _T_58 = _T_41 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118470.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118471.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118472.6]
  assign _T_61 = _T_41 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118473.6]
  assign _T_62 = _T_49 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@118474.6]
  assign _T_63 = _T_48 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@118475.6]
  assign _T_64 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118476.6]
  assign _T_65 = {_T_63,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118477.6]
  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118478.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118482.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118494.6]
  assign _T_82 = $signed(_T_70) & $signed(-10'sh40); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118499.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118500.8]
  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118501.8]
  assign _T_85 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118502.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118503.8]
  assign _T_87 = $signed(_T_86) & $signed(-10'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118504.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118505.8]
  assign _T_89 = $signed(_T_88) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118506.8]
  assign _T_90 = io_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118507.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118508.8]
  assign _T_92 = $signed(_T_91) & $signed(-10'sh8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118509.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118510.8]
  assign _T_94 = $signed(_T_93) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118511.8]
  assign _T_95 = io_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118512.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118513.8]
  assign _T_97 = $signed(_T_96) & $signed(-10'sh10); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118514.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118515.8]
  assign _T_99 = $signed(_T_98) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118516.8]
  assign _T_100 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118517.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118518.8]
  assign _T_102 = $signed(_T_101) & $signed(-10'sh20); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118519.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118520.8]
  assign _T_104 = $signed(_T_103) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118521.8]
  assign _T_105 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118522.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118523.8]
  assign _T_107 = $signed(_T_106) & $signed(-10'sh80); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118524.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118525.8]
  assign _T_109 = $signed(_T_108) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118526.8]
  assign _T_110 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@118527.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@118528.8]
  assign _T_112 = $signed(_T_111) & $signed(-10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118529.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@118530.8]
  assign _T_114 = $signed(_T_113) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@118531.8]
  assign _T_115 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118532.8]
  assign _T_116 = _T_115 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118533.8]
  assign _T_117 = _T_116 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118534.8]
  assign _T_118 = _T_117 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118535.8]
  assign _T_119 = _T_118 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118536.8]
  assign _T_120 = _T_119 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118537.8]
  assign _T_125 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118542.8]
  assign _T_130 = _T_20 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118555.8]
  assign _T_131 = _T_130 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118556.8]
  assign _T_134 = _T_39 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118563.8]
  assign _T_135 = _T_134 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118564.8]
  assign _T_137 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118570.8]
  assign _T_138 = _T_137 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118571.8]
  assign _T_139 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118576.8]
  assign _T_141 = _T_139 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118578.8]
  assign _T_142 = _T_141 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118579.8]
  assign _T_143 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118584.8]
  assign _T_144 = _T_143 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118585.8]
  assign _T_146 = _T_144 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118587.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118588.8]
  assign _T_148 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@118593.8]
  assign _T_150 = _T_148 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118595.8]
  assign _T_151 = _T_150 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118596.8]
  assign _T_152 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118602.6]
  assign _T_217 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118692.8]
  assign _T_219 = _T_217 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118694.8]
  assign _T_220 = _T_219 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118695.8]
  assign _T_230 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118718.6]
  assign _T_232 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@118721.8]
  assign _T_276 = _T_232 & _T_120; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@118765.8]
  assign _T_279 = _T_276 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118768.8]
  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118769.8]
  assign _T_287 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118788.8]
  assign _T_289 = _T_287 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118790.8]
  assign _T_290 = _T_289 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118791.8]
  assign _T_291 = io_in_a_bits_mask == _T_66; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@118796.8]
  assign _T_293 = _T_291 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118798.8]
  assign _T_294 = _T_293 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118799.8]
  assign _T_299 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118813.6]
  assign _T_364 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118900.6]
  assign _T_425 = ~ _T_66; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@118978.8]
  assign _T_426 = io_in_a_bits_mask & _T_425; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@118979.8]
  assign _T_427 = _T_426 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@118980.8]
  assign _T_429 = _T_427 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118982.8]
  assign _T_430 = _T_429 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118983.8]
  assign _T_431 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@118989.6]
  assign _T_485 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@119056.8]
  assign _T_487 = _T_485 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119058.8]
  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119059.8]
  assign _T_493 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119073.6]
  assign _T_547 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@119140.8]
  assign _T_549 = _T_547 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119142.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119143.8]
  assign _T_555 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119157.6]
  assign _T_617 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119243.6]
  assign _T_619 = _T_617 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119245.6]
  assign _T_620 = _T_619 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119246.6]
  assign _T_621 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@119251.6]
  assign _T_630 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119256.6]
  assign _T_632 = _T_621 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119259.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119260.8]
  assign _T_634 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119265.8]
  assign _T_636 = _T_634 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119267.8]
  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119268.8]
  assign _T_650 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119298.6]
  assign _T_678 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119356.6]
  assign _T_707 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119415.6]
  assign _T_724 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119450.6]
  assign _T_742 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119486.6]
  assign _T_771 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119546.4]
  assign _T_782 = _T_781 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119556.4]
  assign _T_783 = $unsigned(_T_782); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119557.4]
  assign _T_784 = _T_783[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119558.4]
  assign _T_785 = _T_781 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119559.4]
  assign _T_803 = _T_785 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119575.4]
  assign _T_804 = io_in_a_valid & _T_803; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@119576.4]
  assign _T_805 = io_in_a_bits_opcode == _T_794; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119578.6]
  assign _T_807 = _T_805 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119580.6]
  assign _T_808 = _T_807 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119581.6]
  assign _T_809 = io_in_a_bits_param == _T_796; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119586.6]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119588.6]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119589.6]
  assign _T_813 = io_in_a_bits_size == _T_798; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119594.6]
  assign _T_815 = _T_813 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119596.6]
  assign _T_816 = _T_815 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119597.6]
  assign _T_817 = io_in_a_bits_source == _T_800; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119602.6]
  assign _T_819 = _T_817 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119604.6]
  assign _T_820 = _T_819 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119605.6]
  assign _T_821 = io_in_a_bits_address == _T_802; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119610.6]
  assign _T_823 = _T_821 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119612.6]
  assign _T_824 = _T_823 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119613.6]
  assign _T_826 = _T_771 & _T_785; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119620.4]
  assign _T_827 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119628.4]
  assign _T_837 = _T_836 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119637.4]
  assign _T_838 = $unsigned(_T_837); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119638.4]
  assign _T_839 = _T_838[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119639.4]
  assign _T_840 = _T_836 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119640.4]
  assign _T_860 = _T_840 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@119657.4]
  assign _T_861 = io_in_d_valid & _T_860; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@119658.4]
  assign _T_862 = io_in_d_bits_opcode == _T_849; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119660.6]
  assign _T_864 = _T_862 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119662.6]
  assign _T_865 = _T_864 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119663.6]
  assign _T_870 = io_in_d_bits_size == _T_853; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119676.6]
  assign _T_872 = _T_870 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119678.6]
  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119679.6]
  assign _T_874 = io_in_d_bits_source == _T_855; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119684.6]
  assign _T_876 = _T_874 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119686.6]
  assign _T_877 = _T_876 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119687.6]
  assign _T_887 = _T_827 & _T_840; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119710.4]
  assign _T_901 = _T_900 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119730.4]
  assign _T_902 = $unsigned(_T_901); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119731.4]
  assign _T_903 = _T_902[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119732.4]
  assign _T_904 = _T_900 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119733.4]
  assign _T_922 = _T_921 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119753.4]
  assign _T_923 = $unsigned(_T_922); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119754.4]
  assign _T_924 = _T_923[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119755.4]
  assign _T_925 = _T_921 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119756.4]
  assign _T_936 = _T_771 & _T_904; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119771.4]
  assign _T_938 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119774.6]
  assign _T_939 = _T_889 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@119776.6]
  assign _T_941 = _T_939 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119778.6]
  assign _T_943 = _T_941 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119780.6]
  assign _T_944 = _T_943 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119781.6]
  assign _GEN_15 = _T_936 ? _T_938 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@119773.4]
  assign _T_949 = _T_827 & _T_925; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119792.4]
  assign _T_951 = _T_630 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@119794.4]
  assign _T_952 = _T_949 & _T_951; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@119795.4]
  assign _T_953 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119797.6]
  assign _T_934 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119767.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@119769.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119775.6]
  assign _T_954 = _T_934 | _T_889; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@119799.6]
  assign _T_955 = _T_954 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@119800.6]
  assign _T_958 = _T_955 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119803.6]
  assign _T_959 = _T_958 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119804.6]
  assign _GEN_16 = _T_952 ? _T_953 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@119796.4]
  assign _T_960 = _T_889 | _T_934; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119810.4]
  assign _T_946 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119787.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@119789.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119798.6]
  assign _T_961 = ~ _T_946; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119811.4]
  assign _T_962 = _T_960 & _T_961; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@119812.4]
  assign _T_966 = _T_889 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@119818.4]
  assign _T_967 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@119819.4]
  assign _T_968 = _T_966 | _T_967; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119820.4]
  assign _T_969 = _T_964 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@119821.4]
  assign _T_970 = _T_968 | _T_969; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@119822.4]
  assign _T_972 = _T_970 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119824.4]
  assign _T_973 = _T_972 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119825.4]
  assign _T_975 = _T_964 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119831.4]
  assign _T_978 = _T_771 | _T_827; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119835.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118544.10]
  assign _GEN_35 = io_in_a_valid & _T_152; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118652.10]
  assign _GEN_53 = io_in_a_valid & _T_230; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118771.10]
  assign _GEN_65 = io_in_a_valid & _T_299; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118866.10]
  assign _GEN_75 = io_in_a_valid & _T_364; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@118953.10]
  assign _GEN_85 = io_in_a_valid & _T_431; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119039.10]
  assign _GEN_95 = io_in_a_valid & _T_493; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119123.10]
  assign _GEN_105 = io_in_a_valid & _T_555; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119207.10]
  assign _GEN_115 = io_in_d_valid & _T_630; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119262.10]
  assign _GEN_119 = io_in_d_valid & _T_650; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119304.10]
  assign _GEN_125 = io_in_d_valid & _T_678; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119362.10]
  assign _GEN_131 = io_in_d_valid & _T_707; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119421.10]
  assign _GEN_133 = io_in_d_valid & _T_724; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119456.10]
  assign _GEN_135 = io_in_d_valid & _T_742; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119492.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@118433.8]
        end
    `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@118434.8]
        end
    `ifdef STOP_COND
      end
    `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@118491.8]
        end
    `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@118492.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@118544.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@118545.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@118551.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@118552.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@118558.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@118559.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@118566.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@118567.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@118573.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@118574.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@118581.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@118582.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@118590.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@118591.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@118598.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@118599.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@118652.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@118653.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@118659.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@118660.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@118666.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@118667.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@118674.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@118675.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@118681.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@118682.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@118689.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@118690.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@118697.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@118698.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@118706.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@118707.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@118714.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@118715.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@118771.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@118772.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@118778.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@118779.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@118785.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@118786.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@118793.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@118794.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@118801.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@118802.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@118809.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@118810.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@118866.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@118867.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@118873.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@118874.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@118880.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@118881.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@118888.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@118889.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@118896.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@118897.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@118953.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@118954.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@118960.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@118961.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@118967.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@118968.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@118975.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@118976.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@118985.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@118986.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@119039.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@119040.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@119046.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@119047.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@119053.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@119054.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@119061.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@119062.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@119069.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@119070.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@119123.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@119124.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@119130.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@119131.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@119137.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@119138.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@119145.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@119146.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@119153.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@119154.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@119207.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@119208.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@119214.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@119215.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@119221.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@119222.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@119229.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@119230.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@119237.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@119238.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@119248.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@119249.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@119262.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@119263.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@119270.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@119271.10]
        end
    `ifdef STOP_COND
      end
    `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@119278.10]
        end
    `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@119279.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@119286.10]
        end
    `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@119287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@119294.10]
        end
    `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@119295.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@119304.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@119305.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@119311.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@119312.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@119319.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@119320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119327.10]
        end
    `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@119328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119335.10]
        end
    `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@119336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119343.10]
        end
    `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@119344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119352.10]
        end
    `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@119353.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@119362.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@119363.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@119369.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@119370.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@119377.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@119378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119385.10]
        end
    `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@119386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119393.10]
        end
    `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@119394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@119402.10]
        end
    `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@119403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@119411.10]
        end
    `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@119412.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@119421.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@119422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@119429.10]
        end
    `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@119430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119437.10]
        end
    `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@119438.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119446.10]
        end
    `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@119447.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@119456.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@119457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@119464.10]
        end
    `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@119465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@119473.10]
        end
    `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@119474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@119482.10]
        end
    `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@119483.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@119492.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@119493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@119500.10]
        end
    `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@119501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119508.10]
        end
    `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@119509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@119517.10]
        end
    `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@119518.10]
        end
    `ifdef STOP_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@119527.6]
        end
    `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@119528.6]
        end
    `ifdef STOP_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@119535.6]
        end
    `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@119536.6]
        end
    `ifdef STOP_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@119543.6]
        end
    `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@119544.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@119583.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@119584.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@119591.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@119592.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@119599.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@119600.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@119607.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@119608.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@119615.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@119616.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@119665.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@119666.8]
        end
    `ifdef STOP_COND
      end
    `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@119673.8]
        end
    `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@119674.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@119681.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@119682.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@119689.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@119690.8]
        end
    `ifdef STOP_COND
      end
    `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@119697.8]
        end
    `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@119698.8]
        end
    `ifdef STOP_COND
      end
    `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@119705.8]
        end
    `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@119706.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@119783.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@119784.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@119806.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@119807.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@119827.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@119828.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_55( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119847.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119848.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119849.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@119850.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@120977.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@119877.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@119878.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@119879.6]
  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@119880.6]
  wire [11:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@119880.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119881.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@119883.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119884.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@119886.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@119887.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119888.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119889.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119890.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119892.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119893.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119895.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119896.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119897.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119898.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119899.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119900.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119901.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119902.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119903.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119904.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119905.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119906.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119907.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119908.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119909.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119910.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119911.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119912.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119913.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119914.6]
  wire [12:0] _T_84; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@119925.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119937.6]
  wire [12:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@119942.8]
  wire [12:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@119943.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@119944.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119949.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119970.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119971.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119977.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119978.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119983.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119985.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119986.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@119991.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119992.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119994.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119995.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@120000.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120002.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120003.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120009.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120063.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120065.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120066.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120089.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120092.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@120100.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120103.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120104.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120123.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120125.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120126.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120131.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120133.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120134.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120148.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120199.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@120241.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120242.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@120243.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120245.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120246.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120252.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@120283.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120285.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120286.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120300.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@120331.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120333.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120334.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120348.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120398.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120400.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120401.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120418.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120427.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120429.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120430.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120460.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120518.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120708.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120717.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120718.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120719.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120720.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120721.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120732.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120733.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120734.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120735.4]
  reg [31:0] _RAND_4;
  reg [11:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120736.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120737.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@120738.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120740.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120742.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120743.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120748.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120750.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120751.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120756.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120758.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120759.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120764.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120766.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120767.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120772.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120774.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120775.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@120782.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120790.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120798.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120799.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120800.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120801.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120802.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120813.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120815.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120816.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120819.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@120820.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120822.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120824.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120825.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120838.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120840.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120841.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120846.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120848.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120849.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@120872.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120881.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120891.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120892.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120893.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120894.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120895.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120914.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120915.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120917.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120918.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120933.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@120936.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@120938.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@120939.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120940.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120942.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120943.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@120935.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120954.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@120956.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@120957.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@120959.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@120961.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@120962.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@120963.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120965.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120966.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@120958.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120972.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@120973.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@120974.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120976.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@120979.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120980.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@120981.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120982.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@120983.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@120984.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120986.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120987.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@120993.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120997.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119951.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120023.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120106.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120165.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120216.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120266.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120314.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120362.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120432.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120473.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120531.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@120977.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@119877.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@119878.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@119879.6]
  assign _GEN_18 = {{10'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@119880.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@119880.6]
  assign _T_40 = _T_39 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119881.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@119883.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@119884.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@119886.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@119887.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119888.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119889.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119890.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119892.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119893.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119895.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119896.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119897.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@119898.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@119899.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119900.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119901.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119902.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119903.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119904.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119905.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119906.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119907.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119908.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119909.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@119910.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@119911.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119912.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119913.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119914.6]
  assign _T_84 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@119925.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@119937.6]
  assign _T_96 = $signed(_T_84) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@119942.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@119943.8]
  assign _T_98 = $signed(_T_97) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@119944.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119949.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119970.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119971.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119977.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119978.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@119983.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119985.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119986.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@119991.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@119992.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119994.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119995.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@120000.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120002.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120003.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120009.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120063.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120065.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120066.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120089.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120092.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@120100.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120103.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120104.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120123.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120125.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120126.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120131.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120133.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120134.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120148.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120199.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@120241.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120242.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@120243.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120245.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120246.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120252.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@120283.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120285.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120286.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120300.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@120331.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120333.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120334.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120348.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120398.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120400.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120401.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120418.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120427.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120429.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120430.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120460.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120518.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120708.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120718.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120719.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120720.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120721.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120737.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@120738.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120740.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120742.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120743.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120748.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120750.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120751.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120756.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120758.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120759.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120764.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120766.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120767.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120772.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120774.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120775.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@120782.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120790.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120799.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120800.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120801.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120802.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@120819.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@120820.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120822.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120824.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120825.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120838.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120840.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120841.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@120846.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120848.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120849.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@120872.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120892.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120893.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120894.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120895.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120915.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@120917.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@120918.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120933.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@120936.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@120938.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@120939.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120940.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120942.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120943.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@120935.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120954.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@120956.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@120957.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@120959.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@120961.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@120962.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@120963.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120965.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120966.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@120958.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120972.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@120973.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@120974.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@120979.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@120980.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@120981.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120982.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@120983.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@120984.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120986.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@120987.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@120993.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@120997.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@119951.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120023.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120106.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120165.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120216.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120266.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120314.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120362.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120432.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120473.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@120531.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@119862.8]
        end
    `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@119863.8]
        end
    `ifdef STOP_COND
      end
    `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@119934.8]
        end
    `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@119935.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@119951.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@119952.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@119958.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@119959.10]
        end
    `ifdef STOP_COND
      end
    `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@119965.10]
        end
    `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@119966.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@119973.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@119974.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@119980.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@119981.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@119988.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@119989.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@119997.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@119998.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@120005.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@120006.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@120023.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@120024.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@120030.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@120031.10]
        end
    `ifdef STOP_COND
      end
    `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@120037.10]
        end
    `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@120038.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@120045.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@120046.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@120052.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@120053.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@120060.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@120061.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@120068.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@120069.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@120077.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@120078.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@120085.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@120086.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@120106.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@120107.10]
        end
    `ifdef STOP_COND
      end
    `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@120113.10]
        end
    `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@120114.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@120120.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@120121.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@120128.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@120129.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@120136.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@120137.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@120144.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@120145.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@120165.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@120166.10]
        end
    `ifdef STOP_COND
      end
    `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@120172.10]
        end
    `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@120173.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@120179.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@120180.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@120187.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@120188.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@120195.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@120196.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@120216.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@120217.10]
        end
    `ifdef STOP_COND
      end
    `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@120223.10]
        end
    `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@120224.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@120230.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@120231.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@120238.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@120239.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@120248.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@120249.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@120266.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@120267.10]
        end
    `ifdef STOP_COND
      end
    `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@120273.10]
        end
    `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@120274.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@120280.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@120281.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@120288.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@120289.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@120296.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@120297.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@120314.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@120315.10]
        end
    `ifdef STOP_COND
      end
    `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@120321.10]
        end
    `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@120322.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@120328.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@120329.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@120336.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@120337.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@120344.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@120345.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@120362.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@120363.10]
        end
    `ifdef STOP_COND
      end
    `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@120369.10]
        end
    `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@120370.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@120376.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@120377.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@120384.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@120385.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@120392.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@120393.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@120403.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@120404.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120424.10]
        end
    `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@120425.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@120432.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@120433.10]
        end
    `ifdef STOP_COND
      end
    `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@120440.10]
        end
    `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@120441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120448.10]
        end
    `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@120449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120456.10]
        end
    `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@120457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120466.10]
        end
    `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@120467.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@120473.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@120474.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@120481.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@120482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120489.10]
        end
    `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@120490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120497.10]
        end
    `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@120498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120505.10]
        end
    `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@120506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120514.10]
        end
    `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@120515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120524.10]
        end
    `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@120525.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@120531.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@120532.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@120539.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@120540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120547.10]
        end
    `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@120548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120555.10]
        end
    `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@120556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@120564.10]
        end
    `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@120565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@120573.10]
        end
    `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@120574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120583.10]
        end
    `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@120584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120591.10]
        end
    `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@120592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120599.10]
        end
    `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@120600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120608.10]
        end
    `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@120609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120618.10]
        end
    `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@120619.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120626.10]
        end
    `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@120627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@120635.10]
        end
    `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@120636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@120644.10]
        end
    `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@120645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120654.10]
        end
    `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@120655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@120662.10]
        end
    `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@120663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120670.10]
        end
    `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@120671.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@120679.10]
        end
    `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@120680.10]
        end
    `ifdef STOP_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@120689.6]
        end
    `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@120690.6]
        end
    `ifdef STOP_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@120697.6]
        end
    `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@120698.6]
        end
    `ifdef STOP_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@120705.6]
        end
    `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@120706.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@120745.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@120746.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@120753.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@120754.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@120761.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@120762.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@120769.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@120770.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@120777.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@120778.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@120827.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@120828.8]
        end
    `ifdef STOP_COND
      end
    `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@120835.8]
        end
    `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@120836.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@120843.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@120844.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@120851.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@120852.8]
        end
    `ifdef STOP_COND
      end
    `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@120859.8]
        end
    `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@120860.8]
        end
    `ifdef STOP_COND
      end
    `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@120867.8]
        end
    `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@120868.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@120945.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@120946.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@120968.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@120969.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@120989.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@120990.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLDebugModuleInner( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121002.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121003.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121004.4]
  output        auto_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [2:0]  auto_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [2:0]  auto_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [1:0]  auto_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [5:0]  auto_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [11:0] auto_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [3:0]  auto_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [31:0] auto_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output        auto_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [2:0]  auto_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [1:0]  auto_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [5:0]  auto_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [31:0] auto_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output        auto_dmi_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_dmi_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [2:0]  auto_dmi_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [2:0]  auto_dmi_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [1:0]  auto_dmi_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_dmi_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [8:0]  auto_dmi_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [3:0]  auto_dmi_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input  [31:0] auto_dmi_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_dmi_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         auto_dmi_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output        auto_dmi_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [2:0]  auto_dmi_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [1:0]  auto_dmi_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output        auto_dmi_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  output [31:0] auto_dmi_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121005.4]
  input         io_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121006.4]
  output        io_innerCtrl_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121006.4]
  input         io_innerCtrl_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121006.4]
  input         io_innerCtrl_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121006.4]
  input  [9:0]  io_innerCtrl_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121006.4]
  input         io_innerCtrl_bits_ackhavereset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121006.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [11:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.4]
  reg  haltedBitRegs_0; // @[Debug.scala 432:35:shc.marmotcaravel.MarmotCaravelConfig.fir@121098.4]
  reg [31:0] _RAND_0;
  reg  resumeReqRegs_0; // @[Debug.scala 433:35:shc.marmotcaravel.MarmotCaravelConfig.fir@121102.4]
  reg [31:0] _RAND_1;
  reg  haveResetBitRegs_0; // @[Debug.scala 434:35:shc.marmotcaravel.MarmotCaravelConfig.fir@121106.4]
  reg [31:0] _RAND_2;
  reg [9:0] selectedHartReg; // @[Debug.scala 459:34:shc.marmotcaravel.MarmotCaravelConfig.fir@121285.4]
  reg [31:0] _RAND_3;
  wire  _T_1306; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@121286.4]
  wire  DMSTATUSRdData_anynonexistent; // @[Debug.scala 477:27:shc.marmotcaravel.MarmotCaravelConfig.fir@121341.4]
  wire  _GEN_3; // @[Debug.scala 483:49:shc.marmotcaravel.MarmotCaravelConfig.fir@121352.8]
  wire  DMSTATUSRdData_allhalted; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@121342.4]
  wire  DMSTATUSRdData_allrunning; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@121342.4]
  wire  resumereq; // @[Debug.scala 493:41:shc.marmotcaravel.MarmotCaravelConfig.fir@121363.4]
  wire  _T_1352; // @[Debug.scala 501:36:shc.marmotcaravel.MarmotCaravelConfig.fir@121370.4]
  wire  _T_1353; // @[Debug.scala 501:71:shc.marmotcaravel.MarmotCaravelConfig.fir@121371.4]
  wire  DMSTATUSRdData_allresumeack; // @[Debug.scala 501:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121372.4]
  wire [31:0] haltedStatus_0; // @[Debug.scala 519:30:shc.marmotcaravel.MarmotCaravelConfig.fir@121404.4 Debug.scala 522:24:shc.marmotcaravel.MarmotCaravelConfig.fir@121406.4]
  wire  haltedSummary; // @[Debug.scala 525:48:shc.marmotcaravel.MarmotCaravelConfig.fir@121407.4]
  wire [31:0] HALTSUM1RdData_haltsum1; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121410.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@121412.4]
  wire [4:0] _T_1384; // @[Debug.scala 528:53:shc.marmotcaravel.MarmotCaravelConfig.fir@121415.4]
  wire  _T_1385; // @[Debug.scala 528:59:shc.marmotcaravel.MarmotCaravelConfig.fir@121416.4]
  wire [31:0] selectedHaltedStatus; // @[Debug.scala 528:35:shc.marmotcaravel.MarmotCaravelConfig.fir@121418.4]
  reg [2:0] ABSTRACTCSReg_cmderr; // @[Debug.scala 539:34:shc.marmotcaravel.MarmotCaravelConfig.fir@121452.4]
  reg [31:0] _RAND_4;
  wire  _T_2720; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@122092.4]
  wire [6:0] _T_2721; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122094.4]
  wire  _T_5124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124531.4]
  wire  _T_5122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124529.4]
  wire [1:0] _T_5127; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124534.4]
  wire  _T_5121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124528.4]
  wire [2:0] _T_5128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124535.4]
  wire  _T_5120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124527.4]
  wire  _T_5119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124526.4]
  wire [1:0] _T_5126; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124533.4]
  wire [4:0] _T_5129; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124536.4]
  wire [6:0] _T_2738; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122106.4]
  wire  _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122154.4]
  wire  _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122110.4]
  wire  _T_2760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122128.4]
  wire  _T_5913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125626.4]
  wire  _T_5914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125627.4]
  wire  _T_5915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125628.4]
  wire [31:0] _T_5174; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@124581.4]
  wire  _T_5181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124588.4]
  wire  _T_5954; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125681.4]
  wire  _T_5955; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125682.4]
  wire  _T_3130; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122182.4]
  wire [7:0] _T_3138; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122190.4]
  wire  _T_3129; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122181.4]
  wire [7:0] _T_3136; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122188.4]
  wire [15:0] _T_3140; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122192.4]
  wire  _T_3128; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122180.4]
  wire [7:0] _T_3134; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122186.4]
  wire  _T_3127; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122179.4]
  wire [7:0] _T_3132; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122184.4]
  wire [15:0] _T_3139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122191.4]
  wire [31:0] _T_3141; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122193.4]
  wire [31:0] _T_4179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123416.4]
  wire  _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123417.4]
  wire  ABSTRACTCSWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123421.4]
  wire [31:0] ABSTRACTCSWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123425.4]
  wire [2:0] ABSTRACTCSWrData_cmderr; // @[Debug.scala 541:64:shc.marmotcaravel.MarmotCaravelConfig.fir@121465.4]
  reg [1:0] ctrlStateReg; // @[Debug.scala 931:27:shc.marmotcaravel.MarmotCaravelConfig.fir@196531.4]
  reg [31:0] _RAND_5;
  wire  ABSTRACTCSWrEnLegal; // @[Debug.scala 941:44:shc.marmotcaravel.MarmotCaravelConfig.fir@196537.4]
  wire  ABSTRACTCSWrEn; // @[Debug.scala 548:51:shc.marmotcaravel.MarmotCaravelConfig.fir@121489.4]
  wire  _T_1429; // @[Debug.scala 555:10:shc.marmotcaravel.MarmotCaravelConfig.fir@121502.4]
  wire [2:0] _T_1430; // @[Debug.scala 568:58:shc.marmotcaravel.MarmotCaravelConfig.fir@121524.16]
  wire [2:0] _T_1431; // @[Debug.scala 568:56:shc.marmotcaravel.MarmotCaravelConfig.fir@121525.16]
  wire  _T_76325; // @[Debug.scala 994:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196614.6]
  reg [7:0] COMMANDRdData_cmdtype; // @[Debug.scala 618:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121984.4]
  reg [31:0] _RAND_6;
  wire  commandRegIsAccessRegister; // @[Debug.scala 955:58:shc.marmotcaravel.MarmotCaravelConfig.fir@196563.4]
  reg [23:0] COMMANDRdData_control; // @[Debug.scala 618:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121984.4]
  reg [31:0] _RAND_7;
  wire [31:0] _T_20900; // @[Debug.scala 791:104:shc.marmotcaravel.MarmotCaravelConfig.fir@138805.4]
  wire  accessRegisterCommandReg_transfer; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138815.4]
  wire  accessRegisterCommandReg_write; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138813.4]
  wire  _T_76315; // @[Debug.scala 973:19:shc.marmotcaravel.MarmotCaravelConfig.fir@196583.8]
  wire [15:0] accessRegisterCommandReg_regno; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138811.4]
  wire  _T_76310; // @[Debug.scala 963:58:shc.marmotcaravel.MarmotCaravelConfig.fir@196572.4]
  wire  _T_76311; // @[Debug.scala 963:104:shc.marmotcaravel.MarmotCaravelConfig.fir@196573.4]
  wire  accessRegIsGPR; // @[Debug.scala 963:70:shc.marmotcaravel.MarmotCaravelConfig.fir@196574.4]
  wire  _T_76316; // @[Debug.scala 973:54:shc.marmotcaravel.MarmotCaravelConfig.fir@196584.8]
  wire  _GEN_5644; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@196585.8]
  wire  commandRegIsUnsupported; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@196575.4]
  wire  _T_76317; // @[Debug.scala 975:36:shc.marmotcaravel.MarmotCaravelConfig.fir@196587.10]
  wire  _GEN_5645; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@196585.8]
  wire  commandRegBadHaltResume; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@196575.4]
  wire  _GEN_5661; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@196616.8]
  wire  _GEN_5674; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  wire  errorHaltResume; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  wire  _T_5182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124589.4]
  wire  _T_5960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125689.4]
  wire  _T_5961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125690.4]
  wire  COMMANDWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124106.4]
  wire  COMMANDWrEn; // @[Debug.scala 626:40:shc.marmotcaravel.MarmotCaravelConfig.fir@122009.4]
  wire [31:0] COMMANDWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124110.4]
  wire [7:0] COMMANDWrData_cmdtype; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121995.4]
  wire  commandWrIsAccessRegister; // @[Debug.scala 954:60:shc.marmotcaravel.MarmotCaravelConfig.fir@196562.4]
  wire  _T_76318; // @[Debug.scala 979:48:shc.marmotcaravel.MarmotCaravelConfig.fir@196591.4]
  wire  _T_76319; // @[Debug.scala 979:103:shc.marmotcaravel.MarmotCaravelConfig.fir@196592.4]
  wire  wrAccessRegisterCommand; // @[Debug.scala 979:78:shc.marmotcaravel.MarmotCaravelConfig.fir@196593.4]
  wire  _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124586.4]
  wire  _T_5942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125663.4]
  wire  _T_5943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125664.4]
  wire [7:0] _T_4914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124281.4]
  wire [7:0] _T_4915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124282.4]
  wire  _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124283.4]
  wire  dmiAbstractDataWrEnMaybe_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124287.4]
  wire  _T_5679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125290.4]
  wire  _T_5706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125325.4]
  wire  _T_5707; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125326.4]
  wire  _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124280.4]
  wire  dmiAbstractDataRdEn_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124285.4]
  wire  dmiAbstractDataAccessVec_0; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121596.4]
  reg [11:0] ABSTRACTAUTOReg_autoexecdata; // @[Debug.scala 580:36:shc.marmotcaravel.MarmotCaravelConfig.fir@121548.4]
  reg [31:0] _RAND_8;
  wire  _T_2156; // @[Debug.scala 610:54:shc.marmotcaravel.MarmotCaravelConfig.fir@121894.4]
  wire  autoexecData_0; // @[Debug.scala 610:140:shc.marmotcaravel.MarmotCaravelConfig.fir@121906.4]
  wire  _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124598.4]
  wire  _T_6014; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125754.4]
  wire  _T_6015; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125755.4]
  wire  dmiProgramBufferWrEnMaybe_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122993.4]
  wire  _T_5778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125416.4]
  wire  _T_5779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125417.4]
  wire  dmiProgramBufferRdEn_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122991.4]
  wire  dmiProgramBufferAccessVec_0; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121673.4]
  reg [15:0] ABSTRACTAUTOReg_autoexecprogbuf; // @[Debug.scala 580:36:shc.marmotcaravel.MarmotCaravelConfig.fir@121548.4]
  reg [31:0] _RAND_9;
  wire  _T_2169; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121908.4]
  wire  autoexecProg_0; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121924.4]
  wire  _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124599.4]
  wire  _T_6020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125765.4]
  wire  _T_6021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125766.4]
  wire  dmiProgramBufferWrEnMaybe_4; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122741.4]
  wire  _T_5784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125427.4]
  wire  _T_5785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125428.4]
  wire  dmiProgramBufferRdEn_4; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122739.4]
  wire  dmiProgramBufferAccessVec_4; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121677.4]
  wire  _T_2170; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121909.4]
  wire  autoexecProg_1; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121926.4]
  wire  _T_2201; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121956.4]
  wire  _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124600.4]
  wire  _T_6026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125776.4]
  wire  _T_6027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125777.4]
  wire  dmiProgramBufferWrEnMaybe_8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123119.4]
  wire  _T_5790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125438.4]
  wire  _T_5791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125439.4]
  wire  dmiProgramBufferRdEn_8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123117.4]
  wire  dmiProgramBufferAccessVec_8; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121681.4]
  wire  _T_2171; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121910.4]
  wire  autoexecProg_2; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121928.4]
  wire  _T_2202; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121957.4]
  wire  _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124601.4]
  wire  _T_6032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125787.4]
  wire  _T_6033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125788.4]
  wire  dmiProgramBufferWrEnMaybe_12; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123703.4]
  wire  _T_5796; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125449.4]
  wire  _T_5797; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125450.4]
  wire  dmiProgramBufferRdEn_12; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123701.4]
  wire  dmiProgramBufferAccessVec_12; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121685.4]
  wire  _T_2172; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121911.4]
  wire  autoexecProg_3; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121930.4]
  wire  _T_2203; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121958.4]
  wire  _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124602.4]
  wire  _T_6038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125798.4]
  wire  _T_6039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125799.4]
  wire  dmiProgramBufferWrEnMaybe_16; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124136.4]
  wire  _T_5802; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125460.4]
  wire  _T_5803; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125461.4]
  wire  dmiProgramBufferRdEn_16; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124134.4]
  wire  dmiProgramBufferAccessVec_16; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121689.4]
  wire  _T_2173; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121912.4]
  wire  autoexecProg_4; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121932.4]
  wire  _T_2204; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121959.4]
  wire  _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124603.4]
  wire  _T_6044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125809.4]
  wire  _T_6045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125810.4]
  wire  dmiProgramBufferWrEnMaybe_20; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122363.4]
  wire  _T_5808; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125471.4]
  wire  _T_5809; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125472.4]
  wire  dmiProgramBufferRdEn_20; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122361.4]
  wire  dmiProgramBufferAccessVec_20; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121693.4]
  wire  _T_2174; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121913.4]
  wire  autoexecProg_5; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121934.4]
  wire  _T_2205; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121960.4]
  wire  _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124604.4]
  wire  _T_6050; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125820.4]
  wire  _T_6051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125821.4]
  wire  dmiProgramBufferWrEnMaybe_24; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122615.4]
  wire  _T_5814; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125482.4]
  wire  _T_5815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125483.4]
  wire  dmiProgramBufferRdEn_24; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122613.4]
  wire  dmiProgramBufferAccessVec_24; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121697.4]
  wire  _T_2175; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121914.4]
  wire  autoexecProg_6; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121936.4]
  wire  _T_2206; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121961.4]
  wire  _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124605.4]
  wire  _T_6056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125831.4]
  wire  _T_6057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125832.4]
  wire  dmiProgramBufferWrEnMaybe_28; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123577.4]
  wire  _T_5820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125493.4]
  wire  _T_5821; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125494.4]
  wire  dmiProgramBufferRdEn_28; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123575.4]
  wire  dmiProgramBufferAccessVec_28; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121701.4]
  wire  _T_2176; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121915.4]
  wire  autoexecProg_7; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121938.4]
  wire  _T_2207; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121962.4]
  wire  _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124606.4]
  wire  _T_6062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125842.4]
  wire  _T_6063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125843.4]
  wire  dmiProgramBufferWrEnMaybe_32; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123980.4]
  wire  _T_5826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125504.4]
  wire  _T_5827; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125505.4]
  wire  dmiProgramBufferRdEn_32; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123978.4]
  wire  dmiProgramBufferAccessVec_32; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121705.4]
  wire  _T_2177; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121916.4]
  wire  autoexecProg_8; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121940.4]
  wire  _T_2208; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121963.4]
  wire  _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124607.4]
  wire  _T_6068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125853.4]
  wire  _T_6069; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125854.4]
  wire  dmiProgramBufferWrEnMaybe_36; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122867.4]
  wire  _T_5832; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125515.4]
  wire  _T_5833; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125516.4]
  wire  dmiProgramBufferRdEn_36; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122865.4]
  wire  dmiProgramBufferAccessVec_36; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121709.4]
  wire  _T_2178; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121917.4]
  wire  autoexecProg_9; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121942.4]
  wire  _T_2209; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121964.4]
  wire  _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124608.4]
  wire  _T_6074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125864.4]
  wire  _T_6075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125865.4]
  wire  dmiProgramBufferWrEnMaybe_40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122207.4]
  wire  _T_5838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125526.4]
  wire  _T_5839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125527.4]
  wire  dmiProgramBufferRdEn_40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122205.4]
  wire  dmiProgramBufferAccessVec_40; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121713.4]
  wire  _T_2179; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121918.4]
  wire  autoexecProg_10; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121944.4]
  wire  _T_2210; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121965.4]
  wire  _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124609.4]
  wire  _T_6080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125875.4]
  wire  _T_6081; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125876.4]
  wire  dmiProgramBufferWrEnMaybe_44; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123854.4]
  wire  _T_5844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125537.4]
  wire  _T_5845; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125538.4]
  wire  dmiProgramBufferRdEn_44; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123852.4]
  wire  dmiProgramBufferAccessVec_44; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121717.4]
  wire  _T_2180; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121919.4]
  wire  autoexecProg_11; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121946.4]
  wire  _T_2211; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121966.4]
  wire  _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124610.4]
  wire  _T_6086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125886.4]
  wire  _T_6087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125887.4]
  wire  dmiProgramBufferWrEnMaybe_48; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123451.4]
  wire  _T_5850; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125548.4]
  wire  _T_5851; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125549.4]
  wire  dmiProgramBufferRdEn_48; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123449.4]
  wire  dmiProgramBufferAccessVec_48; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121721.4]
  wire  _T_2181; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121920.4]
  wire  autoexecProg_12; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121948.4]
  wire  _T_2212; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121967.4]
  wire  _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124611.4]
  wire  _T_6092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125897.4]
  wire  _T_6093; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125898.4]
  wire  dmiProgramBufferWrEnMaybe_52; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123245.4]
  wire  _T_5856; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125559.4]
  wire  _T_5857; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125560.4]
  wire  dmiProgramBufferRdEn_52; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123243.4]
  wire  dmiProgramBufferAccessVec_52; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121725.4]
  wire  _T_2182; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121921.4]
  wire  autoexecProg_13; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121950.4]
  wire  _T_2213; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121968.4]
  wire  _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124612.4]
  wire  _T_6098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125908.4]
  wire  _T_6099; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125909.4]
  wire  dmiProgramBufferWrEnMaybe_56; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122489.4]
  wire  _T_5862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125570.4]
  wire  _T_5863; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125571.4]
  wire  dmiProgramBufferRdEn_56; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122487.4]
  wire  dmiProgramBufferAccessVec_56; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121729.4]
  wire  _T_2183; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121922.4]
  wire  autoexecProg_14; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121952.4]
  wire  _T_2214; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121969.4]
  wire  _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124613.4]
  wire  _T_6104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125919.4]
  wire  _T_6105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125920.4]
  wire  dmiProgramBufferWrEnMaybe_60; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124413.4]
  wire  _T_5868; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125581.4]
  wire  _T_5869; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125582.4]
  wire  dmiProgramBufferRdEn_60; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124411.4]
  wire  dmiProgramBufferAccessVec_60; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121733.4]
  wire  _T_2184; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121923.4]
  wire  autoexecProg_15; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121954.4]
  wire  _T_2215; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121970.4]
  wire  autoexec; // @[Debug.scala 613:48:shc.marmotcaravel.MarmotCaravelConfig.fir@121971.4]
  wire  _T_76320; // @[Debug.scala 980:48:shc.marmotcaravel.MarmotCaravelConfig.fir@196594.4]
  wire  regAccessRegisterCommand; // @[Debug.scala 980:78:shc.marmotcaravel.MarmotCaravelConfig.fir@196596.4]
  wire  _T_76323; // @[Debug.scala 987:37:shc.marmotcaravel.MarmotCaravelConfig.fir@196599.6]
  wire  _T_76307; // @[Debug.scala 957:49:shc.marmotcaravel.MarmotCaravelConfig.fir@196564.4]
  wire  commandWrIsUnsupported; // @[Debug.scala 957:46:shc.marmotcaravel.MarmotCaravelConfig.fir@196565.4]
  wire  _T_76324; // @[Debug.scala 991:28:shc.marmotcaravel.MarmotCaravelConfig.fir@196608.10]
  wire  _GEN_5651; // @[Debug.scala 989:43:shc.marmotcaravel.MarmotCaravelConfig.fir@196604.8]
  wire  _GEN_5653; // @[Debug.scala 987:66:shc.marmotcaravel.MarmotCaravelConfig.fir@196600.6]
  wire  _GEN_5672; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  wire  errorUnsupported; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  wire  _T_76326; // @[Debug.scala 1015:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196636.8]
  wire  _T_23037; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@140980.4]
  wire [9:0] _T_23038; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@140982.4]
  wire  _T_59792; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173195.4]
  wire  _T_59791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173194.4]
  wire [1:0] _T_59798; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173201.4]
  wire  _T_59790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173193.4]
  wire [2:0] _T_59799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173202.4]
  wire  _T_59789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173192.4]
  wire  _T_59788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173191.4]
  wire [1:0] _T_59797; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173200.4]
  wire [4:0] _T_59800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173203.4]
  wire  _T_59787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173190.4]
  wire  _T_59786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173189.4]
  wire [1:0] _T_59795; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173198.4]
  wire  _T_59785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173188.4]
  wire  _T_59784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173187.4]
  wire [1:0] _T_59794; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173197.4]
  wire [3:0] _T_59796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173199.4]
  wire [8:0] _T_59801; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173204.4]
  wire [9:0] _T_23055; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@140994.4]
  wire  _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141028.4]
  wire  _T_23609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141548.4]
  wire  _T_71632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190105.4]
  wire  _T_71633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190106.4]
  wire  _T_71634; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190107.4]
  wire [511:0] _T_60333; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@173736.4]
  wire  _T_60401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173804.4]
  wire  _T_72039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190666.4]
  wire  _T_72040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190667.4]
  wire  _T_28433; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141624.4]
  wire [7:0] _T_28441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141632.4]
  wire  _T_28432; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141623.4]
  wire [7:0] _T_28439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141630.4]
  wire [15:0] _T_28443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141634.4]
  wire  _T_28431; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141622.4]
  wire [7:0] _T_28437; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141628.4]
  wire  _T_28430; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141621.4]
  wire [7:0] _T_28435; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141626.4]
  wire [15:0] _T_28442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141633.4]
  wire [31:0] _T_28444; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141635.4]
  wire [9:0] _T_50731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164072.4]
  wire [9:0] _T_50732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164073.4]
  wire  _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164074.4]
  wire  hartExceptionWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164078.4]
  wire  _GEN_5670; // @[Debug.scala 1015:51:shc.marmotcaravel.MarmotCaravelConfig.fir@196637.8]
  wire  _GEN_5676; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  wire  errorException; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  wire  _T_76293; // @[Debug.scala 947:45:shc.marmotcaravel.MarmotCaravelConfig.fir@196547.4]
  wire  _T_76294; // @[Debug.scala 947:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196548.4]
  wire  _T_5183; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124590.4]
  wire  _T_5966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125697.4]
  wire  _T_5967; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125698.4]
  wire  ABSTRACTAUTOWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122333.4]
  wire  _T_76296; // @[Debug.scala 948:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196550.4]
  wire  _T_76297; // @[Debug.scala 947:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196551.4]
  wire  _T_76299; // @[Debug.scala 949:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196553.4]
  wire  _T_76300; // @[Debug.scala 948:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196554.4]
  wire [7:0] _T_4939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124311.4]
  wire [7:0] _T_4940; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124312.4]
  wire  _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124313.4]
  wire  dmiAbstractDataWrEnMaybe_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124317.4]
  wire  _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124310.4]
  wire  dmiAbstractDataRdEn_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124315.4]
  wire  dmiAbstractDataAccessVec_1; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121597.4]
  wire  _T_1962; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121801.4]
  wire [7:0] _T_4966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124343.4]
  wire [7:0] _T_4967; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124344.4]
  wire  _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124345.4]
  wire  dmiAbstractDataWrEnMaybe_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124349.4]
  wire  _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124342.4]
  wire  dmiAbstractDataRdEn_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124347.4]
  wire  dmiAbstractDataAccessVec_2; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121598.4]
  wire  _T_1963; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121802.4]
  wire [7:0] _T_4993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124375.4]
  wire [7:0] _T_4994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124376.4]
  wire  _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124377.4]
  wire  dmiAbstractDataWrEnMaybe_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124381.4]
  wire  _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124374.4]
  wire  dmiAbstractDataRdEn_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124379.4]
  wire  dmiAbstractDataAccessVec_3; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121599.4]
  wire  dmiAbstractDataAccess; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121803.4]
  wire  _T_76302; // @[Debug.scala 950:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196556.4]
  wire  _T_76303; // @[Debug.scala 949:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196557.4]
  wire  dmiProgramBufferWrEnMaybe_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123023.4]
  wire  dmiProgramBufferRdEn_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123021.4]
  wire  dmiProgramBufferAccessVec_1; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121674.4]
  wire  _T_1964; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121804.4]
  wire  dmiProgramBufferWrEnMaybe_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123055.4]
  wire  dmiProgramBufferRdEn_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123053.4]
  wire  dmiProgramBufferAccessVec_2; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121675.4]
  wire  _T_1965; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121805.4]
  wire  dmiProgramBufferWrEnMaybe_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123087.4]
  wire  dmiProgramBufferRdEn_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123085.4]
  wire  dmiProgramBufferAccessVec_3; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121676.4]
  wire  _T_1966; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121806.4]
  wire  _T_1967; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121807.4]
  wire  dmiProgramBufferWrEnMaybe_5; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122771.4]
  wire  dmiProgramBufferRdEn_5; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122769.4]
  wire  dmiProgramBufferAccessVec_5; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121678.4]
  wire  _T_1968; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121808.4]
  wire  dmiProgramBufferWrEnMaybe_6; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122803.4]
  wire  dmiProgramBufferRdEn_6; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122801.4]
  wire  dmiProgramBufferAccessVec_6; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121679.4]
  wire  _T_1969; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121809.4]
  wire  dmiProgramBufferWrEnMaybe_7; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122835.4]
  wire  dmiProgramBufferRdEn_7; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122833.4]
  wire  dmiProgramBufferAccessVec_7; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121680.4]
  wire  _T_1970; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121810.4]
  wire  _T_1971; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121811.4]
  wire  dmiProgramBufferWrEnMaybe_9; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123149.4]
  wire  dmiProgramBufferRdEn_9; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123147.4]
  wire  dmiProgramBufferAccessVec_9; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121682.4]
  wire  _T_1972; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121812.4]
  wire  dmiProgramBufferWrEnMaybe_10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123181.4]
  wire  dmiProgramBufferRdEn_10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123179.4]
  wire  dmiProgramBufferAccessVec_10; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121683.4]
  wire  _T_1973; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121813.4]
  wire  dmiProgramBufferWrEnMaybe_11; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123213.4]
  wire  dmiProgramBufferRdEn_11; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123211.4]
  wire  dmiProgramBufferAccessVec_11; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121684.4]
  wire  _T_1974; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121814.4]
  wire  _T_1975; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121815.4]
  wire  dmiProgramBufferWrEnMaybe_13; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123733.4]
  wire  dmiProgramBufferRdEn_13; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123731.4]
  wire  dmiProgramBufferAccessVec_13; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121686.4]
  wire  _T_1976; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121816.4]
  wire  dmiProgramBufferWrEnMaybe_14; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123765.4]
  wire  dmiProgramBufferRdEn_14; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123763.4]
  wire  dmiProgramBufferAccessVec_14; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121687.4]
  wire  _T_1977; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121817.4]
  wire  dmiProgramBufferWrEnMaybe_15; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123797.4]
  wire  dmiProgramBufferRdEn_15; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123795.4]
  wire  dmiProgramBufferAccessVec_15; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121688.4]
  wire  _T_1978; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121818.4]
  wire  _T_1979; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121819.4]
  wire  dmiProgramBufferWrEnMaybe_17; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124166.4]
  wire  dmiProgramBufferRdEn_17; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124164.4]
  wire  dmiProgramBufferAccessVec_17; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121690.4]
  wire  _T_1980; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121820.4]
  wire  dmiProgramBufferWrEnMaybe_18; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124198.4]
  wire  dmiProgramBufferRdEn_18; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124196.4]
  wire  dmiProgramBufferAccessVec_18; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121691.4]
  wire  _T_1981; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121821.4]
  wire  dmiProgramBufferWrEnMaybe_19; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124230.4]
  wire  dmiProgramBufferRdEn_19; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124228.4]
  wire  dmiProgramBufferAccessVec_19; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121692.4]
  wire  _T_1982; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121822.4]
  wire  _T_1983; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121823.4]
  wire  dmiProgramBufferWrEnMaybe_21; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122393.4]
  wire  dmiProgramBufferRdEn_21; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122391.4]
  wire  dmiProgramBufferAccessVec_21; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121694.4]
  wire  _T_1984; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121824.4]
  wire  dmiProgramBufferWrEnMaybe_22; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122425.4]
  wire  dmiProgramBufferRdEn_22; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122423.4]
  wire  dmiProgramBufferAccessVec_22; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121695.4]
  wire  _T_1985; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121825.4]
  wire  dmiProgramBufferWrEnMaybe_23; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122457.4]
  wire  dmiProgramBufferRdEn_23; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122455.4]
  wire  dmiProgramBufferAccessVec_23; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121696.4]
  wire  _T_1986; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121826.4]
  wire  _T_1987; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121827.4]
  wire  dmiProgramBufferWrEnMaybe_25; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122645.4]
  wire  dmiProgramBufferRdEn_25; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122643.4]
  wire  dmiProgramBufferAccessVec_25; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121698.4]
  wire  _T_1988; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121828.4]
  wire  dmiProgramBufferWrEnMaybe_26; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122677.4]
  wire  dmiProgramBufferRdEn_26; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122675.4]
  wire  dmiProgramBufferAccessVec_26; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121699.4]
  wire  _T_1989; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121829.4]
  wire  dmiProgramBufferWrEnMaybe_27; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122709.4]
  wire  dmiProgramBufferRdEn_27; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122707.4]
  wire  dmiProgramBufferAccessVec_27; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121700.4]
  wire  _T_1990; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121830.4]
  wire  _T_1991; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121831.4]
  wire  dmiProgramBufferWrEnMaybe_29; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123607.4]
  wire  dmiProgramBufferRdEn_29; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123605.4]
  wire  dmiProgramBufferAccessVec_29; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121702.4]
  wire  _T_1992; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121832.4]
  wire  dmiProgramBufferWrEnMaybe_30; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123639.4]
  wire  dmiProgramBufferRdEn_30; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123637.4]
  wire  dmiProgramBufferAccessVec_30; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121703.4]
  wire  _T_1993; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121833.4]
  wire  dmiProgramBufferWrEnMaybe_31; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123671.4]
  wire  dmiProgramBufferRdEn_31; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123669.4]
  wire  dmiProgramBufferAccessVec_31; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121704.4]
  wire  _T_1994; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121834.4]
  wire  _T_1995; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121835.4]
  wire  dmiProgramBufferWrEnMaybe_33; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124010.4]
  wire  dmiProgramBufferRdEn_33; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124008.4]
  wire  dmiProgramBufferAccessVec_33; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121706.4]
  wire  _T_1996; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121836.4]
  wire  dmiProgramBufferWrEnMaybe_34; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124042.4]
  wire  dmiProgramBufferRdEn_34; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124040.4]
  wire  dmiProgramBufferAccessVec_34; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121707.4]
  wire  _T_1997; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121837.4]
  wire  dmiProgramBufferWrEnMaybe_35; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124074.4]
  wire  dmiProgramBufferRdEn_35; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124072.4]
  wire  dmiProgramBufferAccessVec_35; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121708.4]
  wire  _T_1998; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121838.4]
  wire  _T_1999; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121839.4]
  wire  dmiProgramBufferWrEnMaybe_37; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122897.4]
  wire  dmiProgramBufferRdEn_37; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122895.4]
  wire  dmiProgramBufferAccessVec_37; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121710.4]
  wire  _T_2000; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121840.4]
  wire  dmiProgramBufferWrEnMaybe_38; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122929.4]
  wire  dmiProgramBufferRdEn_38; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122927.4]
  wire  dmiProgramBufferAccessVec_38; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121711.4]
  wire  _T_2001; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121841.4]
  wire  dmiProgramBufferWrEnMaybe_39; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122961.4]
  wire  dmiProgramBufferRdEn_39; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122959.4]
  wire  dmiProgramBufferAccessVec_39; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121712.4]
  wire  _T_2002; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121842.4]
  wire  _T_2003; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121843.4]
  wire  dmiProgramBufferWrEnMaybe_41; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122237.4]
  wire  dmiProgramBufferRdEn_41; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122235.4]
  wire  dmiProgramBufferAccessVec_41; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121714.4]
  wire  _T_2004; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121844.4]
  wire  dmiProgramBufferWrEnMaybe_42; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122269.4]
  wire  dmiProgramBufferRdEn_42; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122267.4]
  wire  dmiProgramBufferAccessVec_42; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121715.4]
  wire  _T_2005; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121845.4]
  wire  dmiProgramBufferWrEnMaybe_43; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122301.4]
  wire  dmiProgramBufferRdEn_43; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122299.4]
  wire  dmiProgramBufferAccessVec_43; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121716.4]
  wire  _T_2006; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121846.4]
  wire  _T_2007; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121847.4]
  wire  dmiProgramBufferWrEnMaybe_45; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123884.4]
  wire  dmiProgramBufferRdEn_45; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123882.4]
  wire  dmiProgramBufferAccessVec_45; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121718.4]
  wire  _T_2008; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121848.4]
  wire  dmiProgramBufferWrEnMaybe_46; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123916.4]
  wire  dmiProgramBufferRdEn_46; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123914.4]
  wire  dmiProgramBufferAccessVec_46; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121719.4]
  wire  _T_2009; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121849.4]
  wire  dmiProgramBufferWrEnMaybe_47; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123948.4]
  wire  dmiProgramBufferRdEn_47; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123946.4]
  wire  dmiProgramBufferAccessVec_47; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121720.4]
  wire  _T_2010; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121850.4]
  wire  _T_2011; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121851.4]
  wire  dmiProgramBufferWrEnMaybe_49; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123481.4]
  wire  dmiProgramBufferRdEn_49; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123479.4]
  wire  dmiProgramBufferAccessVec_49; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121722.4]
  wire  _T_2012; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121852.4]
  wire  dmiProgramBufferWrEnMaybe_50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123513.4]
  wire  dmiProgramBufferRdEn_50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123511.4]
  wire  dmiProgramBufferAccessVec_50; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121723.4]
  wire  _T_2013; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121853.4]
  wire  dmiProgramBufferWrEnMaybe_51; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123545.4]
  wire  dmiProgramBufferRdEn_51; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123543.4]
  wire  dmiProgramBufferAccessVec_51; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121724.4]
  wire  _T_2014; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121854.4]
  wire  _T_2015; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121855.4]
  wire  dmiProgramBufferWrEnMaybe_53; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123275.4]
  wire  dmiProgramBufferRdEn_53; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123273.4]
  wire  dmiProgramBufferAccessVec_53; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121726.4]
  wire  _T_2016; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121856.4]
  wire  dmiProgramBufferWrEnMaybe_54; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123307.4]
  wire  dmiProgramBufferRdEn_54; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123305.4]
  wire  dmiProgramBufferAccessVec_54; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121727.4]
  wire  _T_2017; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121857.4]
  wire  dmiProgramBufferWrEnMaybe_55; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123339.4]
  wire  dmiProgramBufferRdEn_55; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123337.4]
  wire  dmiProgramBufferAccessVec_55; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121728.4]
  wire  _T_2018; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121858.4]
  wire  _T_2019; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121859.4]
  wire  dmiProgramBufferWrEnMaybe_57; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122519.4]
  wire  dmiProgramBufferRdEn_57; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122517.4]
  wire  dmiProgramBufferAccessVec_57; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121730.4]
  wire  _T_2020; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121860.4]
  wire  dmiProgramBufferWrEnMaybe_58; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122551.4]
  wire  dmiProgramBufferRdEn_58; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122549.4]
  wire  dmiProgramBufferAccessVec_58; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121731.4]
  wire  _T_2021; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121861.4]
  wire  dmiProgramBufferWrEnMaybe_59; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122583.4]
  wire  dmiProgramBufferRdEn_59; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122581.4]
  wire  dmiProgramBufferAccessVec_59; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121732.4]
  wire  _T_2022; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121862.4]
  wire  _T_2023; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121863.4]
  wire  dmiProgramBufferWrEnMaybe_61; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124443.4]
  wire  dmiProgramBufferRdEn_61; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124441.4]
  wire  dmiProgramBufferAccessVec_61; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121734.4]
  wire  _T_2024; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121864.4]
  wire  dmiProgramBufferWrEnMaybe_62; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124475.4]
  wire  dmiProgramBufferRdEn_62; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124473.4]
  wire  dmiProgramBufferAccessVec_62; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121735.4]
  wire  _T_2025; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121865.4]
  wire  dmiProgramBufferWrEnMaybe_63; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124507.4]
  wire  dmiProgramBufferRdEn_63; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124505.4]
  wire  dmiProgramBufferAccessVec_63; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121736.4]
  wire  dmiProgramBufferAccess; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121866.4]
  wire  _T_76305; // @[Debug.scala 951:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196559.4]
  wire  errorBusy; // @[Debug.scala 950:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196560.4]
  wire [31:0] ABSTRACTAUTOWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122337.4]
  wire [11:0] ABSTRACTAUTOWrData_autoexecdata; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121557.4]
  wire [15:0] ABSTRACTAUTOWrData_autoexecprogbuf; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121561.4]
  wire  ABSTRACTAUTOWrEn; // @[Debug.scala 589:55:shc.marmotcaravel.MarmotCaravelConfig.fir@121575.4]
  wire [11:0] _T_1457; // @[Debug.scala 595:71:shc.marmotcaravel.MarmotCaravelConfig.fir@121584.8]
  wire [23:0] COMMANDWrData_control; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121993.4]
  reg [7:0] abstractDataMem_0; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@122019.4]
  reg [31:0] _RAND_10;
  reg [7:0] abstractDataMem_1; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@122019.4]
  reg [31:0] _RAND_11;
  reg [7:0] abstractDataMem_2; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@122019.4]
  reg [31:0] _RAND_12;
  reg [7:0] abstractDataMem_3; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@122019.4]
  reg [31:0] _RAND_13;
  reg [7:0] programBufferMem_0; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_14;
  reg [7:0] programBufferMem_1; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_15;
  reg [7:0] programBufferMem_2; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_16;
  reg [7:0] programBufferMem_3; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_17;
  reg [7:0] programBufferMem_4; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_18;
  reg [7:0] programBufferMem_5; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_19;
  reg [7:0] programBufferMem_6; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_20;
  reg [7:0] programBufferMem_7; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_21;
  reg [7:0] programBufferMem_8; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_22;
  reg [7:0] programBufferMem_9; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_23;
  reg [7:0] programBufferMem_10; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_24;
  reg [7:0] programBufferMem_11; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_25;
  reg [7:0] programBufferMem_12; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_26;
  reg [7:0] programBufferMem_13; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_27;
  reg [7:0] programBufferMem_14; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_28;
  reg [7:0] programBufferMem_15; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_29;
  reg [7:0] programBufferMem_16; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_30;
  reg [7:0] programBufferMem_17; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_31;
  reg [7:0] programBufferMem_18; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_32;
  reg [7:0] programBufferMem_19; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_33;
  reg [7:0] programBufferMem_20; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_34;
  reg [7:0] programBufferMem_21; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_35;
  reg [7:0] programBufferMem_22; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_36;
  reg [7:0] programBufferMem_23; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_37;
  reg [7:0] programBufferMem_24; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_38;
  reg [7:0] programBufferMem_25; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_39;
  reg [7:0] programBufferMem_26; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_40;
  reg [7:0] programBufferMem_27; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_41;
  reg [7:0] programBufferMem_28; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_42;
  reg [7:0] programBufferMem_29; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_43;
  reg [7:0] programBufferMem_30; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_44;
  reg [7:0] programBufferMem_31; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_45;
  reg [7:0] programBufferMem_32; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_46;
  reg [7:0] programBufferMem_33; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_47;
  reg [7:0] programBufferMem_34; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_48;
  reg [7:0] programBufferMem_35; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_49;
  reg [7:0] programBufferMem_36; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_50;
  reg [7:0] programBufferMem_37; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_51;
  reg [7:0] programBufferMem_38; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_52;
  reg [7:0] programBufferMem_39; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_53;
  reg [7:0] programBufferMem_40; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_54;
  reg [7:0] programBufferMem_41; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_55;
  reg [7:0] programBufferMem_42; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_56;
  reg [7:0] programBufferMem_43; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_57;
  reg [7:0] programBufferMem_44; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_58;
  reg [7:0] programBufferMem_45; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_59;
  reg [7:0] programBufferMem_46; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_60;
  reg [7:0] programBufferMem_47; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_61;
  reg [7:0] programBufferMem_48; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_62;
  reg [7:0] programBufferMem_49; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_63;
  reg [7:0] programBufferMem_50; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_64;
  reg [7:0] programBufferMem_51; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_65;
  reg [7:0] programBufferMem_52; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_66;
  reg [7:0] programBufferMem_53; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_67;
  reg [7:0] programBufferMem_54; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_68;
  reg [7:0] programBufferMem_55; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_69;
  reg [7:0] programBufferMem_56; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_70;
  reg [7:0] programBufferMem_57; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_71;
  reg [7:0] programBufferMem_58; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_72;
  reg [7:0] programBufferMem_59; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_73;
  reg [7:0] programBufferMem_60; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_74;
  reg [7:0] programBufferMem_61; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_75;
  reg [7:0] programBufferMem_62; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_76;
  reg [7:0] programBufferMem_63; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122023.4]
  reg [31:0] _RAND_77;
  wire [9:0] hartHaltedId; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156227.4]
  wire  _T_2673; // @[Debug.scala 660:60:shc.marmotcaravel.MarmotCaravelConfig.fir@122034.8]
  wire  _T_60400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173803.4]
  wire  _T_72033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190658.4]
  wire  _T_72034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190659.4]
  wire  hartResumingWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160529.4]
  wire  _T_60398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173801.4]
  wire  _T_72021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190642.4]
  wire  _T_72022; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190643.4]
  wire  hartHaltedWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156226.4]
  wire [1:0] _T_2683; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122060.4]
  wire [1:0] _T_2684; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122061.4]
  wire [2:0] _T_2685; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122062.4]
  wire [4:0] _T_2686; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122063.4]
  wire [12:0] _T_2687; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122064.4]
  wire [1:0] _T_2688; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122065.4]
  wire [1:0] _T_2689; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122066.4]
  wire [2:0] _T_2690; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122067.4]
  wire [4:0] _T_2691; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122068.4]
  wire [1:0] _T_2692; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122069.4]
  wire [13:0] _T_2695; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122072.4]
  wire [18:0] _T_2696; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122073.4]
  wire [31:0] _T_2697; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122074.4]
  wire [3:0] _T_2704; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122081.4]
  wire [11:0] _T_2705; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122082.4]
  wire  abstractCommandBusy; // @[Debug.scala 939:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196535.4]
  wire [11:0] _T_2706; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122083.4]
  wire [19:0] _T_2708; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122085.4]
  wire [31:0] _T_2709; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122086.4]
  wire [19:0] _T_2710; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@122087.4]
  wire [31:0] _T_2711; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@122088.4]
  wire [2:0] _T_2722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122098.4]
  wire [7:0] _T_3156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122209.4]
  wire [7:0] _T_3181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122239.4]
  wire [15:0] _T_3191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122253.4]
  wire [7:0] _T_3208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122271.4]
  wire [23:0] _T_3218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122285.4]
  wire [7:0] _T_3235; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122303.4]
  wire [31:0] _T_3245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122317.4]
  wire [15:0] _T_3322; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122409.4]
  wire [23:0] _T_3349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122441.4]
  wire [31:0] _T_3376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122473.4]
  wire [15:0] _T_3428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122535.4]
  wire [23:0] _T_3455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122567.4]
  wire [31:0] _T_3482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122599.4]
  wire [15:0] _T_3534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122661.4]
  wire [23:0] _T_3561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122693.4]
  wire [31:0] _T_3588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122725.4]
  wire [15:0] _T_3640; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122787.4]
  wire [23:0] _T_3667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122819.4]
  wire [31:0] _T_3694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122851.4]
  wire [15:0] _T_3746; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122913.4]
  wire [23:0] _T_3773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122945.4]
  wire [31:0] _T_3800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122977.4]
  wire [15:0] _T_3852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123039.4]
  wire [23:0] _T_3879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123071.4]
  wire [31:0] _T_3906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123103.4]
  wire [15:0] _T_3958; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123165.4]
  wire [23:0] _T_3985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123197.4]
  wire [31:0] _T_4012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123229.4]
  wire [15:0] _T_4064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123291.4]
  wire [23:0] _T_4091; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123323.4]
  wire [31:0] _T_4118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123355.4]
  wire [15:0] _T_4245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123497.4]
  wire [23:0] _T_4272; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123529.4]
  wire [31:0] _T_4299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123561.4]
  wire [15:0] _T_4351; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123623.4]
  wire [23:0] _T_4378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123655.4]
  wire [31:0] _T_4405; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123687.4]
  wire [15:0] _T_4457; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123749.4]
  wire [23:0] _T_4484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123781.4]
  wire [31:0] _T_4511; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123813.4]
  wire [15:0] _T_4588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123900.4]
  wire [23:0] _T_4615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123932.4]
  wire [31:0] _T_4642; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123964.4]
  wire [15:0] _T_4694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124026.4]
  wire [23:0] _T_4721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124058.4]
  wire [31:0] _T_4748; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124090.4]
  wire [15:0] _T_4825; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124182.4]
  wire [23:0] _T_4852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124214.4]
  wire [31:0] _T_4879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124246.4]
  wire [15:0] _T_4956; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124333.4]
  wire [23:0] _T_4983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124365.4]
  wire [31:0] _T_5010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124397.4]
  wire [15:0] _T_5062; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124459.4]
  wire [23:0] _T_5089; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124491.4]
  wire [31:0] _T_5116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124523.4]
  wire  _GEN_252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire  _GEN_282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  wire [31:0] _GEN_284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire [31:0] _GEN_314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  wire  _T_6243; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126073.4]
  wire  _T_6244; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126077.4]
  wire  _T_6245; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126081.4]
  wire  _T_6246; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126085.4]
  wire  _T_6247; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126089.4]
  wire  _T_6248; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126093.4]
  wire  _T_6249; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126097.4]
  wire  _T_6250; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126101.4]
  wire  _T_6251; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126105.4]
  wire  _T_6252; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126109.4]
  wire  _T_6253; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126113.4]
  wire  _T_6254; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126117.4]
  wire  _T_6255; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126121.4]
  wire  _T_6256; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126125.4]
  wire  _T_6257; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126129.4]
  wire  _T_6258; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126133.4]
  wire  _T_6259; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126137.4]
  wire  _T_6260; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126141.4]
  wire  _T_6261; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126145.4]
  wire  _T_6262; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126149.4]
  wire  _T_6263; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126153.4]
  wire  _T_6264; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126157.4]
  wire  _T_6265; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126161.4]
  wire  _T_6266; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126165.4]
  wire  _T_6267; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126169.4]
  wire  _T_6268; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126173.4]
  wire  _T_6269; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126177.4]
  wire  _T_6270; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126181.4]
  wire  _T_6271; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126185.4]
  wire  _T_6272; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126189.4]
  wire  _T_6273; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126193.4]
  wire  _T_6274; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126197.4]
  wire  _T_6275; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126201.4]
  wire  _T_6276; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126205.4]
  wire  _T_6277; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126209.4]
  wire  _T_6278; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126213.4]
  wire  _T_6279; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126217.4]
  wire  _T_6280; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126221.4]
  wire  _T_6281; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126225.4]
  wire  _T_6282; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126229.4]
  wire  _T_6283; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126233.4]
  wire  _T_6284; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126237.4]
  wire  _T_6285; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126241.4]
  wire  _T_6286; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126245.4]
  wire  _T_6287; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126249.4]
  wire  _T_6288; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126253.4]
  wire  _T_6289; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126257.4]
  wire  _T_6290; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126261.4]
  wire  _T_6291; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126265.4]
  wire  _T_6292; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126269.4]
  wire  _T_6293; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126273.4]
  wire  _T_6294; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126277.4]
  wire  _T_6295; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126281.4]
  wire  _T_6296; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126285.4]
  wire  _T_6297; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126289.4]
  wire  _T_6298; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126293.4]
  wire  _T_6299; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126297.4]
  wire  _T_6300; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126301.4]
  wire  _T_6301; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126305.4]
  wire  _T_6302; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126309.4]
  wire  _T_6303; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126313.4]
  wire  _T_6304; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126317.4]
  wire  _T_6305; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126321.4]
  wire  _T_6306; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126325.4]
  wire  _T_6307; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126329.4]
  wire  _T_6308; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126333.4]
  wire  _T_6309; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126337.4]
  wire  _T_6310; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126341.4]
  reg  goReg; // @[Debug.scala 754:27:shc.marmotcaravel.MarmotCaravelConfig.fir@126345.4]
  reg [31:0] _RAND_78;
  wire  _T_6518; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126463.10]
  wire  _T_6519; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126464.10]
  wire  _T_60399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173802.4]
  wire  _T_72027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190650.4]
  wire  _T_72028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190651.4]
  wire  hartGoingWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151511.4]
  wire  _GEN_5658; // @[Debug.scala 1004:43:shc.marmotcaravel.MarmotCaravelConfig.fir@196621.10]
  wire  _GEN_5662; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@196616.8]
  wire  _GEN_5675; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  wire  goAbstract; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  wire  flags_0_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_2_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_3_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_4_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_5_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_6_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_7_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_8_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_9_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_10_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_11_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_12_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_13_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_14_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_15_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_16_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_17_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_18_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_19_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_20_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_21_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_22_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_23_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_24_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_25_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_26_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_27_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_28_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_29_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_30_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_31_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_32_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_33_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_34_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_35_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_36_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_37_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_38_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_39_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_40_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_41_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_42_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_43_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_44_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_45_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_46_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_47_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_48_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_49_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_50_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_51_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_52_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_53_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_54_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_55_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_56_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_57_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_58_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_59_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_60_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_61_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_62_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_63_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_64_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_65_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_66_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_67_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_68_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_69_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_70_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_71_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_72_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_73_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_74_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_75_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_76_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_77_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_78_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_79_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_80_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_81_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_82_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_83_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_84_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_85_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_86_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_87_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_88_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_89_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_90_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_91_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_92_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_93_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_94_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_95_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_96_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_97_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_98_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_99_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_100_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_101_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_102_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_103_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_104_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_105_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_106_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_107_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_108_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_109_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_110_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_111_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_112_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_113_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_114_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_115_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_116_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_117_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_118_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_119_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_120_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_121_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_122_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_123_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_124_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_125_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_126_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_127_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_128_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_129_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_130_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_131_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_132_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_133_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_134_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_135_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_136_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_137_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_138_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_139_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_140_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_141_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_142_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_143_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_144_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_145_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_146_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_147_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_148_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_149_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_150_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_151_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_152_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_153_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_154_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_155_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_156_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_157_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_158_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_159_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_160_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_161_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_162_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_163_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_164_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_165_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_166_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_167_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_168_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_169_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_170_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_171_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_172_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_173_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_174_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_175_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_176_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_177_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_178_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_179_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_180_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_181_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_182_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_183_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_184_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_185_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_186_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_187_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_188_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_189_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_190_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_191_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_192_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_193_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_194_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_195_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_196_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_197_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_198_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_199_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_200_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_201_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_202_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_203_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_204_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_205_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_206_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_207_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_208_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_209_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_210_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_211_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_212_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_213_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_214_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_215_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_216_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_217_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_218_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_219_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_220_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_221_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_222_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_223_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_224_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_225_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_226_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_227_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_228_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_229_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_230_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_231_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_232_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_233_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_234_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_235_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_236_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_237_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_238_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_239_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_240_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_241_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_242_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_243_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_244_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_245_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_246_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_247_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_248_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_249_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_250_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_251_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_252_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_253_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_254_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_255_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_256_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_257_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_258_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_259_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_260_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_261_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_262_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_263_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_264_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_265_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_266_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_267_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_268_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_269_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_270_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_271_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_272_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_273_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_274_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_275_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_276_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_277_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_278_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_279_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_280_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_281_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_282_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_283_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_284_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_285_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_286_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_287_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_288_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_289_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_290_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_291_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_292_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_293_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_294_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_295_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_296_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_297_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_298_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_299_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_300_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_301_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_302_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_303_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_304_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_305_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_306_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_307_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_308_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_309_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_310_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_311_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_312_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_313_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_314_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_315_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_316_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_317_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_318_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_319_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_320_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_321_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_322_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_323_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_324_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_325_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_326_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_327_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_328_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_329_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_330_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_331_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_332_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_333_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_334_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_335_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_336_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_337_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_338_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_339_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_340_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_341_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_342_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_343_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_344_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_345_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_346_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_347_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_348_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_349_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_350_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_351_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_352_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_353_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_354_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_355_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_356_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_357_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_358_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_359_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_360_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_361_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_362_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_363_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_364_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_365_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_366_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_367_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_368_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_369_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_370_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_371_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_372_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_373_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_374_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_375_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_376_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_377_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_378_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_379_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_380_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_381_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_382_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_383_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_384_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_385_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_386_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_387_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_388_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_389_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_390_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_391_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_392_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_393_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_394_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_395_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_396_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_397_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_398_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_399_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_400_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_401_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_402_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_403_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_404_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_405_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_406_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_407_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_408_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_409_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_410_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_411_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_412_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_413_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_414_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_415_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_416_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_417_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_418_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_419_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_420_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_421_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_422_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_423_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_424_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_425_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_426_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_427_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_428_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_429_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_430_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_431_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_432_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_433_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_434_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_435_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_436_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_437_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_438_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_439_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_440_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_441_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_442_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_443_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_444_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_445_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_446_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_447_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_448_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_449_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_450_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_451_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_452_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_453_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_454_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_455_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_456_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_457_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_458_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_459_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_460_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_461_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_462_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_463_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_464_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_465_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_466_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_467_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_468_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_469_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_470_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_471_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_472_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_473_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_474_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_475_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_476_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_477_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_478_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_479_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_480_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_481_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_482_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_483_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_484_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_485_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_486_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_487_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_488_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_489_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_490_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_491_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_492_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_493_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_494_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_495_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_496_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_497_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_498_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_499_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_500_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_501_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_502_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_503_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_504_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_505_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_506_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_507_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_508_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_509_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_510_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_511_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_512_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_513_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_514_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_515_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_516_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_517_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_518_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_519_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_520_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_521_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_522_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_523_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_524_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_525_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_526_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_527_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_528_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_529_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_530_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_531_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_532_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_533_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_534_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_535_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_536_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_537_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_538_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_539_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_540_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_541_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_542_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_543_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_544_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_545_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_546_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_547_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_548_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_549_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_550_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_551_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_552_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_553_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_554_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_555_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_556_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_557_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_558_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_559_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_560_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_561_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_562_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_563_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_564_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_565_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_566_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_567_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_568_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_569_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_570_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_571_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_572_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_573_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_574_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_575_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_576_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_577_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_578_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_579_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_580_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_581_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_582_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_583_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_584_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_585_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_586_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_587_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_588_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_589_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_590_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_591_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_592_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_593_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_594_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_595_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_596_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_597_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_598_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_599_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_600_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_601_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_602_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_603_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_604_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_605_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_606_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_607_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_608_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_609_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_610_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_611_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_612_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_613_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_614_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_615_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_616_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_617_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_618_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_619_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_620_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_621_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_622_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_623_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_624_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_625_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_626_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_627_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_628_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_629_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_630_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_631_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_632_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_633_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_634_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_635_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_636_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_637_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_638_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_639_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_640_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_641_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_642_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_643_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_644_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_645_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_646_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_647_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_648_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_649_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_650_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_651_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_652_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_653_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_654_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_655_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_656_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_657_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_658_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_659_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_660_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_661_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_662_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_663_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_664_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_665_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_666_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_667_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_668_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_669_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_670_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_671_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_672_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_673_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_674_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_675_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_676_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_677_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_678_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_679_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_680_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_681_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_682_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_683_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_684_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_685_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_686_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_687_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_688_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_689_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_690_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_691_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_692_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_693_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_694_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_695_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_696_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_697_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_698_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_699_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_700_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_701_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_702_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_703_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_704_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_705_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_706_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_707_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_708_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_709_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_710_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_711_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_712_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_713_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_714_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_715_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_716_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_717_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_718_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_719_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_720_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_721_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_722_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_723_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_724_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_725_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_726_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_727_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_728_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_729_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_730_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_731_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_732_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_733_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_734_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_735_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_736_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_737_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_738_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_739_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_740_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_741_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_742_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_743_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_744_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_745_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_746_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_747_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_748_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_749_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_750_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_751_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_752_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_753_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_754_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_755_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_756_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_757_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_758_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_759_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_760_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_761_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_762_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_763_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_764_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_765_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_766_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_767_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_768_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_769_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_770_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_771_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_772_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_773_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_774_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_775_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_776_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_777_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_778_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_779_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_780_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_781_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_782_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_783_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_784_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_785_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_786_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_787_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_788_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_789_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_790_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_791_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_792_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_793_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_794_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_795_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_796_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_797_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_798_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_799_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_800_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_801_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_802_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_803_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_804_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_805_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_806_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_807_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_808_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_809_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_810_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_811_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_812_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_813_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_814_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_815_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_816_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_817_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_818_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_819_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_820_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_821_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_822_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_823_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_824_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_825_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_826_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_827_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_828_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_829_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_830_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_831_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_832_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_833_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_834_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_835_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_836_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_837_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_838_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_839_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_840_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_841_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_842_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_843_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_844_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_845_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_846_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_847_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_848_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_849_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_850_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_851_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_852_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_853_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_854_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_855_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_856_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_857_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_858_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_859_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_860_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_861_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_862_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_863_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_864_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_865_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_866_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_867_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_868_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_869_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_870_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_871_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_872_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_873_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_874_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_875_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_876_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_877_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_878_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_879_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_880_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_881_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_882_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_883_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_884_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_885_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_886_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_887_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_888_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_889_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_890_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_891_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_892_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_893_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_894_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_895_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_896_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_897_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_898_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_899_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_900_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_901_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_902_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_903_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_904_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_905_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_906_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_907_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_908_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_909_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_910_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_911_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_912_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_913_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_914_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_915_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_916_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_917_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_918_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_919_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_920_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_921_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_922_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_923_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_924_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_925_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_926_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_927_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_928_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_929_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_930_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_931_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_932_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_933_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_934_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_935_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_936_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_937_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_938_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_939_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_940_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_941_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_942_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_943_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_944_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_945_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_946_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_947_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_948_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_949_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_950_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_951_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_952_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_953_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_954_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_955_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_956_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_957_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_958_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_959_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_960_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_961_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_962_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_963_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_964_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_965_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_966_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_967_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_968_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_969_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_970_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_971_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_972_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_973_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_974_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_975_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_976_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_977_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_978_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_979_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_980_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_981_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_982_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_983_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_984_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_985_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_986_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_987_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_988_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_989_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_990_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_991_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_992_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_993_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_994_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_995_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_996_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_997_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_998_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_999_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1000_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1001_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1002_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1003_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1004_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1005_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1006_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1007_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1008_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1009_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1010_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1011_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1012_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1013_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1014_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1015_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1016_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1017_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1018_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1019_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1020_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1021_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1022_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  flags_1023_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  wire  accessRegisterCommandReg_postexec; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138817.4]
  wire [2:0] accessRegisterCommandReg_size; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138821.4]
  reg [31:0] abstractGeneratedMem_0; // @[Debug.scala 834:35:shc.marmotcaravel.MarmotCaravelConfig.fir@138830.4]
  reg [31:0] _RAND_79;
  reg [31:0] abstractGeneratedMem_1; // @[Debug.scala 834:35:shc.marmotcaravel.MarmotCaravelConfig.fir@138830.4]
  reg [31:0] _RAND_80;
  wire [15:0] _T_20934; // @[Debug.scala 840:66:shc.marmotcaravel.MarmotCaravelConfig.fir@138853.4]
  wire [4:0] abstractGeneratedI_rd; // @[Debug.scala 835:34:shc.marmotcaravel.MarmotCaravelConfig.fir@138831.4 Debug.scala 840:31:shc.marmotcaravel.MarmotCaravelConfig.fir@138854.4]
  wire [11:0] _T_20957; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138902.6]
  wire [19:0] _T_20959; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138904.6]
  wire [31:0] _T_20960; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138905.6]
  wire [7:0] _T_20961; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138906.6]
  wire [14:0] _T_20962; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138907.6]
  wire [11:0] _T_20963; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138908.6]
  wire [16:0] _T_20964; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138909.6]
  wire [31:0] _T_20965; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138910.6]
  wire [6:0] _T_20982; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138930.4]
  wire [7:0] _T_20983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138931.4]
  wire [7:0] _T_20985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138933.4]
  wire [7:0] _T_20987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138935.4]
  wire [7:0] _T_20989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138937.4]
  wire [7:0] _T_20991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138939.4]
  wire [7:0] _T_20993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138941.4]
  wire [7:0] _T_20995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138943.4]
  wire [7:0] _T_20997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138945.4]
  wire [7:0] _T_20999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138947.4]
  wire [7:0] _T_21001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138949.4]
  wire [7:0] _T_21003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138951.4]
  wire [7:0] _T_21005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138953.4]
  wire [7:0] _T_21007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138955.4]
  wire [7:0] _T_21009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138957.4]
  wire [7:0] _T_21011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138959.4]
  wire [7:0] _T_21013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138961.4]
  wire [7:0] _T_21015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138963.4]
  wire [7:0] _T_21017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138965.4]
  wire [7:0] _T_21019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138967.4]
  wire [7:0] _T_21021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138969.4]
  wire [7:0] _T_21023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138971.4]
  wire [7:0] _T_21025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138973.4]
  wire [7:0] _T_21027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138975.4]
  wire [7:0] _T_21029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138977.4]
  wire [7:0] _T_21031; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138979.4]
  wire [7:0] _T_21033; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138981.4]
  wire [7:0] _T_21035; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138983.4]
  wire [7:0] _T_21037; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138985.4]
  wire [7:0] _T_21039; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138987.4]
  wire [7:0] _T_21041; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138989.4]
  wire [7:0] _T_21043; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138991.4]
  wire [7:0] _T_21045; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138993.4]
  wire [7:0] _T_21047; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138995.4]
  wire [7:0] _T_21049; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138997.4]
  wire [7:0] _T_21051; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138999.4]
  wire [7:0] _T_21053; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139001.4]
  wire [7:0] _T_21055; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139003.4]
  wire [7:0] _T_21057; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139005.4]
  wire [7:0] _T_21059; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139007.4]
  wire [7:0] _T_21061; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139009.4]
  wire [7:0] _T_21063; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139011.4]
  wire [7:0] _T_21065; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139013.4]
  wire [7:0] _T_21067; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139015.4]
  wire [7:0] _T_21069; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139017.4]
  wire [7:0] _T_21071; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139019.4]
  wire [7:0] _T_21073; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139021.4]
  wire [7:0] _T_21075; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139023.4]
  wire [7:0] _T_21077; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139025.4]
  wire [7:0] _T_21079; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139027.4]
  wire [7:0] _T_21081; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139029.4]
  wire [7:0] _T_21083; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139031.4]
  wire [7:0] _T_21085; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139033.4]
  wire [7:0] _T_21087; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139035.4]
  wire [7:0] _T_21089; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139037.4]
  wire [7:0] _T_21091; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139039.4]
  wire [7:0] _T_21093; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139041.4]
  wire [7:0] _T_21095; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139043.4]
  wire [7:0] _T_21097; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139045.4]
  wire [7:0] _T_21099; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139047.4]
  wire [7:0] _T_21101; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139049.4]
  wire [7:0] _T_21103; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139051.4]
  wire [7:0] _T_21105; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139053.4]
  wire [7:0] _T_21107; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139055.4]
  wire [7:0] _T_21109; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139057.4]
  wire [7:0] _T_21111; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139059.4]
  wire [7:0] _T_21113; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139061.4]
  wire [7:0] _T_21115; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139063.4]
  wire [7:0] _T_21117; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139065.4]
  wire [7:0] _T_21119; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139067.4]
  wire [7:0] _T_21121; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139069.4]
  wire [7:0] _T_21123; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139071.4]
  wire [7:0] _T_21125; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139073.4]
  wire [7:0] _T_21127; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139075.4]
  wire [7:0] _T_21129; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139077.4]
  wire [7:0] _T_21131; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139079.4]
  wire [7:0] _T_21133; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139081.4]
  wire [7:0] _T_21135; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139083.4]
  wire [7:0] _T_21137; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139085.4]
  wire [7:0] _T_21139; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139087.4]
  wire [7:0] _T_21141; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139089.4]
  wire [7:0] _T_21143; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139091.4]
  wire [7:0] _T_21145; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139093.4]
  wire [7:0] _T_21147; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139095.4]
  wire [7:0] _T_21149; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139097.4]
  wire [7:0] _T_21151; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139099.4]
  wire [7:0] _T_21153; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139101.4]
  wire [7:0] _T_21155; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139103.4]
  wire [7:0] _T_21157; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139105.4]
  wire [7:0] _T_21159; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139107.4]
  wire [7:0] _T_21161; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139109.4]
  wire [7:0] _T_21163; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139111.4]
  wire [7:0] _T_21165; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139113.4]
  wire [7:0] _T_21167; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139115.4]
  wire [7:0] _T_21169; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139117.4]
  wire [7:0] _T_21171; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139119.4]
  wire [7:0] _T_21173; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139121.4]
  wire [7:0] _T_21175; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139123.4]
  wire [7:0] _T_21177; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139125.4]
  wire [7:0] _T_21179; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139127.4]
  wire [7:0] _T_21181; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139129.4]
  wire [7:0] _T_21183; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139131.4]
  wire [7:0] _T_21185; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139133.4]
  wire [7:0] _T_21187; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139135.4]
  wire [7:0] _T_21189; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139137.4]
  wire [7:0] _T_21191; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139139.4]
  wire [7:0] _T_21193; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139141.4]
  wire [7:0] _T_21195; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139143.4]
  wire [7:0] _T_21197; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139145.4]
  wire [7:0] _T_21199; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139147.4]
  wire [7:0] _T_21201; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139149.4]
  wire [7:0] _T_21203; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139151.4]
  wire [7:0] _T_21205; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139153.4]
  wire [7:0] _T_21207; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139155.4]
  wire [7:0] _T_21209; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139157.4]
  wire [7:0] _T_21211; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139159.4]
  wire [7:0] _T_21213; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139161.4]
  wire [7:0] _T_21215; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139163.4]
  wire [7:0] _T_21217; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139165.4]
  wire [7:0] _T_21219; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139167.4]
  wire [7:0] _T_21221; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139169.4]
  wire [7:0] _T_21223; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139171.4]
  wire [7:0] _T_21225; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139173.4]
  wire [7:0] _T_21227; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139175.4]
  wire [7:0] _T_21229; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139177.4]
  wire [7:0] _T_21231; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139179.4]
  wire [7:0] _T_21233; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139181.4]
  wire [7:0] _T_21235; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139183.4]
  wire [7:0] _T_21237; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139185.4]
  wire [7:0] _T_21239; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139187.4]
  wire [7:0] _T_21241; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139189.4]
  wire [7:0] _T_21243; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139191.4]
  wire [7:0] _T_21245; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139193.4]
  wire [7:0] _T_21247; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139195.4]
  wire [7:0] _T_21249; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139197.4]
  wire [7:0] _T_21251; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139199.4]
  wire [7:0] _T_21253; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139201.4]
  wire [7:0] _T_21255; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139203.4]
  wire [7:0] _T_21257; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139205.4]
  wire [7:0] _T_21259; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139207.4]
  wire [7:0] _T_21261; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139209.4]
  wire [7:0] _T_21263; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139211.4]
  wire [7:0] _T_21265; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139213.4]
  wire [7:0] _T_21267; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139215.4]
  wire [7:0] _T_21269; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139217.4]
  wire [7:0] _T_21271; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139219.4]
  wire [7:0] _T_21273; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139221.4]
  wire [7:0] _T_21275; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139223.4]
  wire [7:0] _T_21277; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139225.4]
  wire [7:0] _T_21279; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139227.4]
  wire [7:0] _T_21281; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139229.4]
  wire [7:0] _T_21283; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139231.4]
  wire [7:0] _T_21285; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139233.4]
  wire [7:0] _T_21287; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139235.4]
  wire [7:0] _T_21289; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139237.4]
  wire [7:0] _T_21291; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139239.4]
  wire [7:0] _T_21293; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139241.4]
  wire [7:0] _T_21295; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139243.4]
  wire [7:0] _T_21297; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139245.4]
  wire [7:0] _T_21299; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139247.4]
  wire [7:0] _T_21301; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139249.4]
  wire [7:0] _T_21303; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139251.4]
  wire [7:0] _T_21305; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139253.4]
  wire [7:0] _T_21307; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139255.4]
  wire [7:0] _T_21309; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139257.4]
  wire [7:0] _T_21311; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139259.4]
  wire [7:0] _T_21313; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139261.4]
  wire [7:0] _T_21315; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139263.4]
  wire [7:0] _T_21317; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139265.4]
  wire [7:0] _T_21319; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139267.4]
  wire [7:0] _T_21321; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139269.4]
  wire [7:0] _T_21323; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139271.4]
  wire [7:0] _T_21325; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139273.4]
  wire [7:0] _T_21327; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139275.4]
  wire [7:0] _T_21329; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139277.4]
  wire [7:0] _T_21331; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139279.4]
  wire [7:0] _T_21333; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139281.4]
  wire [7:0] _T_21335; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139283.4]
  wire [7:0] _T_21337; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139285.4]
  wire [7:0] _T_21339; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139287.4]
  wire [7:0] _T_21341; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139289.4]
  wire [7:0] _T_21343; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139291.4]
  wire [7:0] _T_21345; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139293.4]
  wire [7:0] _T_21347; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139295.4]
  wire [7:0] _T_21349; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139297.4]
  wire [7:0] _T_21351; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139299.4]
  wire [7:0] _T_21353; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139301.4]
  wire [7:0] _T_21355; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139303.4]
  wire [7:0] _T_21357; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139305.4]
  wire [7:0] _T_21359; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139307.4]
  wire [7:0] _T_21361; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139309.4]
  wire [7:0] _T_21363; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139311.4]
  wire [7:0] _T_21365; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139313.4]
  wire [7:0] _T_21367; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139315.4]
  wire [7:0] _T_21369; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139317.4]
  wire [7:0] _T_21371; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139319.4]
  wire [7:0] _T_21373; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139321.4]
  wire [7:0] _T_21375; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139323.4]
  wire [7:0] _T_21377; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139325.4]
  wire [7:0] _T_21379; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139327.4]
  wire [7:0] _T_21381; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139329.4]
  wire [7:0] _T_21383; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139331.4]
  wire [7:0] _T_21385; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139333.4]
  wire [7:0] _T_21387; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139335.4]
  wire [7:0] _T_21389; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139337.4]
  wire [7:0] _T_21391; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139339.4]
  wire [7:0] _T_21393; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139341.4]
  wire [7:0] _T_21395; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139343.4]
  wire [7:0] _T_21397; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139345.4]
  wire [7:0] _T_21399; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139347.4]
  wire [7:0] _T_21401; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139349.4]
  wire [7:0] _T_21403; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139351.4]
  wire [7:0] _T_21405; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139353.4]
  wire [7:0] _T_21407; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139355.4]
  wire [7:0] _T_21409; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139357.4]
  wire [7:0] _T_21411; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139359.4]
  wire [7:0] _T_21413; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139361.4]
  wire [7:0] _T_21415; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139363.4]
  wire [7:0] _T_21417; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139365.4]
  wire [7:0] _T_21419; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139367.4]
  wire [7:0] _T_21421; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139369.4]
  wire [7:0] _T_21423; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139371.4]
  wire [7:0] _T_21425; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139373.4]
  wire [7:0] _T_21427; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139375.4]
  wire [7:0] _T_21429; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139377.4]
  wire [7:0] _T_21431; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139379.4]
  wire [7:0] _T_21433; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139381.4]
  wire [7:0] _T_21435; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139383.4]
  wire [7:0] _T_21437; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139385.4]
  wire [7:0] _T_21439; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139387.4]
  wire [7:0] _T_21441; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139389.4]
  wire [7:0] _T_21443; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139391.4]
  wire [7:0] _T_21445; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139393.4]
  wire [7:0] _T_21447; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139395.4]
  wire [7:0] _T_21449; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139397.4]
  wire [7:0] _T_21451; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139399.4]
  wire [7:0] _T_21453; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139401.4]
  wire [7:0] _T_21455; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139403.4]
  wire [7:0] _T_21457; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139405.4]
  wire [7:0] _T_21459; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139407.4]
  wire [7:0] _T_21461; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139409.4]
  wire [7:0] _T_21463; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139411.4]
  wire [7:0] _T_21465; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139413.4]
  wire [7:0] _T_21467; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139415.4]
  wire [7:0] _T_21469; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139417.4]
  wire [7:0] _T_21471; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139419.4]
  wire [7:0] _T_21473; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139421.4]
  wire [7:0] _T_21475; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139423.4]
  wire [7:0] _T_21477; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139425.4]
  wire [7:0] _T_21479; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139427.4]
  wire [7:0] _T_21481; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139429.4]
  wire [7:0] _T_21483; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139431.4]
  wire [7:0] _T_21485; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139433.4]
  wire [7:0] _T_21487; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139435.4]
  wire [7:0] _T_21489; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139437.4]
  wire [7:0] _T_21491; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139439.4]
  wire [7:0] _T_21493; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139441.4]
  wire [7:0] _T_21495; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139443.4]
  wire [7:0] _T_21497; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139445.4]
  wire [7:0] _T_21499; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139447.4]
  wire [7:0] _T_21501; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139449.4]
  wire [7:0] _T_21503; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139451.4]
  wire [7:0] _T_21505; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139453.4]
  wire [7:0] _T_21507; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139455.4]
  wire [7:0] _T_21509; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139457.4]
  wire [7:0] _T_21511; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139459.4]
  wire [7:0] _T_21513; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139461.4]
  wire [7:0] _T_21515; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139463.4]
  wire [7:0] _T_21517; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139465.4]
  wire [7:0] _T_21519; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139467.4]
  wire [7:0] _T_21521; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139469.4]
  wire [7:0] _T_21523; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139471.4]
  wire [7:0] _T_21525; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139473.4]
  wire [7:0] _T_21527; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139475.4]
  wire [7:0] _T_21529; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139477.4]
  wire [7:0] _T_21531; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139479.4]
  wire [7:0] _T_21533; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139481.4]
  wire [7:0] _T_21535; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139483.4]
  wire [7:0] _T_21537; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139485.4]
  wire [7:0] _T_21539; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139487.4]
  wire [7:0] _T_21541; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139489.4]
  wire [7:0] _T_21543; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139491.4]
  wire [7:0] _T_21545; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139493.4]
  wire [7:0] _T_21547; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139495.4]
  wire [7:0] _T_21549; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139497.4]
  wire [7:0] _T_21551; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139499.4]
  wire [7:0] _T_21553; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139501.4]
  wire [7:0] _T_21555; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139503.4]
  wire [7:0] _T_21557; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139505.4]
  wire [7:0] _T_21559; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139507.4]
  wire [7:0] _T_21561; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139509.4]
  wire [7:0] _T_21563; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139511.4]
  wire [7:0] _T_21565; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139513.4]
  wire [7:0] _T_21567; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139515.4]
  wire [7:0] _T_21569; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139517.4]
  wire [7:0] _T_21571; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139519.4]
  wire [7:0] _T_21573; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139521.4]
  wire [7:0] _T_21575; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139523.4]
  wire [7:0] _T_21577; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139525.4]
  wire [7:0] _T_21579; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139527.4]
  wire [7:0] _T_21581; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139529.4]
  wire [7:0] _T_21583; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139531.4]
  wire [7:0] _T_21585; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139533.4]
  wire [7:0] _T_21587; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139535.4]
  wire [7:0] _T_21589; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139537.4]
  wire [7:0] _T_21591; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139539.4]
  wire [7:0] _T_21593; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139541.4]
  wire [7:0] _T_21595; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139543.4]
  wire [7:0] _T_21597; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139545.4]
  wire [7:0] _T_21599; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139547.4]
  wire [7:0] _T_21601; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139549.4]
  wire [7:0] _T_21603; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139551.4]
  wire [7:0] _T_21605; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139553.4]
  wire [7:0] _T_21607; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139555.4]
  wire [7:0] _T_21609; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139557.4]
  wire [7:0] _T_21611; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139559.4]
  wire [7:0] _T_21613; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139561.4]
  wire [7:0] _T_21615; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139563.4]
  wire [7:0] _T_21617; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139565.4]
  wire [7:0] _T_21619; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139567.4]
  wire [7:0] _T_21621; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139569.4]
  wire [7:0] _T_21623; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139571.4]
  wire [7:0] _T_21625; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139573.4]
  wire [7:0] _T_21627; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139575.4]
  wire [7:0] _T_21629; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139577.4]
  wire [7:0] _T_21631; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139579.4]
  wire [7:0] _T_21633; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139581.4]
  wire [7:0] _T_21635; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139583.4]
  wire [7:0] _T_21637; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139585.4]
  wire [7:0] _T_21639; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139587.4]
  wire [7:0] _T_21641; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139589.4]
  wire [7:0] _T_21643; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139591.4]
  wire [7:0] _T_21645; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139593.4]
  wire [7:0] _T_21647; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139595.4]
  wire [7:0] _T_21649; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139597.4]
  wire [7:0] _T_21651; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139599.4]
  wire [7:0] _T_21653; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139601.4]
  wire [7:0] _T_21655; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139603.4]
  wire [7:0] _T_21657; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139605.4]
  wire [7:0] _T_21659; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139607.4]
  wire [7:0] _T_21661; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139609.4]
  wire [7:0] _T_21663; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139611.4]
  wire [7:0] _T_21665; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139613.4]
  wire [7:0] _T_21667; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139615.4]
  wire [7:0] _T_21669; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139617.4]
  wire [7:0] _T_21671; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139619.4]
  wire [7:0] _T_21673; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139621.4]
  wire [7:0] _T_21675; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139623.4]
  wire [7:0] _T_21677; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139625.4]
  wire [7:0] _T_21679; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139627.4]
  wire [7:0] _T_21681; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139629.4]
  wire [7:0] _T_21683; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139631.4]
  wire [7:0] _T_21685; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139633.4]
  wire [7:0] _T_21687; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139635.4]
  wire [7:0] _T_21689; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139637.4]
  wire [7:0] _T_21691; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139639.4]
  wire [7:0] _T_21693; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139641.4]
  wire [7:0] _T_21695; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139643.4]
  wire [7:0] _T_21697; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139645.4]
  wire [7:0] _T_21699; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139647.4]
  wire [7:0] _T_21701; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139649.4]
  wire [7:0] _T_21703; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139651.4]
  wire [7:0] _T_21705; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139653.4]
  wire [7:0] _T_21707; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139655.4]
  wire [7:0] _T_21709; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139657.4]
  wire [7:0] _T_21711; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139659.4]
  wire [7:0] _T_21713; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139661.4]
  wire [7:0] _T_21715; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139663.4]
  wire [7:0] _T_21717; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139665.4]
  wire [7:0] _T_21719; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139667.4]
  wire [7:0] _T_21721; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139669.4]
  wire [7:0] _T_21723; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139671.4]
  wire [7:0] _T_21725; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139673.4]
  wire [7:0] _T_21727; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139675.4]
  wire [7:0] _T_21729; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139677.4]
  wire [7:0] _T_21731; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139679.4]
  wire [7:0] _T_21733; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139681.4]
  wire [7:0] _T_21735; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139683.4]
  wire [7:0] _T_21737; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139685.4]
  wire [7:0] _T_21739; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139687.4]
  wire [7:0] _T_21741; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139689.4]
  wire [7:0] _T_21743; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139691.4]
  wire [7:0] _T_21745; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139693.4]
  wire [7:0] _T_21747; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139695.4]
  wire [7:0] _T_21749; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139697.4]
  wire [7:0] _T_21751; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139699.4]
  wire [7:0] _T_21753; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139701.4]
  wire [7:0] _T_21755; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139703.4]
  wire [7:0] _T_21757; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139705.4]
  wire [7:0] _T_21759; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139707.4]
  wire [7:0] _T_21761; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139709.4]
  wire [7:0] _T_21763; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139711.4]
  wire [7:0] _T_21765; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139713.4]
  wire [7:0] _T_21767; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139715.4]
  wire [7:0] _T_21769; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139717.4]
  wire [7:0] _T_21771; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139719.4]
  wire [7:0] _T_21773; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139721.4]
  wire [7:0] _T_21775; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139723.4]
  wire [7:0] _T_21777; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139725.4]
  wire [7:0] _T_21779; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139727.4]
  wire [7:0] _T_21781; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139729.4]
  wire [7:0] _T_21783; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139731.4]
  wire [7:0] _T_21785; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139733.4]
  wire [7:0] _T_21787; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139735.4]
  wire [7:0] _T_21789; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139737.4]
  wire [7:0] _T_21791; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139739.4]
  wire [7:0] _T_21793; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139741.4]
  wire [7:0] _T_21795; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139743.4]
  wire [7:0] _T_21797; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139745.4]
  wire [7:0] _T_21799; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139747.4]
  wire [7:0] _T_21801; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139749.4]
  wire [7:0] _T_21803; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139751.4]
  wire [7:0] _T_21805; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139753.4]
  wire [7:0] _T_21807; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139755.4]
  wire [7:0] _T_21809; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139757.4]
  wire [7:0] _T_21811; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139759.4]
  wire [7:0] _T_21813; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139761.4]
  wire [7:0] _T_21815; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139763.4]
  wire [7:0] _T_21817; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139765.4]
  wire [7:0] _T_21819; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139767.4]
  wire [7:0] _T_21821; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139769.4]
  wire [7:0] _T_21823; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139771.4]
  wire [7:0] _T_21825; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139773.4]
  wire [7:0] _T_21827; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139775.4]
  wire [7:0] _T_21829; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139777.4]
  wire [7:0] _T_21831; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139779.4]
  wire [7:0] _T_21833; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139781.4]
  wire [7:0] _T_21835; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139783.4]
  wire [7:0] _T_21837; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139785.4]
  wire [7:0] _T_21839; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139787.4]
  wire [7:0] _T_21841; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139789.4]
  wire [7:0] _T_21843; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139791.4]
  wire [7:0] _T_21845; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139793.4]
  wire [7:0] _T_21847; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139795.4]
  wire [7:0] _T_21849; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139797.4]
  wire [7:0] _T_21851; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139799.4]
  wire [7:0] _T_21853; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139801.4]
  wire [7:0] _T_21855; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139803.4]
  wire [7:0] _T_21857; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139805.4]
  wire [7:0] _T_21859; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139807.4]
  wire [7:0] _T_21861; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139809.4]
  wire [7:0] _T_21863; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139811.4]
  wire [7:0] _T_21865; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139813.4]
  wire [7:0] _T_21867; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139815.4]
  wire [7:0] _T_21869; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139817.4]
  wire [7:0] _T_21871; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139819.4]
  wire [7:0] _T_21873; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139821.4]
  wire [7:0] _T_21875; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139823.4]
  wire [7:0] _T_21877; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139825.4]
  wire [7:0] _T_21879; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139827.4]
  wire [7:0] _T_21881; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139829.4]
  wire [7:0] _T_21883; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139831.4]
  wire [7:0] _T_21885; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139833.4]
  wire [7:0] _T_21887; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139835.4]
  wire [7:0] _T_21889; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139837.4]
  wire [7:0] _T_21891; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139839.4]
  wire [7:0] _T_21893; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139841.4]
  wire [7:0] _T_21895; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139843.4]
  wire [7:0] _T_21897; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139845.4]
  wire [7:0] _T_21899; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139847.4]
  wire [7:0] _T_21901; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139849.4]
  wire [7:0] _T_21903; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139851.4]
  wire [7:0] _T_21905; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139853.4]
  wire [7:0] _T_21907; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139855.4]
  wire [7:0] _T_21909; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139857.4]
  wire [7:0] _T_21911; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139859.4]
  wire [7:0] _T_21913; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139861.4]
  wire [7:0] _T_21915; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139863.4]
  wire [7:0] _T_21917; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139865.4]
  wire [7:0] _T_21919; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139867.4]
  wire [7:0] _T_21921; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139869.4]
  wire [7:0] _T_21923; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139871.4]
  wire [7:0] _T_21925; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139873.4]
  wire [7:0] _T_21927; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139875.4]
  wire [7:0] _T_21929; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139877.4]
  wire [7:0] _T_21931; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139879.4]
  wire [7:0] _T_21933; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139881.4]
  wire [7:0] _T_21935; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139883.4]
  wire [7:0] _T_21937; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139885.4]
  wire [7:0] _T_21939; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139887.4]
  wire [7:0] _T_21941; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139889.4]
  wire [7:0] _T_21943; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139891.4]
  wire [7:0] _T_21945; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139893.4]
  wire [7:0] _T_21947; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139895.4]
  wire [7:0] _T_21949; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139897.4]
  wire [7:0] _T_21951; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139899.4]
  wire [7:0] _T_21953; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139901.4]
  wire [7:0] _T_21955; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139903.4]
  wire [7:0] _T_21957; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139905.4]
  wire [7:0] _T_21959; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139907.4]
  wire [7:0] _T_21961; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139909.4]
  wire [7:0] _T_21963; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139911.4]
  wire [7:0] _T_21965; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139913.4]
  wire [7:0] _T_21967; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139915.4]
  wire [7:0] _T_21969; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139917.4]
  wire [7:0] _T_21971; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139919.4]
  wire [7:0] _T_21973; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139921.4]
  wire [7:0] _T_21975; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139923.4]
  wire [7:0] _T_21977; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139925.4]
  wire [7:0] _T_21979; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139927.4]
  wire [7:0] _T_21981; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139929.4]
  wire [7:0] _T_21983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139931.4]
  wire [7:0] _T_21985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139933.4]
  wire [7:0] _T_21987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139935.4]
  wire [7:0] _T_21989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139937.4]
  wire [7:0] _T_21991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139939.4]
  wire [7:0] _T_21993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139941.4]
  wire [7:0] _T_21995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139943.4]
  wire [7:0] _T_21997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139945.4]
  wire [7:0] _T_21999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139947.4]
  wire [7:0] _T_22001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139949.4]
  wire [7:0] _T_22003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139951.4]
  wire [7:0] _T_22005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139953.4]
  wire [7:0] _T_22007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139955.4]
  wire [7:0] _T_22009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139957.4]
  wire [7:0] _T_22011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139959.4]
  wire [7:0] _T_22013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139961.4]
  wire [7:0] _T_22015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139963.4]
  wire [7:0] _T_22017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139965.4]
  wire [7:0] _T_22019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139967.4]
  wire [7:0] _T_22021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139969.4]
  wire [7:0] _T_22023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139971.4]
  wire [7:0] _T_22025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139973.4]
  wire [7:0] _T_22027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139975.4]
  wire [7:0] _T_22029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139977.4]
  wire [7:0] _T_22031; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139979.4]
  wire [7:0] _T_22033; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139981.4]
  wire [7:0] _T_22035; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139983.4]
  wire [7:0] _T_22037; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139985.4]
  wire [7:0] _T_22039; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139987.4]
  wire [7:0] _T_22041; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139989.4]
  wire [7:0] _T_22043; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139991.4]
  wire [7:0] _T_22045; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139993.4]
  wire [7:0] _T_22047; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139995.4]
  wire [7:0] _T_22049; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139997.4]
  wire [7:0] _T_22051; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139999.4]
  wire [7:0] _T_22053; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140001.4]
  wire [7:0] _T_22055; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140003.4]
  wire [7:0] _T_22057; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140005.4]
  wire [7:0] _T_22059; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140007.4]
  wire [7:0] _T_22061; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140009.4]
  wire [7:0] _T_22063; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140011.4]
  wire [7:0] _T_22065; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140013.4]
  wire [7:0] _T_22067; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140015.4]
  wire [7:0] _T_22069; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140017.4]
  wire [7:0] _T_22071; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140019.4]
  wire [7:0] _T_22073; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140021.4]
  wire [7:0] _T_22075; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140023.4]
  wire [7:0] _T_22077; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140025.4]
  wire [7:0] _T_22079; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140027.4]
  wire [7:0] _T_22081; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140029.4]
  wire [7:0] _T_22083; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140031.4]
  wire [7:0] _T_22085; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140033.4]
  wire [7:0] _T_22087; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140035.4]
  wire [7:0] _T_22089; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140037.4]
  wire [7:0] _T_22091; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140039.4]
  wire [7:0] _T_22093; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140041.4]
  wire [7:0] _T_22095; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140043.4]
  wire [7:0] _T_22097; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140045.4]
  wire [7:0] _T_22099; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140047.4]
  wire [7:0] _T_22101; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140049.4]
  wire [7:0] _T_22103; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140051.4]
  wire [7:0] _T_22105; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140053.4]
  wire [7:0] _T_22107; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140055.4]
  wire [7:0] _T_22109; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140057.4]
  wire [7:0] _T_22111; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140059.4]
  wire [7:0] _T_22113; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140061.4]
  wire [7:0] _T_22115; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140063.4]
  wire [7:0] _T_22117; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140065.4]
  wire [7:0] _T_22119; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140067.4]
  wire [7:0] _T_22121; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140069.4]
  wire [7:0] _T_22123; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140071.4]
  wire [7:0] _T_22125; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140073.4]
  wire [7:0] _T_22127; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140075.4]
  wire [7:0] _T_22129; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140077.4]
  wire [7:0] _T_22131; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140079.4]
  wire [7:0] _T_22133; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140081.4]
  wire [7:0] _T_22135; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140083.4]
  wire [7:0] _T_22137; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140085.4]
  wire [7:0] _T_22139; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140087.4]
  wire [7:0] _T_22141; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140089.4]
  wire [7:0] _T_22143; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140091.4]
  wire [7:0] _T_22145; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140093.4]
  wire [7:0] _T_22147; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140095.4]
  wire [7:0] _T_22149; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140097.4]
  wire [7:0] _T_22151; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140099.4]
  wire [7:0] _T_22153; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140101.4]
  wire [7:0] _T_22155; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140103.4]
  wire [7:0] _T_22157; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140105.4]
  wire [7:0] _T_22159; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140107.4]
  wire [7:0] _T_22161; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140109.4]
  wire [7:0] _T_22163; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140111.4]
  wire [7:0] _T_22165; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140113.4]
  wire [7:0] _T_22167; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140115.4]
  wire [7:0] _T_22169; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140117.4]
  wire [7:0] _T_22171; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140119.4]
  wire [7:0] _T_22173; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140121.4]
  wire [7:0] _T_22175; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140123.4]
  wire [7:0] _T_22177; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140125.4]
  wire [7:0] _T_22179; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140127.4]
  wire [7:0] _T_22181; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140129.4]
  wire [7:0] _T_22183; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140131.4]
  wire [7:0] _T_22185; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140133.4]
  wire [7:0] _T_22187; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140135.4]
  wire [7:0] _T_22189; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140137.4]
  wire [7:0] _T_22191; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140139.4]
  wire [7:0] _T_22193; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140141.4]
  wire [7:0] _T_22195; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140143.4]
  wire [7:0] _T_22197; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140145.4]
  wire [7:0] _T_22199; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140147.4]
  wire [7:0] _T_22201; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140149.4]
  wire [7:0] _T_22203; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140151.4]
  wire [7:0] _T_22205; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140153.4]
  wire [7:0] _T_22207; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140155.4]
  wire [7:0] _T_22209; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140157.4]
  wire [7:0] _T_22211; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140159.4]
  wire [7:0] _T_22213; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140161.4]
  wire [7:0] _T_22215; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140163.4]
  wire [7:0] _T_22217; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140165.4]
  wire [7:0] _T_22219; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140167.4]
  wire [7:0] _T_22221; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140169.4]
  wire [7:0] _T_22223; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140171.4]
  wire [7:0] _T_22225; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140173.4]
  wire [7:0] _T_22227; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140175.4]
  wire [7:0] _T_22229; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140177.4]
  wire [7:0] _T_22231; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140179.4]
  wire [7:0] _T_22233; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140181.4]
  wire [7:0] _T_22235; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140183.4]
  wire [7:0] _T_22237; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140185.4]
  wire [7:0] _T_22239; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140187.4]
  wire [7:0] _T_22241; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140189.4]
  wire [7:0] _T_22243; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140191.4]
  wire [7:0] _T_22245; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140193.4]
  wire [7:0] _T_22247; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140195.4]
  wire [7:0] _T_22249; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140197.4]
  wire [7:0] _T_22251; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140199.4]
  wire [7:0] _T_22253; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140201.4]
  wire [7:0] _T_22255; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140203.4]
  wire [7:0] _T_22257; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140205.4]
  wire [7:0] _T_22259; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140207.4]
  wire [7:0] _T_22261; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140209.4]
  wire [7:0] _T_22263; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140211.4]
  wire [7:0] _T_22265; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140213.4]
  wire [7:0] _T_22267; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140215.4]
  wire [7:0] _T_22269; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140217.4]
  wire [7:0] _T_22271; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140219.4]
  wire [7:0] _T_22273; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140221.4]
  wire [7:0] _T_22275; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140223.4]
  wire [7:0] _T_22277; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140225.4]
  wire [7:0] _T_22279; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140227.4]
  wire [7:0] _T_22281; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140229.4]
  wire [7:0] _T_22283; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140231.4]
  wire [7:0] _T_22285; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140233.4]
  wire [7:0] _T_22287; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140235.4]
  wire [7:0] _T_22289; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140237.4]
  wire [7:0] _T_22291; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140239.4]
  wire [7:0] _T_22293; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140241.4]
  wire [7:0] _T_22295; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140243.4]
  wire [7:0] _T_22297; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140245.4]
  wire [7:0] _T_22299; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140247.4]
  wire [7:0] _T_22301; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140249.4]
  wire [7:0] _T_22303; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140251.4]
  wire [7:0] _T_22305; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140253.4]
  wire [7:0] _T_22307; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140255.4]
  wire [7:0] _T_22309; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140257.4]
  wire [7:0] _T_22311; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140259.4]
  wire [7:0] _T_22313; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140261.4]
  wire [7:0] _T_22315; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140263.4]
  wire [7:0] _T_22317; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140265.4]
  wire [7:0] _T_22319; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140267.4]
  wire [7:0] _T_22321; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140269.4]
  wire [7:0] _T_22323; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140271.4]
  wire [7:0] _T_22325; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140273.4]
  wire [7:0] _T_22327; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140275.4]
  wire [7:0] _T_22329; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140277.4]
  wire [7:0] _T_22331; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140279.4]
  wire [7:0] _T_22333; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140281.4]
  wire [7:0] _T_22335; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140283.4]
  wire [7:0] _T_22337; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140285.4]
  wire [7:0] _T_22339; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140287.4]
  wire [7:0] _T_22341; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140289.4]
  wire [7:0] _T_22343; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140291.4]
  wire [7:0] _T_22345; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140293.4]
  wire [7:0] _T_22347; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140295.4]
  wire [7:0] _T_22349; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140297.4]
  wire [7:0] _T_22351; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140299.4]
  wire [7:0] _T_22353; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140301.4]
  wire [7:0] _T_22355; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140303.4]
  wire [7:0] _T_22357; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140305.4]
  wire [7:0] _T_22359; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140307.4]
  wire [7:0] _T_22361; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140309.4]
  wire [7:0] _T_22363; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140311.4]
  wire [7:0] _T_22365; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140313.4]
  wire [7:0] _T_22367; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140315.4]
  wire [7:0] _T_22369; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140317.4]
  wire [7:0] _T_22371; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140319.4]
  wire [7:0] _T_22373; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140321.4]
  wire [7:0] _T_22375; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140323.4]
  wire [7:0] _T_22377; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140325.4]
  wire [7:0] _T_22379; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140327.4]
  wire [7:0] _T_22381; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140329.4]
  wire [7:0] _T_22383; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140331.4]
  wire [7:0] _T_22385; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140333.4]
  wire [7:0] _T_22387; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140335.4]
  wire [7:0] _T_22389; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140337.4]
  wire [7:0] _T_22391; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140339.4]
  wire [7:0] _T_22393; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140341.4]
  wire [7:0] _T_22395; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140343.4]
  wire [7:0] _T_22397; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140345.4]
  wire [7:0] _T_22399; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140347.4]
  wire [7:0] _T_22401; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140349.4]
  wire [7:0] _T_22403; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140351.4]
  wire [7:0] _T_22405; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140353.4]
  wire [7:0] _T_22407; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140355.4]
  wire [7:0] _T_22409; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140357.4]
  wire [7:0] _T_22411; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140359.4]
  wire [7:0] _T_22413; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140361.4]
  wire [7:0] _T_22415; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140363.4]
  wire [7:0] _T_22417; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140365.4]
  wire [7:0] _T_22419; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140367.4]
  wire [7:0] _T_22421; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140369.4]
  wire [7:0] _T_22423; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140371.4]
  wire [7:0] _T_22425; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140373.4]
  wire [7:0] _T_22427; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140375.4]
  wire [7:0] _T_22429; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140377.4]
  wire [7:0] _T_22431; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140379.4]
  wire [7:0] _T_22433; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140381.4]
  wire [7:0] _T_22435; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140383.4]
  wire [7:0] _T_22437; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140385.4]
  wire [7:0] _T_22439; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140387.4]
  wire [7:0] _T_22441; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140389.4]
  wire [7:0] _T_22443; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140391.4]
  wire [7:0] _T_22445; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140393.4]
  wire [7:0] _T_22447; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140395.4]
  wire [7:0] _T_22449; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140397.4]
  wire [7:0] _T_22451; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140399.4]
  wire [7:0] _T_22453; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140401.4]
  wire [7:0] _T_22455; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140403.4]
  wire [7:0] _T_22457; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140405.4]
  wire [7:0] _T_22459; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140407.4]
  wire [7:0] _T_22461; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140409.4]
  wire [7:0] _T_22463; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140411.4]
  wire [7:0] _T_22465; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140413.4]
  wire [7:0] _T_22467; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140415.4]
  wire [7:0] _T_22469; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140417.4]
  wire [7:0] _T_22471; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140419.4]
  wire [7:0] _T_22473; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140421.4]
  wire [7:0] _T_22475; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140423.4]
  wire [7:0] _T_22477; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140425.4]
  wire [7:0] _T_22479; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140427.4]
  wire [7:0] _T_22481; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140429.4]
  wire [7:0] _T_22483; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140431.4]
  wire [7:0] _T_22485; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140433.4]
  wire [7:0] _T_22487; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140435.4]
  wire [7:0] _T_22489; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140437.4]
  wire [7:0] _T_22491; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140439.4]
  wire [7:0] _T_22493; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140441.4]
  wire [7:0] _T_22495; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140443.4]
  wire [7:0] _T_22497; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140445.4]
  wire [7:0] _T_22499; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140447.4]
  wire [7:0] _T_22501; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140449.4]
  wire [7:0] _T_22503; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140451.4]
  wire [7:0] _T_22505; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140453.4]
  wire [7:0] _T_22507; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140455.4]
  wire [7:0] _T_22509; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140457.4]
  wire [7:0] _T_22511; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140459.4]
  wire [7:0] _T_22513; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140461.4]
  wire [7:0] _T_22515; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140463.4]
  wire [7:0] _T_22517; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140465.4]
  wire [7:0] _T_22519; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140467.4]
  wire [7:0] _T_22521; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140469.4]
  wire [7:0] _T_22523; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140471.4]
  wire [7:0] _T_22525; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140473.4]
  wire [7:0] _T_22527; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140475.4]
  wire [7:0] _T_22529; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140477.4]
  wire [7:0] _T_22531; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140479.4]
  wire [7:0] _T_22533; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140481.4]
  wire [7:0] _T_22535; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140483.4]
  wire [7:0] _T_22537; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140485.4]
  wire [7:0] _T_22539; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140487.4]
  wire [7:0] _T_22541; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140489.4]
  wire [7:0] _T_22543; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140491.4]
  wire [7:0] _T_22545; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140493.4]
  wire [7:0] _T_22547; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140495.4]
  wire [7:0] _T_22549; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140497.4]
  wire [7:0] _T_22551; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140499.4]
  wire [7:0] _T_22553; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140501.4]
  wire [7:0] _T_22555; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140503.4]
  wire [7:0] _T_22557; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140505.4]
  wire [7:0] _T_22559; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140507.4]
  wire [7:0] _T_22561; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140509.4]
  wire [7:0] _T_22563; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140511.4]
  wire [7:0] _T_22565; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140513.4]
  wire [7:0] _T_22567; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140515.4]
  wire [7:0] _T_22569; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140517.4]
  wire [7:0] _T_22571; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140519.4]
  wire [7:0] _T_22573; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140521.4]
  wire [7:0] _T_22575; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140523.4]
  wire [7:0] _T_22577; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140525.4]
  wire [7:0] _T_22579; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140527.4]
  wire [7:0] _T_22581; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140529.4]
  wire [7:0] _T_22583; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140531.4]
  wire [7:0] _T_22585; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140533.4]
  wire [7:0] _T_22587; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140535.4]
  wire [7:0] _T_22589; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140537.4]
  wire [7:0] _T_22591; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140539.4]
  wire [7:0] _T_22593; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140541.4]
  wire [7:0] _T_22595; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140543.4]
  wire [7:0] _T_22597; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140545.4]
  wire [7:0] _T_22599; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140547.4]
  wire [7:0] _T_22601; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140549.4]
  wire [7:0] _T_22603; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140551.4]
  wire [7:0] _T_22605; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140553.4]
  wire [7:0] _T_22607; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140555.4]
  wire [7:0] _T_22609; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140557.4]
  wire [7:0] _T_22611; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140559.4]
  wire [7:0] _T_22613; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140561.4]
  wire [7:0] _T_22615; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140563.4]
  wire [7:0] _T_22617; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140565.4]
  wire [7:0] _T_22619; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140567.4]
  wire [7:0] _T_22621; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140569.4]
  wire [7:0] _T_22623; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140571.4]
  wire [7:0] _T_22625; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140573.4]
  wire [7:0] _T_22627; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140575.4]
  wire [7:0] _T_22629; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140577.4]
  wire [7:0] _T_22631; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140579.4]
  wire [7:0] _T_22633; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140581.4]
  wire [7:0] _T_22635; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140583.4]
  wire [7:0] _T_22637; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140585.4]
  wire [7:0] _T_22639; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140587.4]
  wire [7:0] _T_22641; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140589.4]
  wire [7:0] _T_22643; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140591.4]
  wire [7:0] _T_22645; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140593.4]
  wire [7:0] _T_22647; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140595.4]
  wire [7:0] _T_22649; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140597.4]
  wire [7:0] _T_22651; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140599.4]
  wire [7:0] _T_22653; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140601.4]
  wire [7:0] _T_22655; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140603.4]
  wire [7:0] _T_22657; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140605.4]
  wire [7:0] _T_22659; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140607.4]
  wire [7:0] _T_22661; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140609.4]
  wire [7:0] _T_22663; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140611.4]
  wire [7:0] _T_22665; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140613.4]
  wire [7:0] _T_22667; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140615.4]
  wire [7:0] _T_22669; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140617.4]
  wire [7:0] _T_22671; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140619.4]
  wire [7:0] _T_22673; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140621.4]
  wire [7:0] _T_22675; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140623.4]
  wire [7:0] _T_22677; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140625.4]
  wire [7:0] _T_22679; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140627.4]
  wire [7:0] _T_22681; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140629.4]
  wire [7:0] _T_22683; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140631.4]
  wire [7:0] _T_22685; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140633.4]
  wire [7:0] _T_22687; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140635.4]
  wire [7:0] _T_22689; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140637.4]
  wire [7:0] _T_22691; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140639.4]
  wire [7:0] _T_22693; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140641.4]
  wire [7:0] _T_22695; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140643.4]
  wire [7:0] _T_22697; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140645.4]
  wire [7:0] _T_22699; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140647.4]
  wire [7:0] _T_22701; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140649.4]
  wire [7:0] _T_22703; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140651.4]
  wire [7:0] _T_22705; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140653.4]
  wire [7:0] _T_22707; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140655.4]
  wire [7:0] _T_22709; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140657.4]
  wire [7:0] _T_22711; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140659.4]
  wire [7:0] _T_22713; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140661.4]
  wire [7:0] _T_22715; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140663.4]
  wire [7:0] _T_22717; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140665.4]
  wire [7:0] _T_22719; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140667.4]
  wire [7:0] _T_22721; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140669.4]
  wire [7:0] _T_22723; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140671.4]
  wire [7:0] _T_22725; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140673.4]
  wire [7:0] _T_22727; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140675.4]
  wire [7:0] _T_22729; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140677.4]
  wire [7:0] _T_22731; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140679.4]
  wire [7:0] _T_22733; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140681.4]
  wire [7:0] _T_22735; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140683.4]
  wire [7:0] _T_22737; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140685.4]
  wire [7:0] _T_22739; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140687.4]
  wire [7:0] _T_22741; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140689.4]
  wire [7:0] _T_22743; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140691.4]
  wire [7:0] _T_22745; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140693.4]
  wire [7:0] _T_22747; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140695.4]
  wire [7:0] _T_22749; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140697.4]
  wire [7:0] _T_22751; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140699.4]
  wire [7:0] _T_22753; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140701.4]
  wire [7:0] _T_22755; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140703.4]
  wire [7:0] _T_22757; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140705.4]
  wire [7:0] _T_22759; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140707.4]
  wire [7:0] _T_22761; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140709.4]
  wire [7:0] _T_22763; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140711.4]
  wire [7:0] _T_22765; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140713.4]
  wire [7:0] _T_22767; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140715.4]
  wire [7:0] _T_22769; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140717.4]
  wire [7:0] _T_22771; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140719.4]
  wire [7:0] _T_22773; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140721.4]
  wire [7:0] _T_22775; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140723.4]
  wire [7:0] _T_22777; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140725.4]
  wire [7:0] _T_22779; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140727.4]
  wire [7:0] _T_22781; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140729.4]
  wire [7:0] _T_22783; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140731.4]
  wire [7:0] _T_22785; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140733.4]
  wire [7:0] _T_22787; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140735.4]
  wire [7:0] _T_22789; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140737.4]
  wire [7:0] _T_22791; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140739.4]
  wire [7:0] _T_22793; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140741.4]
  wire [7:0] _T_22795; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140743.4]
  wire [7:0] _T_22797; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140745.4]
  wire [7:0] _T_22799; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140747.4]
  wire [7:0] _T_22801; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140749.4]
  wire [7:0] _T_22803; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140751.4]
  wire [7:0] _T_22805; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140753.4]
  wire [7:0] _T_22807; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140755.4]
  wire [7:0] _T_22809; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140757.4]
  wire [7:0] _T_22811; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140759.4]
  wire [7:0] _T_22813; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140761.4]
  wire [7:0] _T_22815; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140763.4]
  wire [7:0] _T_22817; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140765.4]
  wire [7:0] _T_22819; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140767.4]
  wire [7:0] _T_22821; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140769.4]
  wire [7:0] _T_22823; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140771.4]
  wire [7:0] _T_22825; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140773.4]
  wire [7:0] _T_22827; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140775.4]
  wire [7:0] _T_22829; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140777.4]
  wire [7:0] _T_22831; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140779.4]
  wire [7:0] _T_22833; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140781.4]
  wire [7:0] _T_22835; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140783.4]
  wire [7:0] _T_22837; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140785.4]
  wire [7:0] _T_22839; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140787.4]
  wire [7:0] _T_22841; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140789.4]
  wire [7:0] _T_22843; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140791.4]
  wire [7:0] _T_22845; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140793.4]
  wire [7:0] _T_22847; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140795.4]
  wire [7:0] _T_22849; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140797.4]
  wire [7:0] _T_22851; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140799.4]
  wire [7:0] _T_22853; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140801.4]
  wire [7:0] _T_22855; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140803.4]
  wire [7:0] _T_22857; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140805.4]
  wire [7:0] _T_22859; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140807.4]
  wire [7:0] _T_22861; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140809.4]
  wire [7:0] _T_22863; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140811.4]
  wire [7:0] _T_22865; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140813.4]
  wire [7:0] _T_22867; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140815.4]
  wire [7:0] _T_22869; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140817.4]
  wire [7:0] _T_22871; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140819.4]
  wire [7:0] _T_22873; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140821.4]
  wire [7:0] _T_22875; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140823.4]
  wire [7:0] _T_22877; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140825.4]
  wire [7:0] _T_22879; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140827.4]
  wire [7:0] _T_22881; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140829.4]
  wire [7:0] _T_22883; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140831.4]
  wire [7:0] _T_22885; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140833.4]
  wire [7:0] _T_22887; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140835.4]
  wire [7:0] _T_22889; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140837.4]
  wire [7:0] _T_22891; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140839.4]
  wire [7:0] _T_22893; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140841.4]
  wire [7:0] _T_22895; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140843.4]
  wire [7:0] _T_22897; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140845.4]
  wire [7:0] _T_22899; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140847.4]
  wire [7:0] _T_22901; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140849.4]
  wire [7:0] _T_22903; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140851.4]
  wire [7:0] _T_22905; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140853.4]
  wire [7:0] _T_22907; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140855.4]
  wire [7:0] _T_22909; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140857.4]
  wire [7:0] _T_22911; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140859.4]
  wire [7:0] _T_22913; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140861.4]
  wire [7:0] _T_22915; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140863.4]
  wire [7:0] _T_22917; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140865.4]
  wire [7:0] _T_22919; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140867.4]
  wire [7:0] _T_22921; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140869.4]
  wire [7:0] _T_22923; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140871.4]
  wire [7:0] _T_22925; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140873.4]
  wire [7:0] _T_22927; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140875.4]
  wire [7:0] _T_22929; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140877.4]
  wire [7:0] _T_22931; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140879.4]
  wire [7:0] _T_22933; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140881.4]
  wire [7:0] _T_22935; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140883.4]
  wire [7:0] _T_22937; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140885.4]
  wire [7:0] _T_22939; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140887.4]
  wire [7:0] _T_22941; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140889.4]
  wire [7:0] _T_22943; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140891.4]
  wire [7:0] _T_22945; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140893.4]
  wire [7:0] _T_22947; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140895.4]
  wire [7:0] _T_22949; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140897.4]
  wire [7:0] _T_22951; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140899.4]
  wire [7:0] _T_22953; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140901.4]
  wire [7:0] _T_22955; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140903.4]
  wire [7:0] _T_22957; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140905.4]
  wire [7:0] _T_22959; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140907.4]
  wire [7:0] _T_22961; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140909.4]
  wire [7:0] _T_22963; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140911.4]
  wire [7:0] _T_22965; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140913.4]
  wire [7:0] _T_22967; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140915.4]
  wire [7:0] _T_22969; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140917.4]
  wire [7:0] _T_22971; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140919.4]
  wire [7:0] _T_22973; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140921.4]
  wire [7:0] _T_22975; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140923.4]
  wire [7:0] _T_22977; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140925.4]
  wire [7:0] _T_22979; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140927.4]
  wire [7:0] _T_22981; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140929.4]
  wire [7:0] _T_22983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140931.4]
  wire [7:0] _T_22985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140933.4]
  wire [7:0] _T_22987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140935.4]
  wire [7:0] _T_22989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140937.4]
  wire [7:0] _T_22991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140939.4]
  wire [7:0] _T_22993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140941.4]
  wire [7:0] _T_22995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140943.4]
  wire [7:0] _T_22997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140945.4]
  wire [7:0] _T_22999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140947.4]
  wire [7:0] _T_23001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140949.4]
  wire [7:0] _T_23003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140951.4]
  wire [7:0] _T_23005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140953.4]
  wire [7:0] _T_23007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140955.4]
  wire [7:0] _T_23009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140957.4]
  wire [7:0] _T_23011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140959.4]
  wire [7:0] _T_23013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140961.4]
  wire [7:0] _T_23015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140963.4]
  wire [7:0] _T_23017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140965.4]
  wire [7:0] _T_23019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140967.4]
  wire [7:0] _T_23021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140969.4]
  wire [7:0] _T_23023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140971.4]
  wire [7:0] _T_23025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140973.4]
  wire [7:0] _T_23027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140975.4]
  wire [7:0] _T_23029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140977.4]
  wire [7:0] _T_23039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140986.4]
  wire [7:0] _T_28445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141636.4]
  wire [7:0] _T_28448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141639.4]
  wire  _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141640.4]
  wire [7:0] _T_28459; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141650.4]
  wire [7:0] _T_28470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141661.4]
  wire [7:0] _T_28473; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141664.4]
  wire  _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141665.4]
  wire [7:0] _T_28484; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141675.4]
  wire [15:0] _T_28494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141685.4]
  wire [7:0] _T_28497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141688.4]
  wire [7:0] _T_28500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141691.4]
  wire  _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141692.4]
  wire [7:0] _T_28511; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141702.4]
  wire [23:0] _T_28521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141712.4]
  wire [7:0] _T_28524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141715.4]
  wire [7:0] _T_28527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141718.4]
  wire  _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141719.4]
  wire [7:0] _T_28538; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141729.4]
  wire [31:0] _T_28548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141739.4]
  wire [15:0] _T_28600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141791.4]
  wire [23:0] _T_28627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141818.4]
  wire [31:0] _T_28654; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141845.4]
  wire [15:0] _T_28706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141897.4]
  wire [23:0] _T_28733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141924.4]
  wire [31:0] _T_28760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141951.4]
  wire [15:0] _T_28812; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142003.4]
  wire [23:0] _T_28839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142030.4]
  wire [31:0] _T_28866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142057.4]
  wire [15:0] _T_29024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142215.4]
  wire [23:0] _T_29051; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142242.4]
  wire [31:0] _T_29078; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142269.4]
  wire [15:0] _T_29130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142321.4]
  wire [23:0] _T_29157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142348.4]
  wire [31:0] _T_29184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142375.4]
  wire [15:0] _T_29236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142427.4]
  wire [23:0] _T_29263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142454.4]
  wire [31:0] _T_29290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142481.4]
  wire [15:0] _T_29342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142533.4]
  wire [23:0] _T_29369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142560.4]
  wire [31:0] _T_29396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142587.4]
  wire  _T_60038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173441.4]
  wire  _T_65748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181185.4]
  wire  _T_65749; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181186.4]
  wire  _T_29517; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142708.4]
  wire  _T_29542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142736.4]
  wire  _T_29569; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142766.4]
  wire  _T_29596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142796.4]
  wire [15:0] _T_29660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142863.4]
  wire [23:0] _T_29687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142890.4]
  wire [31:0] _T_29714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142917.4]
  wire [15:0] _T_29766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142969.4]
  wire [23:0] _T_29793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142996.4]
  wire [31:0] _T_29820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143023.4]
  wire [15:0] _T_29872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143075.4]
  wire [23:0] _T_29899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143102.4]
  wire [31:0] _T_29926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143129.4]
  wire [15:0] _T_29978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143181.4]
  wire [23:0] _T_30005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143208.4]
  wire [31:0] _T_30032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143235.4]
  wire [15:0] _T_30084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143287.4]
  wire [23:0] _T_30111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143314.4]
  wire [31:0] _T_30138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143341.4]
  wire [15:0] _T_30190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143393.4]
  wire [23:0] _T_30217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143420.4]
  wire [31:0] _T_30244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143447.4]
  wire [15:0] _T_30296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143499.4]
  wire [23:0] _T_30323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143526.4]
  wire [31:0] _T_30350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143553.4]
  wire [15:0] _T_30402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143605.4]
  wire [23:0] _T_30429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143632.4]
  wire [31:0] _T_30456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143659.4]
  wire [15:0] _T_30508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143711.4]
  wire [23:0] _T_30535; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143738.4]
  wire [31:0] _T_30562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143765.4]
  wire [15:0] _T_30614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143817.4]
  wire [23:0] _T_30641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143844.4]
  wire [31:0] _T_30668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143871.4]
  wire [15:0] _T_30720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143923.4]
  wire [23:0] _T_30747; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143950.4]
  wire [31:0] _T_30774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143977.4]
  wire [15:0] _T_30826; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144029.4]
  wire [23:0] _T_30853; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144056.4]
  wire [31:0] _T_30880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144083.4]
  wire [15:0] _T_30932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144135.4]
  wire [23:0] _T_30959; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144162.4]
  wire [31:0] _T_30986; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144189.4]
  wire [15:0] _T_31038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144241.4]
  wire [23:0] _T_31065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144268.4]
  wire [31:0] _T_31092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144295.4]
  wire [15:0] _T_31144; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144347.4]
  wire [23:0] _T_31171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144374.4]
  wire [31:0] _T_31198; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144401.4]
  wire [15:0] _T_31250; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144453.4]
  wire [23:0] _T_31277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144480.4]
  wire [31:0] _T_31304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144507.4]
  wire [15:0] _T_31356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144559.4]
  wire [23:0] _T_31383; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144586.4]
  wire [31:0] _T_31410; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144613.4]
  wire [15:0] _T_31462; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144665.4]
  wire [23:0] _T_31489; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144692.4]
  wire [31:0] _T_31516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144719.4]
  wire [15:0] _T_31568; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144771.4]
  wire [23:0] _T_31595; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144798.4]
  wire [31:0] _T_31622; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144825.4]
  wire [15:0] _T_31674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144877.4]
  wire [23:0] _T_31701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144904.4]
  wire [31:0] _T_31728; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144931.4]
  wire [15:0] _T_31780; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144983.4]
  wire [23:0] _T_31807; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145010.4]
  wire [31:0] _T_31834; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145037.4]
  wire [15:0] _T_31886; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145089.4]
  wire [23:0] _T_31913; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145116.4]
  wire [31:0] _T_31940; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145143.4]
  wire [15:0] _T_31992; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145195.4]
  wire [23:0] _T_32019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145222.4]
  wire [31:0] _T_32046; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145249.4]
  wire [15:0] _T_32098; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145301.4]
  wire [23:0] _T_32125; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145328.4]
  wire [31:0] _T_32152; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145355.4]
  wire [15:0] _T_32204; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145407.4]
  wire [23:0] _T_32231; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145434.4]
  wire [31:0] _T_32258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145461.4]
  wire [15:0] _T_32310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145513.4]
  wire [23:0] _T_32337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145540.4]
  wire [31:0] _T_32364; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145567.4]
  wire [15:0] _T_32416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145619.4]
  wire [23:0] _T_32443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145646.4]
  wire [31:0] _T_32470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145673.4]
  wire [15:0] _T_32522; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145725.4]
  wire [23:0] _T_32549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145752.4]
  wire [31:0] _T_32576; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145779.4]
  wire [15:0] _T_32628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145831.4]
  wire [23:0] _T_32655; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145858.4]
  wire [31:0] _T_32682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145885.4]
  wire [15:0] _T_32734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145937.4]
  wire [23:0] _T_32761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145964.4]
  wire [31:0] _T_32788; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145991.4]
  wire [15:0] _T_32840; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146043.4]
  wire [23:0] _T_32867; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146070.4]
  wire [31:0] _T_32894; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146097.4]
  wire [15:0] _T_32946; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146149.4]
  wire [23:0] _T_32973; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146176.4]
  wire [31:0] _T_33000; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146203.4]
  wire [15:0] _T_33052; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146255.4]
  wire [23:0] _T_33079; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146282.4]
  wire [31:0] _T_33106; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146309.4]
  wire  _T_60037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173440.4]
  wire  _T_65742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181174.4]
  wire  _T_65743; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181175.4]
  wire  _T_33121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146324.4]
  wire  _T_33146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146352.4]
  wire  _T_33173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146382.4]
  wire  _T_33200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146412.4]
  wire [15:0] _T_33264; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146479.4]
  wire [23:0] _T_33291; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146506.4]
  wire [31:0] _T_33318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146533.4]
  wire [15:0] _T_33370; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146585.4]
  wire [23:0] _T_33397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146612.4]
  wire [31:0] _T_33424; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146639.4]
  wire [15:0] _T_33476; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146691.4]
  wire [23:0] _T_33503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146718.4]
  wire [31:0] _T_33530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146745.4]
  wire [15:0] _T_33582; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146797.4]
  wire [23:0] _T_33609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146824.4]
  wire [31:0] _T_33636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146851.4]
  wire [15:0] _T_33688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146903.4]
  wire [23:0] _T_33715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146930.4]
  wire [31:0] _T_33742; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146957.4]
  wire  _T_60032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173435.4]
  wire  _T_65712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181119.4]
  wire  _T_65713; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181120.4]
  wire  _T_33757; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146972.4]
  wire  _T_33782; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147000.4]
  wire  _T_33809; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147030.4]
  wire  _T_33836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147060.4]
  wire [15:0] _T_33900; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147127.4]
  wire [23:0] _T_33927; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147154.4]
  wire [31:0] _T_33954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147181.4]
  wire [15:0] _T_34112; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147339.4]
  wire [23:0] _T_34139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147366.4]
  wire [31:0] _T_34166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147393.4]
  wire [15:0] _T_34218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147445.4]
  wire [23:0] _T_34245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147472.4]
  wire [31:0] _T_34272; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147499.4]
  wire [15:0] _T_34324; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147551.4]
  wire [23:0] _T_34351; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147578.4]
  wire [31:0] _T_34378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147605.4]
  wire [15:0] _T_34430; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147657.4]
  wire [23:0] _T_34457; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147684.4]
  wire [31:0] _T_34484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147711.4]
  wire [15:0] _T_34536; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147763.4]
  wire [23:0] _T_34563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147790.4]
  wire [31:0] _T_34590; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147817.4]
  wire  _T_60042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173445.4]
  wire  _T_65772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181229.4]
  wire  _T_65773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181230.4]
  wire  _T_34605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147832.4]
  wire  _T_34630; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147860.4]
  wire  _T_34657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147890.4]
  wire  _T_34684; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147920.4]
  wire [15:0] _T_34748; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147987.4]
  wire [23:0] _T_34775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148014.4]
  wire [31:0] _T_34802; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148041.4]
  wire [15:0] _T_34854; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148093.4]
  wire [23:0] _T_34881; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148120.4]
  wire [31:0] _T_34908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148147.4]
  wire [15:0] _T_34960; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148199.4]
  wire [23:0] _T_34987; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148226.4]
  wire [31:0] _T_35014; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148253.4]
  wire [15:0] _T_35066; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148305.4]
  wire [23:0] _T_35093; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148332.4]
  wire [31:0] _T_35120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148359.4]
  wire [15:0] _T_35172; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148411.4]
  wire [23:0] _T_35199; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148438.4]
  wire [31:0] _T_35226; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148465.4]
  wire [15:0] _T_35278; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148517.4]
  wire [23:0] _T_35305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148544.4]
  wire [31:0] _T_35332; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148571.4]
  wire [15:0] _T_35384; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148623.4]
  wire [23:0] _T_35411; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148650.4]
  wire [31:0] _T_35438; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148677.4]
  wire [15:0] _T_35596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148835.4]
  wire [23:0] _T_35623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148862.4]
  wire [31:0] _T_35650; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148889.4]
  wire [15:0] _T_35727; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148966.4]
  wire [23:0] _T_35754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148993.4]
  wire [31:0] _T_35781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149020.4]
  wire [15:0] _T_35833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149072.4]
  wire [23:0] _T_35860; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149099.4]
  wire [31:0] _T_35887; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149126.4]
  wire [15:0] _T_35939; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149178.4]
  wire [23:0] _T_35966; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149205.4]
  wire [31:0] _T_35993; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149232.4]
  wire [15:0] _T_36045; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149284.4]
  wire [23:0] _T_36072; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149311.4]
  wire [31:0] _T_36099; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149338.4]
  wire [15:0] _T_36257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149496.4]
  wire [23:0] _T_36284; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149523.4]
  wire [31:0] _T_36311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149550.4]
  wire [15:0] _T_36363; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149602.4]
  wire [23:0] _T_36390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149629.4]
  wire [31:0] _T_36417; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149656.4]
  wire [15:0] _T_36575; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149814.4]
  wire [23:0] _T_36602; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149841.4]
  wire [31:0] _T_36629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149868.4]
  wire  _T_60041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173444.4]
  wire  _T_65766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181218.4]
  wire  _T_65767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181219.4]
  wire  _T_36644; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149883.4]
  wire  _T_36669; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149911.4]
  wire  _T_36696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149941.4]
  wire  _T_36723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149971.4]
  wire [15:0] _T_36787; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150038.4]
  wire [23:0] _T_36814; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150065.4]
  wire [31:0] _T_36841; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150092.4]
  wire [15:0] _T_36893; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150144.4]
  wire [23:0] _T_36920; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150171.4]
  wire [31:0] _T_36947; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150198.4]
  wire [15:0] _T_36999; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150250.4]
  wire [23:0] _T_37026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150277.4]
  wire [31:0] _T_37053; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150304.4]
  wire [15:0] _T_37105; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150356.4]
  wire [23:0] _T_37132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150383.4]
  wire [31:0] _T_37159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150410.4]
  wire [15:0] _T_37211; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150462.4]
  wire [23:0] _T_37238; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150489.4]
  wire [31:0] _T_37265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150516.4]
  wire [15:0] _T_37317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150568.4]
  wire [23:0] _T_37344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150595.4]
  wire [31:0] _T_37371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150622.4]
  wire [15:0] _T_37423; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150674.4]
  wire [23:0] _T_37450; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150701.4]
  wire [31:0] _T_37477; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150728.4]
  wire [15:0] _T_37529; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150780.4]
  wire [23:0] _T_37556; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150807.4]
  wire [31:0] _T_37583; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150834.4]
  wire [15:0] _T_37660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150911.4]
  wire [23:0] _T_37687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150938.4]
  wire [31:0] _T_37714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150965.4]
  wire [15:0] _T_37766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151017.4]
  wire [23:0] _T_37793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151044.4]
  wire [31:0] _T_37820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151071.4]
  wire [15:0] _T_37872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151123.4]
  wire [23:0] _T_37899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151150.4]
  wire [31:0] _T_37926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151177.4]
  wire [15:0] _T_37978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151229.4]
  wire [23:0] _T_38005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151256.4]
  wire [31:0] _T_38032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151283.4]
  wire [15:0] _T_38084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151335.4]
  wire [23:0] _T_38111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151362.4]
  wire [31:0] _T_38138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151389.4]
  wire [15:0] _T_38190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151441.4]
  wire [23:0] _T_38217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151468.4]
  wire [31:0] _T_38244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151495.4]
  wire [15:0] _T_38321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151574.4]
  wire [23:0] _T_38348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151601.4]
  wire [31:0] _T_38375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151628.4]
  wire [15:0] _T_38427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151680.4]
  wire [23:0] _T_38454; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151707.4]
  wire [31:0] _T_38481; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151734.4]
  wire [15:0] _T_38639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151892.4]
  wire [23:0] _T_38666; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151919.4]
  wire [31:0] _T_38693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151946.4]
  wire [15:0] _T_38745; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151998.4]
  wire [23:0] _T_38772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152025.4]
  wire [31:0] _T_38799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152052.4]
  wire [15:0] _T_38851; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152104.4]
  wire [23:0] _T_38878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152131.4]
  wire [31:0] _T_38905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152158.4]
  wire [15:0] _T_38957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152210.4]
  wire [23:0] _T_38984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152237.4]
  wire [31:0] _T_39011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152264.4]
  wire [15:0] _T_39063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152316.4]
  wire [23:0] _T_39090; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152343.4]
  wire [31:0] _T_39117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152370.4]
  wire  _T_60045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173448.4]
  wire  _T_65790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181262.4]
  wire  _T_65791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181263.4]
  wire  _T_39132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152385.4]
  wire  _T_39157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152413.4]
  wire  _T_39184; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152443.4]
  wire  _T_39211; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152473.4]
  wire [15:0] _T_39381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152646.4]
  wire [23:0] _T_39408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152673.4]
  wire [31:0] _T_39435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152700.4]
  wire [15:0] _T_39487; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152752.4]
  wire [23:0] _T_39514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152779.4]
  wire [31:0] _T_39541; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152806.4]
  wire [15:0] _T_39593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152858.4]
  wire [23:0] _T_39620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152885.4]
  wire [31:0] _T_39647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152912.4]
  wire [15:0] _T_39699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152964.4]
  wire [23:0] _T_39726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152991.4]
  wire [31:0] _T_39753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153018.4]
  wire [15:0] _T_39805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153070.4]
  wire [23:0] _T_39832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153097.4]
  wire [31:0] _T_39859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153124.4]
  wire [15:0] _T_39911; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153176.4]
  wire [23:0] _T_39938; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153203.4]
  wire [31:0] _T_39965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153230.4]
  wire [15:0] _T_40017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153282.4]
  wire [23:0] _T_40044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153309.4]
  wire [31:0] _T_40071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153336.4]
  wire [15:0] _T_40123; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153388.4]
  wire [23:0] _T_40150; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153415.4]
  wire [31:0] _T_40177; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153442.4]
  wire [15:0] _T_40229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153494.4]
  wire [23:0] _T_40256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153521.4]
  wire [31:0] _T_40283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153548.4]
  wire [15:0] _T_40335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153600.4]
  wire [23:0] _T_40362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153627.4]
  wire [31:0] _T_40389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153654.4]
  wire [15:0] _T_40441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153706.4]
  wire [23:0] _T_40468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153733.4]
  wire [31:0] _T_40495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153760.4]
  wire [15:0] _T_40547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153812.4]
  wire [23:0] _T_40574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153839.4]
  wire [31:0] _T_40601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153866.4]
  wire [15:0] _T_40759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154024.4]
  wire [23:0] _T_40786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154051.4]
  wire [31:0] _T_40813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154078.4]
  wire  _T_60033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173436.4]
  wire  _T_65718; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181130.4]
  wire  _T_65719; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181131.4]
  wire  _T_40828; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154093.4]
  wire  _T_40853; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154121.4]
  wire  _T_40880; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154151.4]
  wire  _T_40907; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154181.4]
  wire [15:0] _T_40971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154248.4]
  wire [23:0] _T_40998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154275.4]
  wire [31:0] _T_41025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154302.4]
  wire [15:0] _T_41183; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154460.4]
  wire [23:0] _T_41210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154487.4]
  wire [31:0] _T_41237; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154514.4]
  wire [15:0] _T_41289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154566.4]
  wire [23:0] _T_41316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154593.4]
  wire [31:0] _T_41343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154620.4]
  wire [15:0] _T_41395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154672.4]
  wire [23:0] _T_41422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154699.4]
  wire [31:0] _T_41449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154726.4]
  wire [15:0] _T_41501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154778.4]
  wire [23:0] _T_41528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154805.4]
  wire [31:0] _T_41555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154832.4]
  wire [15:0] _T_41607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154884.4]
  wire [23:0] _T_41634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154911.4]
  wire [31:0] _T_41661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154938.4]
  wire [15:0] _T_41713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154990.4]
  wire [23:0] _T_41740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155017.4]
  wire [31:0] _T_41767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155044.4]
  wire [15:0] _T_41819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155096.4]
  wire [23:0] _T_41846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155123.4]
  wire [31:0] _T_41873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155150.4]
  wire [15:0] _T_41925; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155202.4]
  wire [23:0] _T_41952; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155229.4]
  wire [31:0] _T_41979; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155256.4]
  wire [15:0] _T_42031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155308.4]
  wire [23:0] _T_42058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155335.4]
  wire [31:0] _T_42085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155362.4]
  wire [15:0] _T_42243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155520.4]
  wire [23:0] _T_42270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155547.4]
  wire [31:0] _T_42297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155574.4]
  wire [15:0] _T_42349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155626.4]
  wire [23:0] _T_42376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155653.4]
  wire [31:0] _T_42403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155680.4]
  wire [15:0] _T_42455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155732.4]
  wire [23:0] _T_42482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155759.4]
  wire [31:0] _T_42509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155786.4]
  wire [15:0] _T_42667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155944.4]
  wire [23:0] _T_42694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155971.4]
  wire [31:0] _T_42721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155998.4]
  wire [15:0] _T_42773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156050.4]
  wire [23:0] _T_42800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156077.4]
  wire [31:0] _T_42827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156104.4]
  wire [15:0] _T_42879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156156.4]
  wire [23:0] _T_42906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156183.4]
  wire [31:0] _T_42933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156210.4]
  wire [15:0] _T_43010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156289.4]
  wire [23:0] _T_43037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156316.4]
  wire [31:0] _T_43064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156343.4]
  wire [15:0] _T_43116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156395.4]
  wire [23:0] _T_43143; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156422.4]
  wire [31:0] _T_43170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156449.4]
  wire [15:0] _T_43222; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156501.4]
  wire [23:0] _T_43249; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156528.4]
  wire [31:0] _T_43276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156555.4]
  wire [15:0] _T_43328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156607.4]
  wire [23:0] _T_43355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156634.4]
  wire [31:0] _T_43382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156661.4]
  wire [15:0] _T_43434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156713.4]
  wire [23:0] _T_43461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156740.4]
  wire [31:0] _T_43488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156767.4]
  wire [15:0] _T_43540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156819.4]
  wire [23:0] _T_43567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156846.4]
  wire [31:0] _T_43594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156873.4]
  wire [15:0] _T_43646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156925.4]
  wire [23:0] _T_43673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156952.4]
  wire [31:0] _T_43700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156979.4]
  wire [15:0] _T_43752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157031.4]
  wire [23:0] _T_43779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157058.4]
  wire [31:0] _T_43806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157085.4]
  wire [15:0] _T_43858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157137.4]
  wire [23:0] _T_43885; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157164.4]
  wire [31:0] _T_43912; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157191.4]
  wire [15:0] _T_43964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157243.4]
  wire [23:0] _T_43991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157270.4]
  wire [31:0] _T_44018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157297.4]
  wire [15:0] _T_44070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157349.4]
  wire [23:0] _T_44097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157376.4]
  wire [31:0] _T_44124; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157403.4]
  wire [15:0] _T_44176; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157455.4]
  wire [23:0] _T_44203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157482.4]
  wire [31:0] _T_44230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157509.4]
  wire [15:0] _T_44282; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157561.4]
  wire [23:0] _T_44309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157588.4]
  wire [31:0] _T_44336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157615.4]
  wire [15:0] _T_44388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157667.4]
  wire [23:0] _T_44415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157694.4]
  wire [31:0] _T_44442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157721.4]
  wire [15:0] _T_44494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157773.4]
  wire [23:0] _T_44521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157800.4]
  wire [31:0] _T_44548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157827.4]
  wire [15:0] _T_44600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157879.4]
  wire [23:0] _T_44627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157906.4]
  wire [31:0] _T_44654; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157933.4]
  wire [15:0] _T_44706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157985.4]
  wire [23:0] _T_44733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158012.4]
  wire [31:0] _T_44760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158039.4]
  wire [15:0] _T_44812; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158091.4]
  wire [23:0] _T_44839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158118.4]
  wire [31:0] _T_44866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158145.4]
  wire [15:0] _T_44918; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158197.4]
  wire [23:0] _T_44945; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158224.4]
  wire [31:0] _T_44972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158251.4]
  wire  _T_60040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173443.4]
  wire  _T_65760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181207.4]
  wire  _T_65761; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181208.4]
  wire  _T_44987; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158266.4]
  wire  _T_45012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158294.4]
  wire  _T_45039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158324.4]
  wire  _T_45066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158354.4]
  wire [15:0] _T_45130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158421.4]
  wire [23:0] _T_45157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158448.4]
  wire [31:0] _T_45184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158475.4]
  wire [15:0] _T_45236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158527.4]
  wire [23:0] _T_45263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158554.4]
  wire [31:0] _T_45290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158581.4]
  wire [15:0] _T_45342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158633.4]
  wire [23:0] _T_45369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158660.4]
  wire [31:0] _T_45396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158687.4]
  wire [15:0] _T_45448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158739.4]
  wire [23:0] _T_45475; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158766.4]
  wire [31:0] _T_45502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158793.4]
  wire [15:0] _T_45554; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158845.4]
  wire [23:0] _T_45581; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158872.4]
  wire [31:0] _T_45608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158899.4]
  wire [15:0] _T_45660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158951.4]
  wire [23:0] _T_45687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158978.4]
  wire [31:0] _T_45714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159005.4]
  wire [15:0] _T_45766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159057.4]
  wire [23:0] _T_45793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159084.4]
  wire [31:0] _T_45820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159111.4]
  wire [15:0] _T_45872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159163.4]
  wire [23:0] _T_45899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159190.4]
  wire [31:0] _T_45926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159217.4]
  wire [15:0] _T_45978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159269.4]
  wire [23:0] _T_46005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159296.4]
  wire [31:0] _T_46032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159323.4]
  wire [15:0] _T_46084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159375.4]
  wire [23:0] _T_46111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159402.4]
  wire [31:0] _T_46138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159429.4]
  wire  _T_60029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173432.4]
  wire  _T_65694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181086.4]
  wire  _T_65695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181087.4]
  wire  _T_46153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159444.4]
  wire  _T_46178; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159472.4]
  wire  _T_46205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159502.4]
  wire  _T_46232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159532.4]
  wire [15:0] _T_46296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159599.4]
  wire [23:0] _T_46323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159626.4]
  wire [31:0] _T_46350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159653.4]
  wire [15:0] _T_46402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159705.4]
  wire [23:0] _T_46429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159732.4]
  wire [31:0] _T_46456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159759.4]
  wire [15:0] _T_46508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159811.4]
  wire [23:0] _T_46535; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159838.4]
  wire [31:0] _T_46562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159865.4]
  wire [15:0] _T_46614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159917.4]
  wire [23:0] _T_46641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159944.4]
  wire [31:0] _T_46668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159971.4]
  wire [15:0] _T_46720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160023.4]
  wire [23:0] _T_46747; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160050.4]
  wire [31:0] _T_46774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160077.4]
  wire [15:0] _T_46826; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160129.4]
  wire [23:0] _T_46853; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160156.4]
  wire [31:0] _T_46880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160183.4]
  wire  _T_60034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173437.4]
  wire  _T_65724; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181141.4]
  wire  _T_65725; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181142.4]
  wire  _T_46895; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160198.4]
  wire  _T_46920; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160226.4]
  wire  _T_46947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160256.4]
  wire  _T_46974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160286.4]
  wire [15:0] _T_47038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160353.4]
  wire [23:0] _T_47065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160380.4]
  wire [31:0] _T_47092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160407.4]
  wire [15:0] _T_47275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160592.4]
  wire [23:0] _T_47302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160619.4]
  wire [31:0] _T_47329; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160646.4]
  wire [15:0] _T_47381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160698.4]
  wire [23:0] _T_47408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160725.4]
  wire [31:0] _T_47435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160752.4]
  wire [15:0] _T_47593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160910.4]
  wire [23:0] _T_47620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160937.4]
  wire [31:0] _T_47647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160964.4]
  wire [15:0] _T_47699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161016.4]
  wire [23:0] _T_47726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161043.4]
  wire [31:0] _T_47753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161070.4]
  wire [15:0] _T_47805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161122.4]
  wire [23:0] _T_47832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161149.4]
  wire [31:0] _T_47859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161176.4]
  wire  _T_60044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173447.4]
  wire  _T_65784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181251.4]
  wire  _T_65785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181252.4]
  wire  _T_47874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161191.4]
  wire  _T_47899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161219.4]
  wire  _T_47926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161249.4]
  wire  _T_47953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161279.4]
  wire [15:0] _T_48017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161346.4]
  wire [23:0] _T_48044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161373.4]
  wire [31:0] _T_48071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161400.4]
  wire [15:0] _T_48123; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161452.4]
  wire [23:0] _T_48150; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161479.4]
  wire [31:0] _T_48177; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161506.4]
  wire [15:0] _T_48229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161558.4]
  wire [23:0] _T_48256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161585.4]
  wire [31:0] _T_48283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161612.4]
  wire [15:0] _T_48335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161664.4]
  wire [23:0] _T_48362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161691.4]
  wire [31:0] _T_48389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161718.4]
  wire [15:0] _T_48441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161770.4]
  wire [23:0] _T_48468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161797.4]
  wire [31:0] _T_48495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161824.4]
  wire [15:0] _T_48547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161876.4]
  wire [23:0] _T_48574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161903.4]
  wire [31:0] _T_48601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161930.4]
  wire [15:0] _T_48653; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161982.4]
  wire [23:0] _T_48680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162009.4]
  wire [31:0] _T_48707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162036.4]
  wire [15:0] _T_48759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162088.4]
  wire [23:0] _T_48786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162115.4]
  wire [31:0] _T_48813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162142.4]
  wire [15:0] _T_48865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162194.4]
  wire [23:0] _T_48892; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162221.4]
  wire [31:0] _T_48919; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162248.4]
  wire [15:0] _T_48971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162300.4]
  wire [23:0] _T_48998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162327.4]
  wire [31:0] _T_49025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162354.4]
  wire [15:0] _T_49183; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162512.4]
  wire [23:0] _T_49210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162539.4]
  wire [31:0] _T_49237; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162566.4]
  wire  _T_60030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173433.4]
  wire  _T_65700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181097.4]
  wire  _T_65701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181098.4]
  wire  _T_49252; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162581.4]
  wire  _T_49277; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162609.4]
  wire  _T_49304; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162639.4]
  wire  _T_49331; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162669.4]
  wire [15:0] _T_49395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162736.4]
  wire [23:0] _T_49422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162763.4]
  wire [31:0] _T_49449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162790.4]
  wire [15:0] _T_49607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162948.4]
  wire [23:0] _T_49634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162975.4]
  wire [31:0] _T_49661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163002.4]
  wire [15:0] _T_49713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163054.4]
  wire [23:0] _T_49740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163081.4]
  wire [31:0] _T_49767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163108.4]
  wire [15:0] _T_49819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163160.4]
  wire [23:0] _T_49846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163187.4]
  wire [31:0] _T_49873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163214.4]
  wire [15:0] _T_50031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163372.4]
  wire [23:0] _T_50058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163399.4]
  wire [31:0] _T_50085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163426.4]
  wire [15:0] _T_50137; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163478.4]
  wire [23:0] _T_50164; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163505.4]
  wire [31:0] _T_50191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163532.4]
  wire [15:0] _T_50243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163584.4]
  wire [23:0] _T_50270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163611.4]
  wire [31:0] _T_50297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163638.4]
  wire [15:0] _T_50349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163690.4]
  wire [23:0] _T_50376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163717.4]
  wire [31:0] _T_50403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163744.4]
  wire [15:0] _T_50455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163796.4]
  wire [23:0] _T_50482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163823.4]
  wire [31:0] _T_50509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163850.4]
  wire [15:0] _T_50561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163902.4]
  wire [23:0] _T_50588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163929.4]
  wire [31:0] _T_50615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163956.4]
  wire [15:0] _T_50667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164008.4]
  wire [23:0] _T_50694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164035.4]
  wire [31:0] _T_50721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164062.4]
  wire [15:0] _T_50798; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164141.4]
  wire [23:0] _T_50825; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164168.4]
  wire [31:0] _T_50852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164195.4]
  wire [15:0] _T_50904; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164247.4]
  wire [23:0] _T_50931; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164274.4]
  wire [31:0] _T_50958; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164301.4]
  wire [15:0] _T_51010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164353.4]
  wire [23:0] _T_51037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164380.4]
  wire [31:0] _T_51064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164407.4]
  wire [15:0] _T_51116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164459.4]
  wire [23:0] _T_51143; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164486.4]
  wire [31:0] _T_51170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164513.4]
  wire [15:0] _T_51222; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164565.4]
  wire [23:0] _T_51249; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164592.4]
  wire [31:0] _T_51276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164619.4]
  wire [15:0] _T_51328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164671.4]
  wire [23:0] _T_51355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164698.4]
  wire [31:0] _T_51382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164725.4]
  wire [15:0] _T_51434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164777.4]
  wire [23:0] _T_51461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164804.4]
  wire [31:0] _T_51488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164831.4]
  wire [15:0] _T_51540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164883.4]
  wire [23:0] _T_51567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164910.4]
  wire [31:0] _T_51594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164937.4]
  wire [15:0] _T_51646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164989.4]
  wire [23:0] _T_51673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165016.4]
  wire [31:0] _T_51700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165043.4]
  wire [15:0] _T_51752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165095.4]
  wire [23:0] _T_51779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165122.4]
  wire [31:0] _T_51806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165149.4]
  wire [15:0] _T_51858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165201.4]
  wire [23:0] _T_51885; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165228.4]
  wire [31:0] _T_51912; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165255.4]
  wire [15:0] _T_51964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165307.4]
  wire [23:0] _T_51991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165334.4]
  wire [31:0] _T_52018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165361.4]
  wire [15:0] _T_52070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165413.4]
  wire [23:0] _T_52097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165440.4]
  wire [31:0] _T_52124; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165467.4]
  wire [15:0] _T_52176; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165519.4]
  wire [23:0] _T_52203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165546.4]
  wire [31:0] _T_52230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165573.4]
  wire [15:0] _T_52282; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165625.4]
  wire [23:0] _T_52309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165652.4]
  wire [31:0] _T_52336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165679.4]
  wire [15:0] _T_52388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165731.4]
  wire [23:0] _T_52415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165758.4]
  wire [31:0] _T_52442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165785.4]
  wire [15:0] _T_52494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165837.4]
  wire [23:0] _T_52521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165864.4]
  wire [31:0] _T_52548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165891.4]
  wire [15:0] _T_52706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166049.4]
  wire [23:0] _T_52733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166076.4]
  wire [31:0] _T_52760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166103.4]
  wire  _T_60039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173442.4]
  wire  _T_65754; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181196.4]
  wire  _T_65755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181197.4]
  wire  _T_52775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166118.4]
  wire  _T_52800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166146.4]
  wire  _T_52827; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166176.4]
  wire  _T_52854; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166206.4]
  wire [15:0] _T_52918; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166273.4]
  wire [23:0] _T_52945; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166300.4]
  wire [31:0] _T_52972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166327.4]
  wire [15:0] _T_53130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166485.4]
  wire [23:0] _T_53157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166512.4]
  wire [31:0] _T_53184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166539.4]
  wire [15:0] _T_53236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166591.4]
  wire [23:0] _T_53263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166618.4]
  wire [31:0] _T_53290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166645.4]
  wire [15:0] _T_53342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166697.4]
  wire [23:0] _T_53369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166724.4]
  wire [31:0] _T_53396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166751.4]
  wire [15:0] _T_53448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166803.4]
  wire [23:0] _T_53475; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166830.4]
  wire [31:0] _T_53502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166857.4]
  wire [15:0] _T_53554; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166909.4]
  wire [23:0] _T_53581; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166936.4]
  wire [31:0] _T_53608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166963.4]
  wire [15:0] _T_53660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167015.4]
  wire [23:0] _T_53687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167042.4]
  wire [31:0] _T_53714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167069.4]
  wire [15:0] _T_53766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167121.4]
  wire [23:0] _T_53793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167148.4]
  wire [31:0] _T_53820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167175.4]
  wire [15:0] _T_53872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167227.4]
  wire [23:0] _T_53899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167254.4]
  wire [31:0] _T_53926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167281.4]
  wire [15:0] _T_53978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167333.4]
  wire [23:0] _T_54005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167360.4]
  wire [31:0] _T_54032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167387.4]
  wire [15:0] _T_54084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167439.4]
  wire [23:0] _T_54111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167466.4]
  wire [31:0] _T_54138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167493.4]
  wire [15:0] _T_54190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167545.4]
  wire [23:0] _T_54217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167572.4]
  wire [31:0] _T_54244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167599.4]
  wire [15:0] _T_54321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167676.4]
  wire [23:0] _T_54348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167703.4]
  wire [31:0] _T_54375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167730.4]
  wire [15:0] _T_54427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167782.4]
  wire [23:0] _T_54454; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167809.4]
  wire [31:0] _T_54481; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167836.4]
  wire [15:0] _T_54533; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167888.4]
  wire [23:0] _T_54560; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167915.4]
  wire [31:0] _T_54587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167942.4]
  wire [15:0] _T_54639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167994.4]
  wire [23:0] _T_54666; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168021.4]
  wire [31:0] _T_54693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168048.4]
  wire  _T_60035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173438.4]
  wire  _T_65730; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181152.4]
  wire  _T_65731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181153.4]
  wire  _T_54708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168063.4]
  wire  _T_54733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168091.4]
  wire  _T_54760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168121.4]
  wire  _T_54787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168151.4]
  wire [15:0] _T_54851; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168218.4]
  wire [23:0] _T_54878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168245.4]
  wire [31:0] _T_54905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168272.4]
  wire [15:0] _T_54957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168324.4]
  wire [23:0] _T_54984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168351.4]
  wire [31:0] _T_55011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168378.4]
  wire [15:0] _T_55063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168430.4]
  wire [23:0] _T_55090; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168457.4]
  wire [31:0] _T_55117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168484.4]
  wire [15:0] _T_55169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168536.4]
  wire [23:0] _T_55196; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168563.4]
  wire [31:0] _T_55223; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168590.4]
  wire [15:0] _T_55275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168642.4]
  wire [23:0] _T_55302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168669.4]
  wire [31:0] _T_55329; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168696.4]
  wire [15:0] _T_55381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168748.4]
  wire [23:0] _T_55408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168775.4]
  wire [31:0] _T_55435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168802.4]
  wire [15:0] _T_55487; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168854.4]
  wire [23:0] _T_55514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168881.4]
  wire [31:0] _T_55541; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168908.4]
  wire [15:0] _T_55593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168960.4]
  wire [23:0] _T_55620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168987.4]
  wire [31:0] _T_55647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169014.4]
  wire [15:0] _T_55699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169066.4]
  wire [23:0] _T_55726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169093.4]
  wire [31:0] _T_55753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169120.4]
  wire [15:0] _T_55805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169172.4]
  wire [23:0] _T_55832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169199.4]
  wire [31:0] _T_55859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169226.4]
  wire [15:0] _T_55911; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169278.4]
  wire [23:0] _T_55938; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169305.4]
  wire [31:0] _T_55965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169332.4]
  wire [15:0] _T_56017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169384.4]
  wire [23:0] _T_56044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169411.4]
  wire [31:0] _T_56071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169438.4]
  wire  _T_60031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173434.4]
  wire  _T_65706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181108.4]
  wire  _T_65707; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181109.4]
  wire  _T_56086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169453.4]
  wire  _T_56111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169481.4]
  wire  _T_56138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169511.4]
  wire  _T_56165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169541.4]
  wire [15:0] _T_56229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169608.4]
  wire [23:0] _T_56256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169635.4]
  wire [31:0] _T_56283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169662.4]
  wire [15:0] _T_56335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169714.4]
  wire [23:0] _T_56362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169741.4]
  wire [31:0] _T_56389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169768.4]
  wire [15:0] _T_56441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169820.4]
  wire [23:0] _T_56468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169847.4]
  wire [31:0] _T_56495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169874.4]
  wire [15:0] _T_56547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169926.4]
  wire [23:0] _T_56574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169953.4]
  wire [31:0] _T_56601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169980.4]
  wire [15:0] _T_56653; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170032.4]
  wire [23:0] _T_56680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170059.4]
  wire [31:0] _T_56707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170086.4]
  wire [15:0] _T_56759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170138.4]
  wire [23:0] _T_56786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170165.4]
  wire [31:0] _T_56813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170192.4]
  wire [15:0] _T_56865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170244.4]
  wire [23:0] _T_56892; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170271.4]
  wire [31:0] _T_56919; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170298.4]
  wire [15:0] _T_56971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170350.4]
  wire [23:0] _T_56998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170377.4]
  wire [31:0] _T_57025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170404.4]
  wire [15:0] _T_57077; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170456.4]
  wire [23:0] _T_57104; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170483.4]
  wire [31:0] _T_57131; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170510.4]
  wire [15:0] _T_57289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170668.4]
  wire [23:0] _T_57316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170695.4]
  wire [31:0] _T_57343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170722.4]
  wire [15:0] _T_57395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170774.4]
  wire [23:0] _T_57422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170801.4]
  wire [31:0] _T_57449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170828.4]
  wire [15:0] _T_57501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170880.4]
  wire [23:0] _T_57528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170907.4]
  wire [31:0] _T_57555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170934.4]
  wire [15:0] _T_57607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170986.4]
  wire [23:0] _T_57634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171013.4]
  wire [31:0] _T_57661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171040.4]
  wire [15:0] _T_57713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171092.4]
  wire [23:0] _T_57740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171119.4]
  wire [31:0] _T_57767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171146.4]
  wire [15:0] _T_57819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171198.4]
  wire [23:0] _T_57846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171225.4]
  wire [31:0] _T_57873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171252.4]
  wire [15:0] _T_58031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171410.4]
  wire [23:0] _T_58058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171437.4]
  wire [31:0] _T_58085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171464.4]
  wire [15:0] _T_58137; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171516.4]
  wire [23:0] _T_58164; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171543.4]
  wire [31:0] _T_58191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171570.4]
  wire [15:0] _T_58243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171622.4]
  wire [23:0] _T_58270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171649.4]
  wire [31:0] _T_58297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171676.4]
  wire [15:0] _T_58349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171728.4]
  wire [23:0] _T_58376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171755.4]
  wire [31:0] _T_58403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171782.4]
  wire [15:0] _T_58455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171834.4]
  wire [23:0] _T_58482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171861.4]
  wire [31:0] _T_58509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171888.4]
  wire [15:0] _T_58561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171940.4]
  wire [23:0] _T_58588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171967.4]
  wire [31:0] _T_58615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171994.4]
  wire [15:0] _T_58667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172046.4]
  wire [23:0] _T_58694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172073.4]
  wire [31:0] _T_58721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172100.4]
  wire [15:0] _T_58773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172152.4]
  wire [23:0] _T_58800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172179.4]
  wire [31:0] _T_58827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172206.4]
  wire [15:0] _T_58879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172258.4]
  wire [23:0] _T_58906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172285.4]
  wire [31:0] _T_58933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172312.4]
  wire [15:0] _T_58985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172364.4]
  wire [23:0] _T_59012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172391.4]
  wire [31:0] _T_59039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172418.4]
  wire [15:0] _T_59091; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172470.4]
  wire [23:0] _T_59118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172497.4]
  wire [31:0] _T_59145; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172524.4]
  wire  _T_60036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173439.4]
  wire  _T_65736; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181163.4]
  wire  _T_65737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181164.4]
  wire  _T_59160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172539.4]
  wire  _T_59185; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172567.4]
  wire  _T_59212; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172597.4]
  wire  _T_59239; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172627.4]
  wire [15:0] _T_59303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172694.4]
  wire [23:0] _T_59330; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172721.4]
  wire [31:0] _T_59357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172748.4]
  wire  _T_60043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173446.4]
  wire  _T_65778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181240.4]
  wire  _T_65779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181241.4]
  wire  _T_59372; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172763.4]
  wire  _T_59397; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172791.4]
  wire  _T_59424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172821.4]
  wire  _T_59451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172851.4]
  wire [15:0] _T_59515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172918.4]
  wire [23:0] _T_59542; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172945.4]
  wire [31:0] _T_59569; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172972.4]
  wire [15:0] _T_59621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173024.4]
  wire [23:0] _T_59648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173051.4]
  wire [31:0] _T_59675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173078.4]
  wire [15:0] _T_59727; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173130.4]
  wire [23:0] _T_59754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173157.4]
  wire [31:0] _T_59781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173184.4]
  wire  _GEN_4553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4576; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4577; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4578; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4579; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4580; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4581; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4582; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4583; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4584; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4585; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4586; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4587; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4588; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4589; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4590; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4591; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4592; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4593; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4594; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4595; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4596; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4597; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4598; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4599; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4600; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4601; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4602; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4603; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4604; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4605; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4606; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4607; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4608; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4610; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4611; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4612; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4613; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4614; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4615; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4616; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4617; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4618; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4619; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4620; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4621; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4622; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4623; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4624; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4625; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4626; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4627; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4628; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4629; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4630; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4631; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4632; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4633; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4634; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4635; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4636; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4637; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4638; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4639; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4640; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4641; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4642; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4643; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4644; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4645; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4646; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4647; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4648; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4649; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4650; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4651; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4652; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4653; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4654; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4655; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4656; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4657; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4658; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4659; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4660; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4661; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4662; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4663; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4664; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4665; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4666; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4667; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4668; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4669; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4670; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4671; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4672; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4673; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4674; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4675; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4676; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4677; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4678; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4679; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4680; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4681; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4682; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4683; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4684; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4685; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4686; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4687; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4688; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4689; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4690; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4691; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4692; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4693; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4695; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4696; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4698; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4700; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4701; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4702; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4703; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4704; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4705; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4706; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4707; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4708; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4709; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4710; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4711; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4712; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4713; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4714; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4715; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4716; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4717; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4718; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4719; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4720; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4721; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4722; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4723; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4724; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4725; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4726; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4727; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4728; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4729; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4730; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4731; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4732; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4733; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4734; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4735; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4736; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4737; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4738; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4739; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4740; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4741; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4742; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4743; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4744; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4745; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4746; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4747; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4748; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4749; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4750; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4751; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4752; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4753; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4754; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4755; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4756; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4757; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4758; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4759; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4761; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4762; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4763; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4764; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4765; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4766; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4767; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4768; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4769; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4770; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4771; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4772; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4773; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4774; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4775; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4776; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4777; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4778; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4779; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4780; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4781; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4782; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4783; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4784; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4785; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4786; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4787; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4788; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4789; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4790; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4791; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4792; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4793; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4794; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4795; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4796; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4797; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4798; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4799; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4800; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4801; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4802; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4803; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4804; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4805; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4806; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4807; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4808; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4809; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4810; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4811; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4812; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4813; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4814; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4815; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4816; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4817; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4818; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4819; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4820; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4821; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4822; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4823; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4824; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4825; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4826; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4827; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4828; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4829; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4830; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4831; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4832; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4833; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4834; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4835; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4836; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4837; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4838; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4839; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4840; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4841; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4842; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4843; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4844; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4845; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4846; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4847; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4848; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4849; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4850; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4851; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4852; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4853; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4854; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4855; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4856; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4857; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4858; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4859; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4860; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4861; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4862; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4863; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4864; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4865; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4866; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4867; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4868; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4869; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4870; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4871; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4872; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4873; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4874; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4875; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4876; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4877; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4878; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4879; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4880; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4881; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4882; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4883; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4884; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4885; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4886; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4887; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4888; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4889; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4890; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4891; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4892; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4893; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4894; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4895; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4896; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4897; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4898; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4899; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4900; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4901; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4902; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4903; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4904; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4905; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4906; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4907; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4908; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4909; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4910; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4911; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4912; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4913; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4914; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4915; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4916; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4917; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4918; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4919; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4920; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4921; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4922; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4923; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4924; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4925; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4926; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4927; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4928; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4929; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4930; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4931; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4932; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4933; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4934; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4935; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4936; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4937; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4938; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4939; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4940; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4941; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4942; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4943; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4944; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4945; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4946; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4947; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4948; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4949; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4950; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4951; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4952; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4953; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4954; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4955; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4956; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4957; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4958; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4959; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4960; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4961; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4962; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4963; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4964; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4965; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4966; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4967; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4968; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4969; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4970; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4971; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4972; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4973; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4974; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4975; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4976; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4977; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4978; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4979; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4980; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4981; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4982; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4983; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4984; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4985; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4986; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4987; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4988; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4989; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4990; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4991; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4992; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4993; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4994; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4995; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4996; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4997; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4998; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_4999; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5000; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5001; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5002; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5003; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5004; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5005; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5006; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5007; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5008; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5009; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5010; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5011; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5012; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5013; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5014; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5015; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5016; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5017; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5018; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5019; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5020; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5021; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5022; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5023; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5024; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5025; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5026; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5027; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5028; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5029; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5030; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5031; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5032; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5033; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5034; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5035; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5036; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5037; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5038; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5039; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5040; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5041; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5042; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5043; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5044; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5045; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5046; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5047; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5048; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5049; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5050; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5051; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5052; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5053; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5054; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5055; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5056; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5057; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5058; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5059; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5060; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5061; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5062; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire  _GEN_5063; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  wire [31:0] _GEN_5065; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5066; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5067; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5068; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5069; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5070; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5071; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5072; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5073; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5074; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5075; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5076; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5077; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5078; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5079; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5080; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5081; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5082; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5083; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5084; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5085; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5086; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5087; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5088; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5089; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5090; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5091; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5092; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5093; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5094; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5095; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5096; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5097; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5098; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5099; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5100; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5101; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5102; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5103; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5104; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5105; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5106; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5107; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5108; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5109; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5110; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5111; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5112; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5113; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5114; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5115; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5116; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5117; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5118; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5119; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5120; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5121; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5122; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5123; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5124; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5125; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5126; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5127; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5128; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5129; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5130; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5131; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5132; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5133; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5134; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5136; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5240; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5241; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5242; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5243; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5244; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5283; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5315; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5316; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5317; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5318; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5319; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5320; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5321; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5322; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5323; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5324; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5325; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5326; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5327; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5328; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5329; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5330; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5331; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5333; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5334; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5335; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5336; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5337; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5338; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5339; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5340; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5341; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5342; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5343; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5344; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5345; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5346; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5347; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5348; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5349; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5350; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5351; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5352; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5353; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5354; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5355; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5356; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5357; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5358; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5359; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5360; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5361; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5362; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5363; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5364; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5365; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5366; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5367; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5368; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5369; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5370; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5371; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5372; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5373; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5374; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5375; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5376; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5377; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5378; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5379; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5380; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5381; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5382; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5383; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5384; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5385; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5386; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5387; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5388; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5389; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5390; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5391; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5392; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5393; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5394; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5395; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5396; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5397; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5398; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5399; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5400; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5401; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5402; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5403; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5404; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5405; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5406; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5407; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5408; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5409; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5410; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5411; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5412; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5413; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5414; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5415; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5416; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5417; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5418; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5419; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5420; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5421; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5422; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5423; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5424; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5425; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5426; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5427; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5428; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5429; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5430; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5431; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5432; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5433; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5434; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5435; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5436; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5437; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5438; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5439; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5440; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5441; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5442; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5443; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5445; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5446; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5447; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5448; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5449; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5450; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5451; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5452; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5453; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5454; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5455; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5456; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5457; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5458; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5459; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5460; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5461; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5462; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5463; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5464; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5465; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5466; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5467; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5468; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5469; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5470; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5471; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5472; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5473; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5474; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5475; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5476; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5477; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5478; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5479; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5480; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5481; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5482; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5483; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5484; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5485; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5486; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5487; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5488; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5489; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5490; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5491; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5492; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5493; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5494; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5495; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5496; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5497; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5498; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5499; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5500; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5501; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5502; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5503; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5504; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5505; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5506; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5507; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5508; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5509; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5510; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5511; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5512; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5513; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5514; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5516; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5517; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5518; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5519; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5520; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5521; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5522; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5523; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5524; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5525; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5526; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5527; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5528; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5529; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5530; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5531; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5532; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5533; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5534; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5535; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5536; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5537; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5538; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5539; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5540; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5541; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5543; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5545; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5546; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5547; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5548; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5549; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5550; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5551; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5552; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire [31:0] _GEN_5575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  wire  _T_76327; // @[Debug.scala 1020:18:shc.marmotcaravel.MarmotCaravelConfig.fir@196638.10]
  wire  _T_76328; // @[Debug.scala 1020:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196639.10]
  wire  _T_76329; // @[Debug.scala 1020:95:shc.marmotcaravel.MarmotCaravelConfig.fir@196640.10]
  wire  _T_76330; // @[Debug.scala 1020:48:shc.marmotcaravel.MarmotCaravelConfig.fir@196641.10]
  wire  _T_76335; // @[Debug.scala 1028:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196659.10]
  wire  _T_76338; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196663.12]
  wire  _T_76341; // @[Debug.scala 1042:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196681.4]
  wire  _T_76343; // @[Debug.scala 1042:33:shc.marmotcaravel.MarmotCaravelConfig.fir@196683.4]
  wire  _T_76345; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@196685.4]
  wire  _T_76346; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@196686.4]
  wire  _GEN_5685; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  wire  _GEN_5686; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  wire  _GEN_5687; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  wire  _GEN_5688; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  wire  _GEN_5693; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  wire  _GEN_5694; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  wire  _GEN_5695; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  wire  _GEN_5696; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  wire  _GEN_5697; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  wire  _GEN_5706; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196665.14]
  wire  _GEN_5707; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196665.14]
  wire  _GEN_5708; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196665.14]
  TLMonitor_54 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121014.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_55 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@121053.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@121286.4]
  assign DMSTATUSRdData_anynonexistent = selectedHartReg >= 10'h1; // @[Debug.scala 477:27:shc.marmotcaravel.MarmotCaravelConfig.fir@121341.4]
  assign _GEN_3 = haltedBitRegs_0 ? 1'h0 : 1'h1; // @[Debug.scala 483:49:shc.marmotcaravel.MarmotCaravelConfig.fir@121352.8]
  assign DMSTATUSRdData_allhalted = DMSTATUSRdData_anynonexistent ? 1'h0 : haltedBitRegs_0; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@121342.4]
  assign DMSTATUSRdData_allrunning = DMSTATUSRdData_anynonexistent ? 1'h0 : _GEN_3; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@121342.4]
  assign resumereq = _T_1306 & io_innerCtrl_bits_resumereq; // @[Debug.scala 493:41:shc.marmotcaravel.MarmotCaravelConfig.fir@121363.4]
  assign _T_1352 = ~ resumeReqRegs_0; // @[Debug.scala 501:36:shc.marmotcaravel.MarmotCaravelConfig.fir@121370.4]
  assign _T_1353 = ~ resumereq; // @[Debug.scala 501:71:shc.marmotcaravel.MarmotCaravelConfig.fir@121371.4]
  assign DMSTATUSRdData_allresumeack = _T_1352 & _T_1353; // @[Debug.scala 501:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121372.4]
  assign haltedStatus_0 = {{31'd0}, haltedBitRegs_0}; // @[Debug.scala 519:30:shc.marmotcaravel.MarmotCaravelConfig.fir@121404.4 Debug.scala 522:24:shc.marmotcaravel.MarmotCaravelConfig.fir@121406.4]
  assign haltedSummary = haltedStatus_0 != 32'h0; // @[Debug.scala 525:48:shc.marmotcaravel.MarmotCaravelConfig.fir@121407.4]
  assign HALTSUM1RdData_haltsum1 = {{31'd0}, haltedSummary}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121410.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@121412.4]
  assign _T_1384 = selectedHartReg[9:5]; // @[Debug.scala 528:53:shc.marmotcaravel.MarmotCaravelConfig.fir@121415.4]
  assign _T_1385 = _T_1384 > 5'h1; // @[Debug.scala 528:59:shc.marmotcaravel.MarmotCaravelConfig.fir@121416.4]
  assign selectedHaltedStatus = _T_1385 ? 32'h0 : haltedStatus_0; // @[Debug.scala 528:35:shc.marmotcaravel.MarmotCaravelConfig.fir@121418.4]
  assign _T_2720 = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@122092.4]
  assign _T_2721 = auto_dmi_in_a_bits_address[8:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@122094.4]
  assign _T_5124 = _T_2721[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124531.4]
  assign _T_5122 = _T_2721[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124529.4]
  assign _T_5127 = {_T_5124,_T_5122}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124534.4]
  assign _T_5121 = _T_2721[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124528.4]
  assign _T_5128 = {_T_5127,_T_5121}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124535.4]
  assign _T_5120 = _T_2721[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124527.4]
  assign _T_5119 = _T_2721[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124526.4]
  assign _T_5126 = {_T_5120,_T_5119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124533.4]
  assign _T_5129 = {_T_5128,_T_5126}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124536.4]
  assign _T_2738 = _T_2721 & 7'h50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122106.4]
  assign _T_2786 = _T_2738 == 7'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122154.4]
  assign _T_2742 = _T_2738 == 7'h10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122110.4]
  assign _T_2760 = _T_2738 == 7'h40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122128.4]
  assign _T_5913 = auto_dmi_in_a_valid & auto_dmi_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125626.4]
  assign _T_5914 = _T_2720 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125627.4]
  assign _T_5915 = _T_5913 & _T_5914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125628.4]
  assign _T_5174 = 32'h1 << _T_5129; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@124581.4]
  assign _T_5181 = _T_5174[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124588.4]
  assign _T_5954 = _T_5915 & _T_5181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125681.4]
  assign _T_5955 = _T_5954 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125682.4]
  assign _T_3130 = auto_dmi_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122182.4]
  assign _T_3138 = _T_3130 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122190.4]
  assign _T_3129 = auto_dmi_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122181.4]
  assign _T_3136 = _T_3129 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122188.4]
  assign _T_3140 = {_T_3138,_T_3136}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122192.4]
  assign _T_3128 = auto_dmi_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122180.4]
  assign _T_3134 = _T_3128 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122186.4]
  assign _T_3127 = auto_dmi_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@122179.4]
  assign _T_3132 = _T_3127 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@122184.4]
  assign _T_3139 = {_T_3134,_T_3132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122191.4]
  assign _T_3141 = {_T_3140,_T_3139}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122193.4]
  assign _T_4179 = ~ _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123416.4]
  assign _T_4180 = _T_4179 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123417.4]
  assign ABSTRACTCSWrEnMaybe = _T_5955 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123421.4]
  assign ABSTRACTCSWrDataVal = ABSTRACTCSWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123425.4]
  assign ABSTRACTCSWrData_cmderr = ABSTRACTCSWrDataVal[10:8]; // @[Debug.scala 541:64:shc.marmotcaravel.MarmotCaravelConfig.fir@121465.4]
  assign ABSTRACTCSWrEnLegal = ctrlStateReg == 2'h0; // @[Debug.scala 941:44:shc.marmotcaravel.MarmotCaravelConfig.fir@196537.4]
  assign ABSTRACTCSWrEn = ABSTRACTCSWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 548:51:shc.marmotcaravel.MarmotCaravelConfig.fir@121489.4]
  assign _T_1429 = ~ io_dmactive; // @[Debug.scala 555:10:shc.marmotcaravel.MarmotCaravelConfig.fir@121502.4]
  assign _T_1430 = ~ ABSTRACTCSWrData_cmderr; // @[Debug.scala 568:58:shc.marmotcaravel.MarmotCaravelConfig.fir@121524.16]
  assign _T_1431 = ABSTRACTCSReg_cmderr & _T_1430; // @[Debug.scala 568:56:shc.marmotcaravel.MarmotCaravelConfig.fir@121525.16]
  assign _T_76325 = ctrlStateReg == 2'h1; // @[Debug.scala 994:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196614.6]
  assign commandRegIsAccessRegister = COMMANDRdData_cmdtype == 8'h0; // @[Debug.scala 955:58:shc.marmotcaravel.MarmotCaravelConfig.fir@196563.4]
  assign _T_20900 = {COMMANDRdData_cmdtype,COMMANDRdData_control}; // @[Debug.scala 791:104:shc.marmotcaravel.MarmotCaravelConfig.fir@138805.4]
  assign accessRegisterCommandReg_transfer = _T_20900[17]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138815.4]
  assign accessRegisterCommandReg_write = _T_20900[16]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138813.4]
  assign _T_76315 = accessRegisterCommandReg_transfer == 1'h0; // @[Debug.scala 973:19:shc.marmotcaravel.MarmotCaravelConfig.fir@196583.8]
  assign accessRegisterCommandReg_regno = _T_20900[15:0]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138811.4]
  assign _T_76310 = accessRegisterCommandReg_regno >= 16'h1000; // @[Debug.scala 963:58:shc.marmotcaravel.MarmotCaravelConfig.fir@196572.4]
  assign _T_76311 = accessRegisterCommandReg_regno <= 16'h101f; // @[Debug.scala 963:104:shc.marmotcaravel.MarmotCaravelConfig.fir@196573.4]
  assign accessRegIsGPR = _T_76310 & _T_76311; // @[Debug.scala 963:70:shc.marmotcaravel.MarmotCaravelConfig.fir@196574.4]
  assign _T_76316 = _T_76315 | accessRegIsGPR; // @[Debug.scala 973:54:shc.marmotcaravel.MarmotCaravelConfig.fir@196584.8]
  assign _GEN_5644 = _T_76316 ? 1'h0 : 1'h1; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@196585.8]
  assign commandRegIsUnsupported = commandRegIsAccessRegister ? _GEN_5644 : 1'h1; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@196575.4]
  assign _T_76317 = ~ haltedBitRegs_0; // @[Debug.scala 975:36:shc.marmotcaravel.MarmotCaravelConfig.fir@196587.10]
  assign _GEN_5645 = _T_76316 ? _T_76317 : 1'h0; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@196585.8]
  assign commandRegBadHaltResume = commandRegIsAccessRegister ? _GEN_5645 : 1'h0; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@196575.4]
  assign _GEN_5661 = commandRegIsUnsupported ? 1'h0 : commandRegBadHaltResume; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@196616.8]
  assign _GEN_5674 = _T_76325 ? _GEN_5661 : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  assign errorHaltResume = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5674; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  assign _T_5182 = _T_5174[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124589.4]
  assign _T_5960 = _T_5915 & _T_5182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125689.4]
  assign _T_5961 = _T_5960 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125690.4]
  assign COMMANDWrEnMaybe = _T_5961 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124106.4]
  assign COMMANDWrEn = COMMANDWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 626:40:shc.marmotcaravel.MarmotCaravelConfig.fir@122009.4]
  assign COMMANDWrDataVal = COMMANDWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124110.4]
  assign COMMANDWrData_cmdtype = COMMANDWrDataVal[31:24]; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121995.4]
  assign commandWrIsAccessRegister = COMMANDWrData_cmdtype == 8'h0; // @[Debug.scala 954:60:shc.marmotcaravel.MarmotCaravelConfig.fir@196562.4]
  assign _T_76318 = COMMANDWrEn & commandWrIsAccessRegister; // @[Debug.scala 979:48:shc.marmotcaravel.MarmotCaravelConfig.fir@196591.4]
  assign _T_76319 = ABSTRACTCSReg_cmderr == 3'h0; // @[Debug.scala 979:103:shc.marmotcaravel.MarmotCaravelConfig.fir@196592.4]
  assign wrAccessRegisterCommand = _T_76318 & _T_76319; // @[Debug.scala 979:78:shc.marmotcaravel.MarmotCaravelConfig.fir@196593.4]
  assign _T_5179 = _T_5174[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124586.4]
  assign _T_5942 = _T_5915 & _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125663.4]
  assign _T_5943 = _T_5942 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125664.4]
  assign _T_4914 = _T_3141[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124281.4]
  assign _T_4915 = ~ _T_4914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124282.4]
  assign _T_4916 = _T_4915 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124283.4]
  assign dmiAbstractDataWrEnMaybe_0 = _T_5943 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124287.4]
  assign _T_5679 = _T_5913 & _T_2720; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125290.4]
  assign _T_5706 = _T_5679 & _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125325.4]
  assign _T_5707 = _T_5706 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125326.4]
  assign _T_4913 = _T_4914 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124280.4]
  assign dmiAbstractDataRdEn_0 = _T_5707 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124285.4]
  assign dmiAbstractDataAccessVec_0 = dmiAbstractDataWrEnMaybe_0 | dmiAbstractDataRdEn_0; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121596.4]
  assign _T_2156 = ABSTRACTAUTOReg_autoexecdata[0]; // @[Debug.scala 610:54:shc.marmotcaravel.MarmotCaravelConfig.fir@121894.4]
  assign autoexecData_0 = dmiAbstractDataAccessVec_0 & _T_2156; // @[Debug.scala 610:140:shc.marmotcaravel.MarmotCaravelConfig.fir@121906.4]
  assign _T_5191 = _T_5174[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124598.4]
  assign _T_6014 = _T_5915 & _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125754.4]
  assign _T_6015 = _T_6014 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125755.4]
  assign dmiProgramBufferWrEnMaybe_0 = _T_6015 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122993.4]
  assign _T_5778 = _T_5679 & _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125416.4]
  assign _T_5779 = _T_5778 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125417.4]
  assign dmiProgramBufferRdEn_0 = _T_5779 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122991.4]
  assign dmiProgramBufferAccessVec_0 = dmiProgramBufferWrEnMaybe_0 | dmiProgramBufferRdEn_0; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121673.4]
  assign _T_2169 = ABSTRACTAUTOReg_autoexecprogbuf[0]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121908.4]
  assign autoexecProg_0 = dmiProgramBufferAccessVec_0 & _T_2169; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121924.4]
  assign _T_5192 = _T_5174[17]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124599.4]
  assign _T_6020 = _T_5915 & _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125765.4]
  assign _T_6021 = _T_6020 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125766.4]
  assign dmiProgramBufferWrEnMaybe_4 = _T_6021 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122741.4]
  assign _T_5784 = _T_5679 & _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125427.4]
  assign _T_5785 = _T_5784 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125428.4]
  assign dmiProgramBufferRdEn_4 = _T_5785 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122739.4]
  assign dmiProgramBufferAccessVec_4 = dmiProgramBufferWrEnMaybe_4 | dmiProgramBufferRdEn_4; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121677.4]
  assign _T_2170 = ABSTRACTAUTOReg_autoexecprogbuf[1]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121909.4]
  assign autoexecProg_1 = dmiProgramBufferAccessVec_4 & _T_2170; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121926.4]
  assign _T_2201 = autoexecProg_0 | autoexecProg_1; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121956.4]
  assign _T_5193 = _T_5174[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124600.4]
  assign _T_6026 = _T_5915 & _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125776.4]
  assign _T_6027 = _T_6026 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125777.4]
  assign dmiProgramBufferWrEnMaybe_8 = _T_6027 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123119.4]
  assign _T_5790 = _T_5679 & _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125438.4]
  assign _T_5791 = _T_5790 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125439.4]
  assign dmiProgramBufferRdEn_8 = _T_5791 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123117.4]
  assign dmiProgramBufferAccessVec_8 = dmiProgramBufferWrEnMaybe_8 | dmiProgramBufferRdEn_8; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121681.4]
  assign _T_2171 = ABSTRACTAUTOReg_autoexecprogbuf[2]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121910.4]
  assign autoexecProg_2 = dmiProgramBufferAccessVec_8 & _T_2171; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121928.4]
  assign _T_2202 = _T_2201 | autoexecProg_2; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121957.4]
  assign _T_5194 = _T_5174[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124601.4]
  assign _T_6032 = _T_5915 & _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125787.4]
  assign _T_6033 = _T_6032 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125788.4]
  assign dmiProgramBufferWrEnMaybe_12 = _T_6033 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123703.4]
  assign _T_5796 = _T_5679 & _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125449.4]
  assign _T_5797 = _T_5796 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125450.4]
  assign dmiProgramBufferRdEn_12 = _T_5797 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123701.4]
  assign dmiProgramBufferAccessVec_12 = dmiProgramBufferWrEnMaybe_12 | dmiProgramBufferRdEn_12; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121685.4]
  assign _T_2172 = ABSTRACTAUTOReg_autoexecprogbuf[3]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121911.4]
  assign autoexecProg_3 = dmiProgramBufferAccessVec_12 & _T_2172; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121930.4]
  assign _T_2203 = _T_2202 | autoexecProg_3; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121958.4]
  assign _T_5195 = _T_5174[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124602.4]
  assign _T_6038 = _T_5915 & _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125798.4]
  assign _T_6039 = _T_6038 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125799.4]
  assign dmiProgramBufferWrEnMaybe_16 = _T_6039 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124136.4]
  assign _T_5802 = _T_5679 & _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125460.4]
  assign _T_5803 = _T_5802 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125461.4]
  assign dmiProgramBufferRdEn_16 = _T_5803 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124134.4]
  assign dmiProgramBufferAccessVec_16 = dmiProgramBufferWrEnMaybe_16 | dmiProgramBufferRdEn_16; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121689.4]
  assign _T_2173 = ABSTRACTAUTOReg_autoexecprogbuf[4]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121912.4]
  assign autoexecProg_4 = dmiProgramBufferAccessVec_16 & _T_2173; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121932.4]
  assign _T_2204 = _T_2203 | autoexecProg_4; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121959.4]
  assign _T_5196 = _T_5174[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124603.4]
  assign _T_6044 = _T_5915 & _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125809.4]
  assign _T_6045 = _T_6044 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125810.4]
  assign dmiProgramBufferWrEnMaybe_20 = _T_6045 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122363.4]
  assign _T_5808 = _T_5679 & _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125471.4]
  assign _T_5809 = _T_5808 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125472.4]
  assign dmiProgramBufferRdEn_20 = _T_5809 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122361.4]
  assign dmiProgramBufferAccessVec_20 = dmiProgramBufferWrEnMaybe_20 | dmiProgramBufferRdEn_20; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121693.4]
  assign _T_2174 = ABSTRACTAUTOReg_autoexecprogbuf[5]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121913.4]
  assign autoexecProg_5 = dmiProgramBufferAccessVec_20 & _T_2174; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121934.4]
  assign _T_2205 = _T_2204 | autoexecProg_5; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121960.4]
  assign _T_5197 = _T_5174[22]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124604.4]
  assign _T_6050 = _T_5915 & _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125820.4]
  assign _T_6051 = _T_6050 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125821.4]
  assign dmiProgramBufferWrEnMaybe_24 = _T_6051 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122615.4]
  assign _T_5814 = _T_5679 & _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125482.4]
  assign _T_5815 = _T_5814 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125483.4]
  assign dmiProgramBufferRdEn_24 = _T_5815 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122613.4]
  assign dmiProgramBufferAccessVec_24 = dmiProgramBufferWrEnMaybe_24 | dmiProgramBufferRdEn_24; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121697.4]
  assign _T_2175 = ABSTRACTAUTOReg_autoexecprogbuf[6]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121914.4]
  assign autoexecProg_6 = dmiProgramBufferAccessVec_24 & _T_2175; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121936.4]
  assign _T_2206 = _T_2205 | autoexecProg_6; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121961.4]
  assign _T_5198 = _T_5174[23]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124605.4]
  assign _T_6056 = _T_5915 & _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125831.4]
  assign _T_6057 = _T_6056 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125832.4]
  assign dmiProgramBufferWrEnMaybe_28 = _T_6057 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123577.4]
  assign _T_5820 = _T_5679 & _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125493.4]
  assign _T_5821 = _T_5820 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125494.4]
  assign dmiProgramBufferRdEn_28 = _T_5821 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123575.4]
  assign dmiProgramBufferAccessVec_28 = dmiProgramBufferWrEnMaybe_28 | dmiProgramBufferRdEn_28; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121701.4]
  assign _T_2176 = ABSTRACTAUTOReg_autoexecprogbuf[7]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121915.4]
  assign autoexecProg_7 = dmiProgramBufferAccessVec_28 & _T_2176; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121938.4]
  assign _T_2207 = _T_2206 | autoexecProg_7; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121962.4]
  assign _T_5199 = _T_5174[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124606.4]
  assign _T_6062 = _T_5915 & _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125842.4]
  assign _T_6063 = _T_6062 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125843.4]
  assign dmiProgramBufferWrEnMaybe_32 = _T_6063 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123980.4]
  assign _T_5826 = _T_5679 & _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125504.4]
  assign _T_5827 = _T_5826 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125505.4]
  assign dmiProgramBufferRdEn_32 = _T_5827 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123978.4]
  assign dmiProgramBufferAccessVec_32 = dmiProgramBufferWrEnMaybe_32 | dmiProgramBufferRdEn_32; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121705.4]
  assign _T_2177 = ABSTRACTAUTOReg_autoexecprogbuf[8]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121916.4]
  assign autoexecProg_8 = dmiProgramBufferAccessVec_32 & _T_2177; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121940.4]
  assign _T_2208 = _T_2207 | autoexecProg_8; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121963.4]
  assign _T_5200 = _T_5174[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124607.4]
  assign _T_6068 = _T_5915 & _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125853.4]
  assign _T_6069 = _T_6068 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125854.4]
  assign dmiProgramBufferWrEnMaybe_36 = _T_6069 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122867.4]
  assign _T_5832 = _T_5679 & _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125515.4]
  assign _T_5833 = _T_5832 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125516.4]
  assign dmiProgramBufferRdEn_36 = _T_5833 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122865.4]
  assign dmiProgramBufferAccessVec_36 = dmiProgramBufferWrEnMaybe_36 | dmiProgramBufferRdEn_36; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121709.4]
  assign _T_2178 = ABSTRACTAUTOReg_autoexecprogbuf[9]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121917.4]
  assign autoexecProg_9 = dmiProgramBufferAccessVec_36 & _T_2178; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121942.4]
  assign _T_2209 = _T_2208 | autoexecProg_9; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121964.4]
  assign _T_5201 = _T_5174[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124608.4]
  assign _T_6074 = _T_5915 & _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125864.4]
  assign _T_6075 = _T_6074 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125865.4]
  assign dmiProgramBufferWrEnMaybe_40 = _T_6075 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122207.4]
  assign _T_5838 = _T_5679 & _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125526.4]
  assign _T_5839 = _T_5838 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125527.4]
  assign dmiProgramBufferRdEn_40 = _T_5839 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122205.4]
  assign dmiProgramBufferAccessVec_40 = dmiProgramBufferWrEnMaybe_40 | dmiProgramBufferRdEn_40; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121713.4]
  assign _T_2179 = ABSTRACTAUTOReg_autoexecprogbuf[10]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121918.4]
  assign autoexecProg_10 = dmiProgramBufferAccessVec_40 & _T_2179; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121944.4]
  assign _T_2210 = _T_2209 | autoexecProg_10; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121965.4]
  assign _T_5202 = _T_5174[27]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124609.4]
  assign _T_6080 = _T_5915 & _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125875.4]
  assign _T_6081 = _T_6080 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125876.4]
  assign dmiProgramBufferWrEnMaybe_44 = _T_6081 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123854.4]
  assign _T_5844 = _T_5679 & _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125537.4]
  assign _T_5845 = _T_5844 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125538.4]
  assign dmiProgramBufferRdEn_44 = _T_5845 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123852.4]
  assign dmiProgramBufferAccessVec_44 = dmiProgramBufferWrEnMaybe_44 | dmiProgramBufferRdEn_44; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121717.4]
  assign _T_2180 = ABSTRACTAUTOReg_autoexecprogbuf[11]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121919.4]
  assign autoexecProg_11 = dmiProgramBufferAccessVec_44 & _T_2180; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121946.4]
  assign _T_2211 = _T_2210 | autoexecProg_11; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121966.4]
  assign _T_5203 = _T_5174[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124610.4]
  assign _T_6086 = _T_5915 & _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125886.4]
  assign _T_6087 = _T_6086 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125887.4]
  assign dmiProgramBufferWrEnMaybe_48 = _T_6087 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123451.4]
  assign _T_5850 = _T_5679 & _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125548.4]
  assign _T_5851 = _T_5850 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125549.4]
  assign dmiProgramBufferRdEn_48 = _T_5851 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123449.4]
  assign dmiProgramBufferAccessVec_48 = dmiProgramBufferWrEnMaybe_48 | dmiProgramBufferRdEn_48; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121721.4]
  assign _T_2181 = ABSTRACTAUTOReg_autoexecprogbuf[12]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121920.4]
  assign autoexecProg_12 = dmiProgramBufferAccessVec_48 & _T_2181; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121948.4]
  assign _T_2212 = _T_2211 | autoexecProg_12; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121967.4]
  assign _T_5204 = _T_5174[29]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124611.4]
  assign _T_6092 = _T_5915 & _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125897.4]
  assign _T_6093 = _T_6092 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125898.4]
  assign dmiProgramBufferWrEnMaybe_52 = _T_6093 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123245.4]
  assign _T_5856 = _T_5679 & _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125559.4]
  assign _T_5857 = _T_5856 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125560.4]
  assign dmiProgramBufferRdEn_52 = _T_5857 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123243.4]
  assign dmiProgramBufferAccessVec_52 = dmiProgramBufferWrEnMaybe_52 | dmiProgramBufferRdEn_52; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121725.4]
  assign _T_2182 = ABSTRACTAUTOReg_autoexecprogbuf[13]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121921.4]
  assign autoexecProg_13 = dmiProgramBufferAccessVec_52 & _T_2182; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121950.4]
  assign _T_2213 = _T_2212 | autoexecProg_13; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121968.4]
  assign _T_5205 = _T_5174[30]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124612.4]
  assign _T_6098 = _T_5915 & _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125908.4]
  assign _T_6099 = _T_6098 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125909.4]
  assign dmiProgramBufferWrEnMaybe_56 = _T_6099 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122489.4]
  assign _T_5862 = _T_5679 & _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125570.4]
  assign _T_5863 = _T_5862 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125571.4]
  assign dmiProgramBufferRdEn_56 = _T_5863 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122487.4]
  assign dmiProgramBufferAccessVec_56 = dmiProgramBufferWrEnMaybe_56 | dmiProgramBufferRdEn_56; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121729.4]
  assign _T_2183 = ABSTRACTAUTOReg_autoexecprogbuf[14]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121922.4]
  assign autoexecProg_14 = dmiProgramBufferAccessVec_56 & _T_2183; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121952.4]
  assign _T_2214 = _T_2213 | autoexecProg_14; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121969.4]
  assign _T_5206 = _T_5174[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124613.4]
  assign _T_6104 = _T_5915 & _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125919.4]
  assign _T_6105 = _T_6104 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125920.4]
  assign dmiProgramBufferWrEnMaybe_60 = _T_6105 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124413.4]
  assign _T_5868 = _T_5679 & _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125581.4]
  assign _T_5869 = _T_5868 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125582.4]
  assign dmiProgramBufferRdEn_60 = _T_5869 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124411.4]
  assign dmiProgramBufferAccessVec_60 = dmiProgramBufferWrEnMaybe_60 | dmiProgramBufferRdEn_60; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121733.4]
  assign _T_2184 = ABSTRACTAUTOReg_autoexecprogbuf[15]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@121923.4]
  assign autoexecProg_15 = dmiProgramBufferAccessVec_60 & _T_2184; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@121954.4]
  assign _T_2215 = _T_2214 | autoexecProg_15; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121970.4]
  assign autoexec = autoexecData_0 | _T_2215; // @[Debug.scala 613:48:shc.marmotcaravel.MarmotCaravelConfig.fir@121971.4]
  assign _T_76320 = autoexec & commandRegIsAccessRegister; // @[Debug.scala 980:48:shc.marmotcaravel.MarmotCaravelConfig.fir@196594.4]
  assign regAccessRegisterCommand = _T_76320 & _T_76319; // @[Debug.scala 980:78:shc.marmotcaravel.MarmotCaravelConfig.fir@196596.4]
  assign _T_76323 = wrAccessRegisterCommand | regAccessRegisterCommand; // @[Debug.scala 987:37:shc.marmotcaravel.MarmotCaravelConfig.fir@196599.6]
  assign _T_76307 = commandWrIsAccessRegister == 1'h0; // @[Debug.scala 957:49:shc.marmotcaravel.MarmotCaravelConfig.fir@196564.4]
  assign commandWrIsUnsupported = COMMANDWrEn & _T_76307; // @[Debug.scala 957:46:shc.marmotcaravel.MarmotCaravelConfig.fir@196565.4]
  assign _T_76324 = autoexec & commandRegIsUnsupported; // @[Debug.scala 991:28:shc.marmotcaravel.MarmotCaravelConfig.fir@196608.10]
  assign _GEN_5651 = commandWrIsUnsupported ? 1'h1 : _T_76324; // @[Debug.scala 989:43:shc.marmotcaravel.MarmotCaravelConfig.fir@196604.8]
  assign _GEN_5653 = _T_76323 ? 1'h0 : _GEN_5651; // @[Debug.scala 987:66:shc.marmotcaravel.MarmotCaravelConfig.fir@196600.6]
  assign _GEN_5672 = _T_76325 ? commandRegIsUnsupported : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  assign errorUnsupported = ABSTRACTCSWrEnLegal ? _GEN_5653 : _GEN_5672; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  assign _T_76326 = ctrlStateReg == 2'h2; // @[Debug.scala 1015:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196636.8]
  assign _T_23037 = auto_tl_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@140980.4]
  assign _T_23038 = auto_tl_in_a_bits_address[11:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@140982.4]
  assign _T_59792 = _T_23038[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173195.4]
  assign _T_59791 = _T_23038[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173194.4]
  assign _T_59798 = {_T_59792,_T_59791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173201.4]
  assign _T_59790 = _T_23038[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173193.4]
  assign _T_59799 = {_T_59798,_T_59790}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173202.4]
  assign _T_59789 = _T_23038[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173192.4]
  assign _T_59788 = _T_23038[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173191.4]
  assign _T_59797 = {_T_59789,_T_59788}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173200.4]
  assign _T_59800 = {_T_59799,_T_59797}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173203.4]
  assign _T_59787 = _T_23038[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173190.4]
  assign _T_59786 = _T_23038[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173189.4]
  assign _T_59795 = {_T_59787,_T_59786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173198.4]
  assign _T_59785 = _T_23038[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173188.4]
  assign _T_59784 = _T_23038[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173187.4]
  assign _T_59794 = {_T_59785,_T_59784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173197.4]
  assign _T_59796 = {_T_59795,_T_59794}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173199.4]
  assign _T_59801 = {_T_59800,_T_59796}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173204.4]
  assign _T_23055 = _T_23038 & 10'h200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@140994.4]
  assign _T_23089 = _T_23055 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141028.4]
  assign _T_23609 = _T_23055 == 10'h200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141548.4]
  assign _T_71632 = auto_tl_in_a_valid & auto_tl_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190105.4]
  assign _T_71633 = _T_23037 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190106.4]
  assign _T_71634 = _T_71632 & _T_71633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190107.4]
  assign _T_60333 = 512'h1 << _T_59801; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@173736.4]
  assign _T_60401 = _T_60333[67]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173804.4]
  assign _T_72039 = _T_71634 & _T_60401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190666.4]
  assign _T_72040 = _T_72039 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190667.4]
  assign _T_28433 = auto_tl_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141624.4]
  assign _T_28441 = _T_28433 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141632.4]
  assign _T_28432 = auto_tl_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141623.4]
  assign _T_28439 = _T_28432 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141630.4]
  assign _T_28443 = {_T_28441,_T_28439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141634.4]
  assign _T_28431 = auto_tl_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141622.4]
  assign _T_28437 = _T_28431 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141628.4]
  assign _T_28430 = auto_tl_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@141621.4]
  assign _T_28435 = _T_28430 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@141626.4]
  assign _T_28442 = {_T_28437,_T_28435}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141633.4]
  assign _T_28444 = {_T_28443,_T_28442}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141635.4]
  assign _T_50731 = _T_28444[9:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164072.4]
  assign _T_50732 = ~ _T_50731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164073.4]
  assign _T_50733 = _T_50732 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164074.4]
  assign hartExceptionWrEn = _T_72040 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164078.4]
  assign _GEN_5670 = _T_76326 ? hartExceptionWrEn : 1'h0; // @[Debug.scala 1015:51:shc.marmotcaravel.MarmotCaravelConfig.fir@196637.8]
  assign _GEN_5676 = _T_76325 ? 1'h0 : _GEN_5670; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  assign errorException = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5676; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  assign _T_76293 = ~ ABSTRACTCSWrEnLegal; // @[Debug.scala 947:45:shc.marmotcaravel.MarmotCaravelConfig.fir@196547.4]
  assign _T_76294 = ABSTRACTCSWrEnMaybe & _T_76293; // @[Debug.scala 947:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196548.4]
  assign _T_5183 = _T_5174[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124590.4]
  assign _T_5966 = _T_5915 & _T_5183; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125697.4]
  assign _T_5967 = _T_5966 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@125698.4]
  assign ABSTRACTAUTOWrEnMaybe = _T_5967 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122333.4]
  assign _T_76296 = ABSTRACTAUTOWrEnMaybe & _T_76293; // @[Debug.scala 948:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196550.4]
  assign _T_76297 = _T_76294 | _T_76296; // @[Debug.scala 947:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196551.4]
  assign _T_76299 = COMMANDWrEnMaybe & _T_76293; // @[Debug.scala 949:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196553.4]
  assign _T_76300 = _T_76297 | _T_76299; // @[Debug.scala 948:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196554.4]
  assign _T_4939 = _T_3141[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124311.4]
  assign _T_4940 = ~ _T_4939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124312.4]
  assign _T_4941 = _T_4940 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124313.4]
  assign dmiAbstractDataWrEnMaybe_1 = _T_5943 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124317.4]
  assign _T_4938 = _T_4939 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124310.4]
  assign dmiAbstractDataRdEn_1 = _T_5707 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124315.4]
  assign dmiAbstractDataAccessVec_1 = dmiAbstractDataWrEnMaybe_1 | dmiAbstractDataRdEn_1; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121597.4]
  assign _T_1962 = dmiAbstractDataAccessVec_0 | dmiAbstractDataAccessVec_1; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121801.4]
  assign _T_4966 = _T_3141[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124343.4]
  assign _T_4967 = ~ _T_4966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124344.4]
  assign _T_4968 = _T_4967 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124345.4]
  assign dmiAbstractDataWrEnMaybe_2 = _T_5943 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124349.4]
  assign _T_4965 = _T_4966 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124342.4]
  assign dmiAbstractDataRdEn_2 = _T_5707 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124347.4]
  assign dmiAbstractDataAccessVec_2 = dmiAbstractDataWrEnMaybe_2 | dmiAbstractDataRdEn_2; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121598.4]
  assign _T_1963 = _T_1962 | dmiAbstractDataAccessVec_2; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121802.4]
  assign _T_4993 = _T_3141[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124375.4]
  assign _T_4994 = ~ _T_4993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124376.4]
  assign _T_4995 = _T_4994 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124377.4]
  assign dmiAbstractDataWrEnMaybe_3 = _T_5943 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124381.4]
  assign _T_4992 = _T_4993 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124374.4]
  assign dmiAbstractDataRdEn_3 = _T_5707 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124379.4]
  assign dmiAbstractDataAccessVec_3 = dmiAbstractDataWrEnMaybe_3 | dmiAbstractDataRdEn_3; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@121599.4]
  assign dmiAbstractDataAccess = _T_1963 | dmiAbstractDataAccessVec_3; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121803.4]
  assign _T_76302 = dmiAbstractDataAccess & _T_76293; // @[Debug.scala 950:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196556.4]
  assign _T_76303 = _T_76300 | _T_76302; // @[Debug.scala 949:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196557.4]
  assign dmiProgramBufferWrEnMaybe_1 = _T_6015 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123023.4]
  assign dmiProgramBufferRdEn_1 = _T_5779 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123021.4]
  assign dmiProgramBufferAccessVec_1 = dmiProgramBufferWrEnMaybe_1 | dmiProgramBufferRdEn_1; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121674.4]
  assign _T_1964 = dmiProgramBufferAccessVec_0 | dmiProgramBufferAccessVec_1; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121804.4]
  assign dmiProgramBufferWrEnMaybe_2 = _T_6015 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123055.4]
  assign dmiProgramBufferRdEn_2 = _T_5779 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123053.4]
  assign dmiProgramBufferAccessVec_2 = dmiProgramBufferWrEnMaybe_2 | dmiProgramBufferRdEn_2; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121675.4]
  assign _T_1965 = _T_1964 | dmiProgramBufferAccessVec_2; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121805.4]
  assign dmiProgramBufferWrEnMaybe_3 = _T_6015 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123087.4]
  assign dmiProgramBufferRdEn_3 = _T_5779 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123085.4]
  assign dmiProgramBufferAccessVec_3 = dmiProgramBufferWrEnMaybe_3 | dmiProgramBufferRdEn_3; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121676.4]
  assign _T_1966 = _T_1965 | dmiProgramBufferAccessVec_3; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121806.4]
  assign _T_1967 = _T_1966 | dmiProgramBufferAccessVec_4; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121807.4]
  assign dmiProgramBufferWrEnMaybe_5 = _T_6021 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122771.4]
  assign dmiProgramBufferRdEn_5 = _T_5785 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122769.4]
  assign dmiProgramBufferAccessVec_5 = dmiProgramBufferWrEnMaybe_5 | dmiProgramBufferRdEn_5; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121678.4]
  assign _T_1968 = _T_1967 | dmiProgramBufferAccessVec_5; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121808.4]
  assign dmiProgramBufferWrEnMaybe_6 = _T_6021 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122803.4]
  assign dmiProgramBufferRdEn_6 = _T_5785 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122801.4]
  assign dmiProgramBufferAccessVec_6 = dmiProgramBufferWrEnMaybe_6 | dmiProgramBufferRdEn_6; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121679.4]
  assign _T_1969 = _T_1968 | dmiProgramBufferAccessVec_6; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121809.4]
  assign dmiProgramBufferWrEnMaybe_7 = _T_6021 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122835.4]
  assign dmiProgramBufferRdEn_7 = _T_5785 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122833.4]
  assign dmiProgramBufferAccessVec_7 = dmiProgramBufferWrEnMaybe_7 | dmiProgramBufferRdEn_7; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121680.4]
  assign _T_1970 = _T_1969 | dmiProgramBufferAccessVec_7; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121810.4]
  assign _T_1971 = _T_1970 | dmiProgramBufferAccessVec_8; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121811.4]
  assign dmiProgramBufferWrEnMaybe_9 = _T_6027 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123149.4]
  assign dmiProgramBufferRdEn_9 = _T_5791 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123147.4]
  assign dmiProgramBufferAccessVec_9 = dmiProgramBufferWrEnMaybe_9 | dmiProgramBufferRdEn_9; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121682.4]
  assign _T_1972 = _T_1971 | dmiProgramBufferAccessVec_9; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121812.4]
  assign dmiProgramBufferWrEnMaybe_10 = _T_6027 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123181.4]
  assign dmiProgramBufferRdEn_10 = _T_5791 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123179.4]
  assign dmiProgramBufferAccessVec_10 = dmiProgramBufferWrEnMaybe_10 | dmiProgramBufferRdEn_10; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121683.4]
  assign _T_1973 = _T_1972 | dmiProgramBufferAccessVec_10; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121813.4]
  assign dmiProgramBufferWrEnMaybe_11 = _T_6027 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123213.4]
  assign dmiProgramBufferRdEn_11 = _T_5791 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123211.4]
  assign dmiProgramBufferAccessVec_11 = dmiProgramBufferWrEnMaybe_11 | dmiProgramBufferRdEn_11; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121684.4]
  assign _T_1974 = _T_1973 | dmiProgramBufferAccessVec_11; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121814.4]
  assign _T_1975 = _T_1974 | dmiProgramBufferAccessVec_12; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121815.4]
  assign dmiProgramBufferWrEnMaybe_13 = _T_6033 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123733.4]
  assign dmiProgramBufferRdEn_13 = _T_5797 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123731.4]
  assign dmiProgramBufferAccessVec_13 = dmiProgramBufferWrEnMaybe_13 | dmiProgramBufferRdEn_13; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121686.4]
  assign _T_1976 = _T_1975 | dmiProgramBufferAccessVec_13; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121816.4]
  assign dmiProgramBufferWrEnMaybe_14 = _T_6033 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123765.4]
  assign dmiProgramBufferRdEn_14 = _T_5797 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123763.4]
  assign dmiProgramBufferAccessVec_14 = dmiProgramBufferWrEnMaybe_14 | dmiProgramBufferRdEn_14; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121687.4]
  assign _T_1977 = _T_1976 | dmiProgramBufferAccessVec_14; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121817.4]
  assign dmiProgramBufferWrEnMaybe_15 = _T_6033 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123797.4]
  assign dmiProgramBufferRdEn_15 = _T_5797 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123795.4]
  assign dmiProgramBufferAccessVec_15 = dmiProgramBufferWrEnMaybe_15 | dmiProgramBufferRdEn_15; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121688.4]
  assign _T_1978 = _T_1977 | dmiProgramBufferAccessVec_15; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121818.4]
  assign _T_1979 = _T_1978 | dmiProgramBufferAccessVec_16; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121819.4]
  assign dmiProgramBufferWrEnMaybe_17 = _T_6039 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124166.4]
  assign dmiProgramBufferRdEn_17 = _T_5803 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124164.4]
  assign dmiProgramBufferAccessVec_17 = dmiProgramBufferWrEnMaybe_17 | dmiProgramBufferRdEn_17; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121690.4]
  assign _T_1980 = _T_1979 | dmiProgramBufferAccessVec_17; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121820.4]
  assign dmiProgramBufferWrEnMaybe_18 = _T_6039 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124198.4]
  assign dmiProgramBufferRdEn_18 = _T_5803 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124196.4]
  assign dmiProgramBufferAccessVec_18 = dmiProgramBufferWrEnMaybe_18 | dmiProgramBufferRdEn_18; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121691.4]
  assign _T_1981 = _T_1980 | dmiProgramBufferAccessVec_18; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121821.4]
  assign dmiProgramBufferWrEnMaybe_19 = _T_6039 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124230.4]
  assign dmiProgramBufferRdEn_19 = _T_5803 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124228.4]
  assign dmiProgramBufferAccessVec_19 = dmiProgramBufferWrEnMaybe_19 | dmiProgramBufferRdEn_19; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121692.4]
  assign _T_1982 = _T_1981 | dmiProgramBufferAccessVec_19; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121822.4]
  assign _T_1983 = _T_1982 | dmiProgramBufferAccessVec_20; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121823.4]
  assign dmiProgramBufferWrEnMaybe_21 = _T_6045 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122393.4]
  assign dmiProgramBufferRdEn_21 = _T_5809 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122391.4]
  assign dmiProgramBufferAccessVec_21 = dmiProgramBufferWrEnMaybe_21 | dmiProgramBufferRdEn_21; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121694.4]
  assign _T_1984 = _T_1983 | dmiProgramBufferAccessVec_21; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121824.4]
  assign dmiProgramBufferWrEnMaybe_22 = _T_6045 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122425.4]
  assign dmiProgramBufferRdEn_22 = _T_5809 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122423.4]
  assign dmiProgramBufferAccessVec_22 = dmiProgramBufferWrEnMaybe_22 | dmiProgramBufferRdEn_22; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121695.4]
  assign _T_1985 = _T_1984 | dmiProgramBufferAccessVec_22; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121825.4]
  assign dmiProgramBufferWrEnMaybe_23 = _T_6045 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122457.4]
  assign dmiProgramBufferRdEn_23 = _T_5809 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122455.4]
  assign dmiProgramBufferAccessVec_23 = dmiProgramBufferWrEnMaybe_23 | dmiProgramBufferRdEn_23; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121696.4]
  assign _T_1986 = _T_1985 | dmiProgramBufferAccessVec_23; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121826.4]
  assign _T_1987 = _T_1986 | dmiProgramBufferAccessVec_24; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121827.4]
  assign dmiProgramBufferWrEnMaybe_25 = _T_6051 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122645.4]
  assign dmiProgramBufferRdEn_25 = _T_5815 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122643.4]
  assign dmiProgramBufferAccessVec_25 = dmiProgramBufferWrEnMaybe_25 | dmiProgramBufferRdEn_25; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121698.4]
  assign _T_1988 = _T_1987 | dmiProgramBufferAccessVec_25; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121828.4]
  assign dmiProgramBufferWrEnMaybe_26 = _T_6051 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122677.4]
  assign dmiProgramBufferRdEn_26 = _T_5815 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122675.4]
  assign dmiProgramBufferAccessVec_26 = dmiProgramBufferWrEnMaybe_26 | dmiProgramBufferRdEn_26; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121699.4]
  assign _T_1989 = _T_1988 | dmiProgramBufferAccessVec_26; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121829.4]
  assign dmiProgramBufferWrEnMaybe_27 = _T_6051 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122709.4]
  assign dmiProgramBufferRdEn_27 = _T_5815 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122707.4]
  assign dmiProgramBufferAccessVec_27 = dmiProgramBufferWrEnMaybe_27 | dmiProgramBufferRdEn_27; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121700.4]
  assign _T_1990 = _T_1989 | dmiProgramBufferAccessVec_27; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121830.4]
  assign _T_1991 = _T_1990 | dmiProgramBufferAccessVec_28; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121831.4]
  assign dmiProgramBufferWrEnMaybe_29 = _T_6057 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123607.4]
  assign dmiProgramBufferRdEn_29 = _T_5821 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123605.4]
  assign dmiProgramBufferAccessVec_29 = dmiProgramBufferWrEnMaybe_29 | dmiProgramBufferRdEn_29; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121702.4]
  assign _T_1992 = _T_1991 | dmiProgramBufferAccessVec_29; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121832.4]
  assign dmiProgramBufferWrEnMaybe_30 = _T_6057 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123639.4]
  assign dmiProgramBufferRdEn_30 = _T_5821 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123637.4]
  assign dmiProgramBufferAccessVec_30 = dmiProgramBufferWrEnMaybe_30 | dmiProgramBufferRdEn_30; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121703.4]
  assign _T_1993 = _T_1992 | dmiProgramBufferAccessVec_30; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121833.4]
  assign dmiProgramBufferWrEnMaybe_31 = _T_6057 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123671.4]
  assign dmiProgramBufferRdEn_31 = _T_5821 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123669.4]
  assign dmiProgramBufferAccessVec_31 = dmiProgramBufferWrEnMaybe_31 | dmiProgramBufferRdEn_31; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121704.4]
  assign _T_1994 = _T_1993 | dmiProgramBufferAccessVec_31; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121834.4]
  assign _T_1995 = _T_1994 | dmiProgramBufferAccessVec_32; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121835.4]
  assign dmiProgramBufferWrEnMaybe_33 = _T_6063 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124010.4]
  assign dmiProgramBufferRdEn_33 = _T_5827 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124008.4]
  assign dmiProgramBufferAccessVec_33 = dmiProgramBufferWrEnMaybe_33 | dmiProgramBufferRdEn_33; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121706.4]
  assign _T_1996 = _T_1995 | dmiProgramBufferAccessVec_33; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121836.4]
  assign dmiProgramBufferWrEnMaybe_34 = _T_6063 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124042.4]
  assign dmiProgramBufferRdEn_34 = _T_5827 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124040.4]
  assign dmiProgramBufferAccessVec_34 = dmiProgramBufferWrEnMaybe_34 | dmiProgramBufferRdEn_34; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121707.4]
  assign _T_1997 = _T_1996 | dmiProgramBufferAccessVec_34; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121837.4]
  assign dmiProgramBufferWrEnMaybe_35 = _T_6063 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124074.4]
  assign dmiProgramBufferRdEn_35 = _T_5827 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124072.4]
  assign dmiProgramBufferAccessVec_35 = dmiProgramBufferWrEnMaybe_35 | dmiProgramBufferRdEn_35; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121708.4]
  assign _T_1998 = _T_1997 | dmiProgramBufferAccessVec_35; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121838.4]
  assign _T_1999 = _T_1998 | dmiProgramBufferAccessVec_36; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121839.4]
  assign dmiProgramBufferWrEnMaybe_37 = _T_6069 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122897.4]
  assign dmiProgramBufferRdEn_37 = _T_5833 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122895.4]
  assign dmiProgramBufferAccessVec_37 = dmiProgramBufferWrEnMaybe_37 | dmiProgramBufferRdEn_37; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121710.4]
  assign _T_2000 = _T_1999 | dmiProgramBufferAccessVec_37; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121840.4]
  assign dmiProgramBufferWrEnMaybe_38 = _T_6069 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122929.4]
  assign dmiProgramBufferRdEn_38 = _T_5833 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122927.4]
  assign dmiProgramBufferAccessVec_38 = dmiProgramBufferWrEnMaybe_38 | dmiProgramBufferRdEn_38; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121711.4]
  assign _T_2001 = _T_2000 | dmiProgramBufferAccessVec_38; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121841.4]
  assign dmiProgramBufferWrEnMaybe_39 = _T_6069 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122961.4]
  assign dmiProgramBufferRdEn_39 = _T_5833 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122959.4]
  assign dmiProgramBufferAccessVec_39 = dmiProgramBufferWrEnMaybe_39 | dmiProgramBufferRdEn_39; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121712.4]
  assign _T_2002 = _T_2001 | dmiProgramBufferAccessVec_39; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121842.4]
  assign _T_2003 = _T_2002 | dmiProgramBufferAccessVec_40; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121843.4]
  assign dmiProgramBufferWrEnMaybe_41 = _T_6075 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122237.4]
  assign dmiProgramBufferRdEn_41 = _T_5839 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122235.4]
  assign dmiProgramBufferAccessVec_41 = dmiProgramBufferWrEnMaybe_41 | dmiProgramBufferRdEn_41; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121714.4]
  assign _T_2004 = _T_2003 | dmiProgramBufferAccessVec_41; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121844.4]
  assign dmiProgramBufferWrEnMaybe_42 = _T_6075 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122269.4]
  assign dmiProgramBufferRdEn_42 = _T_5839 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122267.4]
  assign dmiProgramBufferAccessVec_42 = dmiProgramBufferWrEnMaybe_42 | dmiProgramBufferRdEn_42; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121715.4]
  assign _T_2005 = _T_2004 | dmiProgramBufferAccessVec_42; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121845.4]
  assign dmiProgramBufferWrEnMaybe_43 = _T_6075 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122301.4]
  assign dmiProgramBufferRdEn_43 = _T_5839 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122299.4]
  assign dmiProgramBufferAccessVec_43 = dmiProgramBufferWrEnMaybe_43 | dmiProgramBufferRdEn_43; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121716.4]
  assign _T_2006 = _T_2005 | dmiProgramBufferAccessVec_43; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121846.4]
  assign _T_2007 = _T_2006 | dmiProgramBufferAccessVec_44; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121847.4]
  assign dmiProgramBufferWrEnMaybe_45 = _T_6081 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123884.4]
  assign dmiProgramBufferRdEn_45 = _T_5845 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123882.4]
  assign dmiProgramBufferAccessVec_45 = dmiProgramBufferWrEnMaybe_45 | dmiProgramBufferRdEn_45; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121718.4]
  assign _T_2008 = _T_2007 | dmiProgramBufferAccessVec_45; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121848.4]
  assign dmiProgramBufferWrEnMaybe_46 = _T_6081 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123916.4]
  assign dmiProgramBufferRdEn_46 = _T_5845 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123914.4]
  assign dmiProgramBufferAccessVec_46 = dmiProgramBufferWrEnMaybe_46 | dmiProgramBufferRdEn_46; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121719.4]
  assign _T_2009 = _T_2008 | dmiProgramBufferAccessVec_46; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121849.4]
  assign dmiProgramBufferWrEnMaybe_47 = _T_6081 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123948.4]
  assign dmiProgramBufferRdEn_47 = _T_5845 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123946.4]
  assign dmiProgramBufferAccessVec_47 = dmiProgramBufferWrEnMaybe_47 | dmiProgramBufferRdEn_47; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121720.4]
  assign _T_2010 = _T_2009 | dmiProgramBufferAccessVec_47; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121850.4]
  assign _T_2011 = _T_2010 | dmiProgramBufferAccessVec_48; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121851.4]
  assign dmiProgramBufferWrEnMaybe_49 = _T_6087 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123481.4]
  assign dmiProgramBufferRdEn_49 = _T_5851 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123479.4]
  assign dmiProgramBufferAccessVec_49 = dmiProgramBufferWrEnMaybe_49 | dmiProgramBufferRdEn_49; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121722.4]
  assign _T_2012 = _T_2011 | dmiProgramBufferAccessVec_49; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121852.4]
  assign dmiProgramBufferWrEnMaybe_50 = _T_6087 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123513.4]
  assign dmiProgramBufferRdEn_50 = _T_5851 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123511.4]
  assign dmiProgramBufferAccessVec_50 = dmiProgramBufferWrEnMaybe_50 | dmiProgramBufferRdEn_50; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121723.4]
  assign _T_2013 = _T_2012 | dmiProgramBufferAccessVec_50; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121853.4]
  assign dmiProgramBufferWrEnMaybe_51 = _T_6087 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123545.4]
  assign dmiProgramBufferRdEn_51 = _T_5851 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123543.4]
  assign dmiProgramBufferAccessVec_51 = dmiProgramBufferWrEnMaybe_51 | dmiProgramBufferRdEn_51; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121724.4]
  assign _T_2014 = _T_2013 | dmiProgramBufferAccessVec_51; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121854.4]
  assign _T_2015 = _T_2014 | dmiProgramBufferAccessVec_52; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121855.4]
  assign dmiProgramBufferWrEnMaybe_53 = _T_6093 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123275.4]
  assign dmiProgramBufferRdEn_53 = _T_5857 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123273.4]
  assign dmiProgramBufferAccessVec_53 = dmiProgramBufferWrEnMaybe_53 | dmiProgramBufferRdEn_53; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121726.4]
  assign _T_2016 = _T_2015 | dmiProgramBufferAccessVec_53; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121856.4]
  assign dmiProgramBufferWrEnMaybe_54 = _T_6093 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123307.4]
  assign dmiProgramBufferRdEn_54 = _T_5857 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123305.4]
  assign dmiProgramBufferAccessVec_54 = dmiProgramBufferWrEnMaybe_54 | dmiProgramBufferRdEn_54; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121727.4]
  assign _T_2017 = _T_2016 | dmiProgramBufferAccessVec_54; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121857.4]
  assign dmiProgramBufferWrEnMaybe_55 = _T_6093 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123339.4]
  assign dmiProgramBufferRdEn_55 = _T_5857 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@123337.4]
  assign dmiProgramBufferAccessVec_55 = dmiProgramBufferWrEnMaybe_55 | dmiProgramBufferRdEn_55; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121728.4]
  assign _T_2018 = _T_2017 | dmiProgramBufferAccessVec_55; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121858.4]
  assign _T_2019 = _T_2018 | dmiProgramBufferAccessVec_56; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121859.4]
  assign dmiProgramBufferWrEnMaybe_57 = _T_6099 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122519.4]
  assign dmiProgramBufferRdEn_57 = _T_5863 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122517.4]
  assign dmiProgramBufferAccessVec_57 = dmiProgramBufferWrEnMaybe_57 | dmiProgramBufferRdEn_57; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121730.4]
  assign _T_2020 = _T_2019 | dmiProgramBufferAccessVec_57; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121860.4]
  assign dmiProgramBufferWrEnMaybe_58 = _T_6099 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122551.4]
  assign dmiProgramBufferRdEn_58 = _T_5863 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122549.4]
  assign dmiProgramBufferAccessVec_58 = dmiProgramBufferWrEnMaybe_58 | dmiProgramBufferRdEn_58; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121731.4]
  assign _T_2021 = _T_2020 | dmiProgramBufferAccessVec_58; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121861.4]
  assign dmiProgramBufferWrEnMaybe_59 = _T_6099 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122583.4]
  assign dmiProgramBufferRdEn_59 = _T_5863 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122581.4]
  assign dmiProgramBufferAccessVec_59 = dmiProgramBufferWrEnMaybe_59 | dmiProgramBufferRdEn_59; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121732.4]
  assign _T_2022 = _T_2021 | dmiProgramBufferAccessVec_59; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121862.4]
  assign _T_2023 = _T_2022 | dmiProgramBufferAccessVec_60; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121863.4]
  assign dmiProgramBufferWrEnMaybe_61 = _T_6105 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124443.4]
  assign dmiProgramBufferRdEn_61 = _T_5869 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124441.4]
  assign dmiProgramBufferAccessVec_61 = dmiProgramBufferWrEnMaybe_61 | dmiProgramBufferRdEn_61; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121734.4]
  assign _T_2024 = _T_2023 | dmiProgramBufferAccessVec_61; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121864.4]
  assign dmiProgramBufferWrEnMaybe_62 = _T_6105 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124475.4]
  assign dmiProgramBufferRdEn_62 = _T_5869 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124473.4]
  assign dmiProgramBufferAccessVec_62 = dmiProgramBufferWrEnMaybe_62 | dmiProgramBufferRdEn_62; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121735.4]
  assign _T_2025 = _T_2024 | dmiProgramBufferAccessVec_62; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121865.4]
  assign dmiProgramBufferWrEnMaybe_63 = _T_6105 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124507.4]
  assign dmiProgramBufferRdEn_63 = _T_5869 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@124505.4]
  assign dmiProgramBufferAccessVec_63 = dmiProgramBufferWrEnMaybe_63 | dmiProgramBufferRdEn_63; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@121736.4]
  assign dmiProgramBufferAccess = _T_2025 | dmiProgramBufferAccessVec_63; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@121866.4]
  assign _T_76305 = dmiProgramBufferAccess & _T_76293; // @[Debug.scala 951:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196559.4]
  assign errorBusy = _T_76303 | _T_76305; // @[Debug.scala 950:74:shc.marmotcaravel.MarmotCaravelConfig.fir@196560.4]
  assign ABSTRACTAUTOWrDataVal = ABSTRACTAUTOWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122337.4]
  assign ABSTRACTAUTOWrData_autoexecdata = ABSTRACTAUTOWrDataVal[11:0]; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121557.4]
  assign ABSTRACTAUTOWrData_autoexecprogbuf = ABSTRACTAUTOWrDataVal[31:16]; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@121561.4]
  assign ABSTRACTAUTOWrEn = ABSTRACTAUTOWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 589:55:shc.marmotcaravel.MarmotCaravelConfig.fir@121575.4]
  assign _T_1457 = ABSTRACTAUTOWrData_autoexecdata & 12'h1; // @[Debug.scala 595:71:shc.marmotcaravel.MarmotCaravelConfig.fir@121584.8]
  assign COMMANDWrData_control = COMMANDWrDataVal[23:0]; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@121993.4]
  assign hartHaltedId = auto_tl_in_a_bits_data[9:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156227.4]
  assign _T_2673 = hartHaltedId == 10'h0; // @[Debug.scala 660:60:shc.marmotcaravel.MarmotCaravelConfig.fir@122034.8]
  assign _T_60400 = _T_60333[66]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173803.4]
  assign _T_72033 = _T_71634 & _T_60400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190658.4]
  assign _T_72034 = _T_72033 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190659.4]
  assign hartResumingWrEn = _T_72034 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160529.4]
  assign _T_60398 = _T_60333[64]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173801.4]
  assign _T_72021 = _T_71634 & _T_60398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190642.4]
  assign _T_72022 = _T_72021 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190643.4]
  assign hartHaltedWrEn = _T_72022 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156226.4]
  assign _T_2683 = {DMSTATUSRdData_allhalted,DMSTATUSRdData_allhalted}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122060.4]
  assign _T_2684 = {1'h0,DMSTATUSRdData_allrunning}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122061.4]
  assign _T_2685 = {_T_2684,DMSTATUSRdData_allrunning}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122062.4]
  assign _T_2686 = {_T_2685,_T_2683}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122063.4]
  assign _T_2687 = {_T_2686,8'h82}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122064.4]
  assign _T_2688 = {DMSTATUSRdData_anynonexistent,1'h0}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122065.4]
  assign _T_2689 = {DMSTATUSRdData_allresumeack,DMSTATUSRdData_allresumeack}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122066.4]
  assign _T_2690 = {_T_2689,DMSTATUSRdData_anynonexistent}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122067.4]
  assign _T_2691 = {_T_2690,_T_2688}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122068.4]
  assign _T_2692 = {haveResetBitRegs_0,haveResetBitRegs_0}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122069.4]
  assign _T_2695 = {12'h0,_T_2692}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122072.4]
  assign _T_2696 = {_T_2695,_T_2691}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122073.4]
  assign _T_2697 = {_T_2696,_T_2687}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122074.4]
  assign _T_2704 = {1'h0,ABSTRACTCSReg_cmderr}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122081.4]
  assign _T_2705 = {_T_2704,8'h1}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122082.4]
  assign abstractCommandBusy = ctrlStateReg != 2'h0; // @[Debug.scala 939:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196535.4]
  assign _T_2706 = {11'h0,abstractCommandBusy}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122083.4]
  assign _T_2708 = {8'h10,_T_2706}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122085.4]
  assign _T_2709 = {_T_2708,_T_2705}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@122086.4]
  assign _T_2710 = {ABSTRACTAUTOReg_autoexecprogbuf,4'h0}; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@122087.4]
  assign _T_2711 = {_T_2710,ABSTRACTAUTOReg_autoexecdata}; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@122088.4]
  assign _T_2722 = {auto_dmi_in_a_bits_source,auto_dmi_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122098.4]
  assign _T_3156 = auto_dmi_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122209.4]
  assign _T_3181 = auto_dmi_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122239.4]
  assign _T_3191 = {programBufferMem_41,programBufferMem_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122253.4]
  assign _T_3208 = auto_dmi_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122271.4]
  assign _T_3218 = {programBufferMem_42,_T_3191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122285.4]
  assign _T_3235 = auto_dmi_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@122303.4]
  assign _T_3245 = {programBufferMem_43,_T_3218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122317.4]
  assign _T_3322 = {programBufferMem_21,programBufferMem_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122409.4]
  assign _T_3349 = {programBufferMem_22,_T_3322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122441.4]
  assign _T_3376 = {programBufferMem_23,_T_3349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122473.4]
  assign _T_3428 = {programBufferMem_57,programBufferMem_56}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122535.4]
  assign _T_3455 = {programBufferMem_58,_T_3428}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122567.4]
  assign _T_3482 = {programBufferMem_59,_T_3455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122599.4]
  assign _T_3534 = {programBufferMem_25,programBufferMem_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122661.4]
  assign _T_3561 = {programBufferMem_26,_T_3534}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122693.4]
  assign _T_3588 = {programBufferMem_27,_T_3561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122725.4]
  assign _T_3640 = {programBufferMem_5,programBufferMem_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122787.4]
  assign _T_3667 = {programBufferMem_6,_T_3640}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122819.4]
  assign _T_3694 = {programBufferMem_7,_T_3667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122851.4]
  assign _T_3746 = {programBufferMem_37,programBufferMem_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122913.4]
  assign _T_3773 = {programBufferMem_38,_T_3746}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122945.4]
  assign _T_3800 = {programBufferMem_39,_T_3773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@122977.4]
  assign _T_3852 = {programBufferMem_1,programBufferMem_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123039.4]
  assign _T_3879 = {programBufferMem_2,_T_3852}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123071.4]
  assign _T_3906 = {programBufferMem_3,_T_3879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123103.4]
  assign _T_3958 = {programBufferMem_9,programBufferMem_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123165.4]
  assign _T_3985 = {programBufferMem_10,_T_3958}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123197.4]
  assign _T_4012 = {programBufferMem_11,_T_3985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123229.4]
  assign _T_4064 = {programBufferMem_53,programBufferMem_52}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123291.4]
  assign _T_4091 = {programBufferMem_54,_T_4064}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123323.4]
  assign _T_4118 = {programBufferMem_55,_T_4091}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123355.4]
  assign _T_4245 = {programBufferMem_49,programBufferMem_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123497.4]
  assign _T_4272 = {programBufferMem_50,_T_4245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123529.4]
  assign _T_4299 = {programBufferMem_51,_T_4272}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123561.4]
  assign _T_4351 = {programBufferMem_29,programBufferMem_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123623.4]
  assign _T_4378 = {programBufferMem_30,_T_4351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123655.4]
  assign _T_4405 = {programBufferMem_31,_T_4378}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123687.4]
  assign _T_4457 = {programBufferMem_13,programBufferMem_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123749.4]
  assign _T_4484 = {programBufferMem_14,_T_4457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123781.4]
  assign _T_4511 = {programBufferMem_15,_T_4484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123813.4]
  assign _T_4588 = {programBufferMem_45,programBufferMem_44}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123900.4]
  assign _T_4615 = {programBufferMem_46,_T_4588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123932.4]
  assign _T_4642 = {programBufferMem_47,_T_4615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@123964.4]
  assign _T_4694 = {programBufferMem_33,programBufferMem_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124026.4]
  assign _T_4721 = {programBufferMem_34,_T_4694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124058.4]
  assign _T_4748 = {programBufferMem_35,_T_4721}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124090.4]
  assign _T_4825 = {programBufferMem_17,programBufferMem_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124182.4]
  assign _T_4852 = {programBufferMem_18,_T_4825}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124214.4]
  assign _T_4879 = {programBufferMem_19,_T_4852}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124246.4]
  assign _T_4956 = {abstractDataMem_1,abstractDataMem_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124333.4]
  assign _T_4983 = {abstractDataMem_2,_T_4956}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124365.4]
  assign _T_5010 = {abstractDataMem_3,_T_4983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124397.4]
  assign _T_5062 = {programBufferMem_61,programBufferMem_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124459.4]
  assign _T_5089 = {programBufferMem_62,_T_5062}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124491.4]
  assign _T_5116 = {programBufferMem_63,_T_5089}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@124523.4]
  assign _GEN_252 = 5'h1 == _T_5129 ? _T_2742 : _T_2760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_253 = 5'h2 == _T_5129 ? _T_2742 : _GEN_252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_254 = 5'h3 == _T_5129 ? _T_2742 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_255 = 5'h4 == _T_5129 ? _T_2786 : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_256 = 5'h5 == _T_5129 ? 1'h1 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_257 = 5'h6 == _T_5129 ? _T_2742 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_258 = 5'h7 == _T_5129 ? _T_2742 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_259 = 5'h8 == _T_5129 ? _T_2742 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_260 = 5'h9 == _T_5129 ? 1'h1 : _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_261 = 5'ha == _T_5129 ? 1'h1 : _GEN_260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_262 = 5'hb == _T_5129 ? 1'h1 : _GEN_261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_263 = 5'hc == _T_5129 ? 1'h1 : _GEN_262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_264 = 5'hd == _T_5129 ? 1'h1 : _GEN_263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_265 = 5'he == _T_5129 ? 1'h1 : _GEN_264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_266 = 5'hf == _T_5129 ? 1'h1 : _GEN_265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_267 = 5'h10 == _T_5129 ? _T_2786 : _GEN_266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_268 = 5'h11 == _T_5129 ? _T_2786 : _GEN_267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_269 = 5'h12 == _T_5129 ? _T_2786 : _GEN_268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_270 = 5'h13 == _T_5129 ? _T_2786 : _GEN_269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_271 = 5'h14 == _T_5129 ? _T_2786 : _GEN_270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_272 = 5'h15 == _T_5129 ? _T_2786 : _GEN_271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_273 = 5'h16 == _T_5129 ? _T_2786 : _GEN_272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_274 = 5'h17 == _T_5129 ? _T_2786 : _GEN_273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_275 = 5'h18 == _T_5129 ? _T_2786 : _GEN_274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_276 = 5'h19 == _T_5129 ? _T_2786 : _GEN_275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_277 = 5'h1a == _T_5129 ? _T_2786 : _GEN_276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_278 = 5'h1b == _T_5129 ? _T_2786 : _GEN_277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_279 = 5'h1c == _T_5129 ? _T_2786 : _GEN_278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_280 = 5'h1d == _T_5129 ? _T_2786 : _GEN_279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_281 = 5'h1e == _T_5129 ? _T_2786 : _GEN_280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_282 = 5'h1f == _T_5129 ? _T_2786 : _GEN_281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126010.4]
  assign _GEN_284 = 5'h1 == _T_5129 ? _T_2697 : selectedHaltedStatus; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_285 = 5'h2 == _T_5129 ? 32'h111380 : _GEN_284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_286 = 5'h3 == _T_5129 ? HALTSUM1RdData_haltsum1 : _GEN_285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_287 = 5'h4 == _T_5129 ? _T_5010 : _GEN_286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_288 = 5'h5 == _T_5129 ? 32'h0 : _GEN_287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_289 = 5'h6 == _T_5129 ? _T_2709 : _GEN_288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_290 = 5'h7 == _T_5129 ? _T_20900 : _GEN_289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_291 = 5'h8 == _T_5129 ? _T_2711 : _GEN_290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_292 = 5'h9 == _T_5129 ? 32'h0 : _GEN_291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_293 = 5'ha == _T_5129 ? 32'h0 : _GEN_292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_294 = 5'hb == _T_5129 ? 32'h0 : _GEN_293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_295 = 5'hc == _T_5129 ? 32'h0 : _GEN_294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_296 = 5'hd == _T_5129 ? 32'h0 : _GEN_295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_297 = 5'he == _T_5129 ? 32'h0 : _GEN_296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_298 = 5'hf == _T_5129 ? 32'h0 : _GEN_297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_299 = 5'h10 == _T_5129 ? _T_3906 : _GEN_298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_300 = 5'h11 == _T_5129 ? _T_3694 : _GEN_299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_301 = 5'h12 == _T_5129 ? _T_4012 : _GEN_300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_302 = 5'h13 == _T_5129 ? _T_4511 : _GEN_301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_303 = 5'h14 == _T_5129 ? _T_4879 : _GEN_302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_304 = 5'h15 == _T_5129 ? _T_3376 : _GEN_303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_305 = 5'h16 == _T_5129 ? _T_3588 : _GEN_304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_306 = 5'h17 == _T_5129 ? _T_4405 : _GEN_305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_307 = 5'h18 == _T_5129 ? _T_4748 : _GEN_306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_308 = 5'h19 == _T_5129 ? _T_3800 : _GEN_307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_309 = 5'h1a == _T_5129 ? _T_3245 : _GEN_308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_310 = 5'h1b == _T_5129 ? _T_4642 : _GEN_309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_311 = 5'h1c == _T_5129 ? _T_4299 : _GEN_310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_312 = 5'h1d == _T_5129 ? _T_4118 : _GEN_311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_313 = 5'h1e == _T_5129 ? _T_3482 : _GEN_312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _GEN_314 = 5'h1f == _T_5129 ? _T_5116 : _GEN_313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@126046.4]
  assign _T_6243 = dmiAbstractDataWrEnMaybe_0 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126073.4]
  assign _T_6244 = dmiAbstractDataWrEnMaybe_1 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126077.4]
  assign _T_6245 = dmiAbstractDataWrEnMaybe_2 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126081.4]
  assign _T_6246 = dmiAbstractDataWrEnMaybe_3 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@126085.4]
  assign _T_6247 = dmiProgramBufferWrEnMaybe_0 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126089.4]
  assign _T_6248 = dmiProgramBufferWrEnMaybe_1 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126093.4]
  assign _T_6249 = dmiProgramBufferWrEnMaybe_2 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126097.4]
  assign _T_6250 = dmiProgramBufferWrEnMaybe_3 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126101.4]
  assign _T_6251 = dmiProgramBufferWrEnMaybe_4 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126105.4]
  assign _T_6252 = dmiProgramBufferWrEnMaybe_5 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126109.4]
  assign _T_6253 = dmiProgramBufferWrEnMaybe_6 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126113.4]
  assign _T_6254 = dmiProgramBufferWrEnMaybe_7 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126117.4]
  assign _T_6255 = dmiProgramBufferWrEnMaybe_8 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126121.4]
  assign _T_6256 = dmiProgramBufferWrEnMaybe_9 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126125.4]
  assign _T_6257 = dmiProgramBufferWrEnMaybe_10 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126129.4]
  assign _T_6258 = dmiProgramBufferWrEnMaybe_11 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126133.4]
  assign _T_6259 = dmiProgramBufferWrEnMaybe_12 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126137.4]
  assign _T_6260 = dmiProgramBufferWrEnMaybe_13 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126141.4]
  assign _T_6261 = dmiProgramBufferWrEnMaybe_14 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126145.4]
  assign _T_6262 = dmiProgramBufferWrEnMaybe_15 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126149.4]
  assign _T_6263 = dmiProgramBufferWrEnMaybe_16 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126153.4]
  assign _T_6264 = dmiProgramBufferWrEnMaybe_17 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126157.4]
  assign _T_6265 = dmiProgramBufferWrEnMaybe_18 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126161.4]
  assign _T_6266 = dmiProgramBufferWrEnMaybe_19 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126165.4]
  assign _T_6267 = dmiProgramBufferWrEnMaybe_20 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126169.4]
  assign _T_6268 = dmiProgramBufferWrEnMaybe_21 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126173.4]
  assign _T_6269 = dmiProgramBufferWrEnMaybe_22 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126177.4]
  assign _T_6270 = dmiProgramBufferWrEnMaybe_23 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126181.4]
  assign _T_6271 = dmiProgramBufferWrEnMaybe_24 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126185.4]
  assign _T_6272 = dmiProgramBufferWrEnMaybe_25 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126189.4]
  assign _T_6273 = dmiProgramBufferWrEnMaybe_26 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126193.4]
  assign _T_6274 = dmiProgramBufferWrEnMaybe_27 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126197.4]
  assign _T_6275 = dmiProgramBufferWrEnMaybe_28 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126201.4]
  assign _T_6276 = dmiProgramBufferWrEnMaybe_29 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126205.4]
  assign _T_6277 = dmiProgramBufferWrEnMaybe_30 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126209.4]
  assign _T_6278 = dmiProgramBufferWrEnMaybe_31 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126213.4]
  assign _T_6279 = dmiProgramBufferWrEnMaybe_32 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126217.4]
  assign _T_6280 = dmiProgramBufferWrEnMaybe_33 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126221.4]
  assign _T_6281 = dmiProgramBufferWrEnMaybe_34 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126225.4]
  assign _T_6282 = dmiProgramBufferWrEnMaybe_35 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126229.4]
  assign _T_6283 = dmiProgramBufferWrEnMaybe_36 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126233.4]
  assign _T_6284 = dmiProgramBufferWrEnMaybe_37 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126237.4]
  assign _T_6285 = dmiProgramBufferWrEnMaybe_38 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126241.4]
  assign _T_6286 = dmiProgramBufferWrEnMaybe_39 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126245.4]
  assign _T_6287 = dmiProgramBufferWrEnMaybe_40 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126249.4]
  assign _T_6288 = dmiProgramBufferWrEnMaybe_41 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126253.4]
  assign _T_6289 = dmiProgramBufferWrEnMaybe_42 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126257.4]
  assign _T_6290 = dmiProgramBufferWrEnMaybe_43 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126261.4]
  assign _T_6291 = dmiProgramBufferWrEnMaybe_44 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126265.4]
  assign _T_6292 = dmiProgramBufferWrEnMaybe_45 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126269.4]
  assign _T_6293 = dmiProgramBufferWrEnMaybe_46 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126273.4]
  assign _T_6294 = dmiProgramBufferWrEnMaybe_47 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126277.4]
  assign _T_6295 = dmiProgramBufferWrEnMaybe_48 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126281.4]
  assign _T_6296 = dmiProgramBufferWrEnMaybe_49 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126285.4]
  assign _T_6297 = dmiProgramBufferWrEnMaybe_50 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126289.4]
  assign _T_6298 = dmiProgramBufferWrEnMaybe_51 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126293.4]
  assign _T_6299 = dmiProgramBufferWrEnMaybe_52 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126297.4]
  assign _T_6300 = dmiProgramBufferWrEnMaybe_53 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126301.4]
  assign _T_6301 = dmiProgramBufferWrEnMaybe_54 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126305.4]
  assign _T_6302 = dmiProgramBufferWrEnMaybe_55 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126309.4]
  assign _T_6303 = dmiProgramBufferWrEnMaybe_56 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126313.4]
  assign _T_6304 = dmiProgramBufferWrEnMaybe_57 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126317.4]
  assign _T_6305 = dmiProgramBufferWrEnMaybe_58 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126321.4]
  assign _T_6306 = dmiProgramBufferWrEnMaybe_59 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126325.4]
  assign _T_6307 = dmiProgramBufferWrEnMaybe_60 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126329.4]
  assign _T_6308 = dmiProgramBufferWrEnMaybe_61 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126333.4]
  assign _T_6309 = dmiProgramBufferWrEnMaybe_62 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126337.4]
  assign _T_6310 = dmiProgramBufferWrEnMaybe_63 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@126341.4]
  assign _T_6518 = _T_2673 | reset; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126463.10]
  assign _T_6519 = _T_6518 == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126464.10]
  assign _T_60399 = _T_60333[65]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173802.4]
  assign _T_72027 = _T_71634 & _T_60399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190650.4]
  assign _T_72028 = _T_72027 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@190651.4]
  assign hartGoingWrEn = _T_72028 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151511.4]
  assign _GEN_5658 = commandRegBadHaltResume ? 1'h0 : 1'h1; // @[Debug.scala 1004:43:shc.marmotcaravel.MarmotCaravelConfig.fir@196621.10]
  assign _GEN_5662 = commandRegIsUnsupported ? 1'h0 : _GEN_5658; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@196616.8]
  assign _GEN_5675 = _T_76325 ? _GEN_5662 : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@196615.6]
  assign goAbstract = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5675; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@196598.4]
  assign flags_0_go = 10'h0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1_go = 10'h1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_2_go = 10'h2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_3_go = 10'h3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_4_go = 10'h4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_5_go = 10'h5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_6_go = 10'h6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_7_go = 10'h7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_8_go = 10'h8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_9_go = 10'h9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_10_go = 10'ha == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_11_go = 10'hb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_12_go = 10'hc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_13_go = 10'hd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_14_go = 10'he == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_15_go = 10'hf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_16_go = 10'h10 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_17_go = 10'h11 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_18_go = 10'h12 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_19_go = 10'h13 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_20_go = 10'h14 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_21_go = 10'h15 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_22_go = 10'h16 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_23_go = 10'h17 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_24_go = 10'h18 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_25_go = 10'h19 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_26_go = 10'h1a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_27_go = 10'h1b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_28_go = 10'h1c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_29_go = 10'h1d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_30_go = 10'h1e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_31_go = 10'h1f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_32_go = 10'h20 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_33_go = 10'h21 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_34_go = 10'h22 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_35_go = 10'h23 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_36_go = 10'h24 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_37_go = 10'h25 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_38_go = 10'h26 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_39_go = 10'h27 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_40_go = 10'h28 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_41_go = 10'h29 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_42_go = 10'h2a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_43_go = 10'h2b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_44_go = 10'h2c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_45_go = 10'h2d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_46_go = 10'h2e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_47_go = 10'h2f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_48_go = 10'h30 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_49_go = 10'h31 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_50_go = 10'h32 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_51_go = 10'h33 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_52_go = 10'h34 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_53_go = 10'h35 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_54_go = 10'h36 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_55_go = 10'h37 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_56_go = 10'h38 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_57_go = 10'h39 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_58_go = 10'h3a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_59_go = 10'h3b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_60_go = 10'h3c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_61_go = 10'h3d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_62_go = 10'h3e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_63_go = 10'h3f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_64_go = 10'h40 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_65_go = 10'h41 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_66_go = 10'h42 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_67_go = 10'h43 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_68_go = 10'h44 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_69_go = 10'h45 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_70_go = 10'h46 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_71_go = 10'h47 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_72_go = 10'h48 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_73_go = 10'h49 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_74_go = 10'h4a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_75_go = 10'h4b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_76_go = 10'h4c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_77_go = 10'h4d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_78_go = 10'h4e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_79_go = 10'h4f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_80_go = 10'h50 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_81_go = 10'h51 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_82_go = 10'h52 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_83_go = 10'h53 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_84_go = 10'h54 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_85_go = 10'h55 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_86_go = 10'h56 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_87_go = 10'h57 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_88_go = 10'h58 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_89_go = 10'h59 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_90_go = 10'h5a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_91_go = 10'h5b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_92_go = 10'h5c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_93_go = 10'h5d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_94_go = 10'h5e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_95_go = 10'h5f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_96_go = 10'h60 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_97_go = 10'h61 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_98_go = 10'h62 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_99_go = 10'h63 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_100_go = 10'h64 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_101_go = 10'h65 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_102_go = 10'h66 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_103_go = 10'h67 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_104_go = 10'h68 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_105_go = 10'h69 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_106_go = 10'h6a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_107_go = 10'h6b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_108_go = 10'h6c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_109_go = 10'h6d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_110_go = 10'h6e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_111_go = 10'h6f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_112_go = 10'h70 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_113_go = 10'h71 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_114_go = 10'h72 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_115_go = 10'h73 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_116_go = 10'h74 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_117_go = 10'h75 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_118_go = 10'h76 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_119_go = 10'h77 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_120_go = 10'h78 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_121_go = 10'h79 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_122_go = 10'h7a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_123_go = 10'h7b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_124_go = 10'h7c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_125_go = 10'h7d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_126_go = 10'h7e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_127_go = 10'h7f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_128_go = 10'h80 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_129_go = 10'h81 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_130_go = 10'h82 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_131_go = 10'h83 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_132_go = 10'h84 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_133_go = 10'h85 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_134_go = 10'h86 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_135_go = 10'h87 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_136_go = 10'h88 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_137_go = 10'h89 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_138_go = 10'h8a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_139_go = 10'h8b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_140_go = 10'h8c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_141_go = 10'h8d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_142_go = 10'h8e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_143_go = 10'h8f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_144_go = 10'h90 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_145_go = 10'h91 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_146_go = 10'h92 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_147_go = 10'h93 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_148_go = 10'h94 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_149_go = 10'h95 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_150_go = 10'h96 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_151_go = 10'h97 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_152_go = 10'h98 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_153_go = 10'h99 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_154_go = 10'h9a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_155_go = 10'h9b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_156_go = 10'h9c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_157_go = 10'h9d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_158_go = 10'h9e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_159_go = 10'h9f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_160_go = 10'ha0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_161_go = 10'ha1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_162_go = 10'ha2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_163_go = 10'ha3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_164_go = 10'ha4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_165_go = 10'ha5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_166_go = 10'ha6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_167_go = 10'ha7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_168_go = 10'ha8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_169_go = 10'ha9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_170_go = 10'haa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_171_go = 10'hab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_172_go = 10'hac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_173_go = 10'had == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_174_go = 10'hae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_175_go = 10'haf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_176_go = 10'hb0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_177_go = 10'hb1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_178_go = 10'hb2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_179_go = 10'hb3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_180_go = 10'hb4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_181_go = 10'hb5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_182_go = 10'hb6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_183_go = 10'hb7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_184_go = 10'hb8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_185_go = 10'hb9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_186_go = 10'hba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_187_go = 10'hbb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_188_go = 10'hbc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_189_go = 10'hbd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_190_go = 10'hbe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_191_go = 10'hbf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_192_go = 10'hc0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_193_go = 10'hc1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_194_go = 10'hc2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_195_go = 10'hc3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_196_go = 10'hc4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_197_go = 10'hc5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_198_go = 10'hc6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_199_go = 10'hc7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_200_go = 10'hc8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_201_go = 10'hc9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_202_go = 10'hca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_203_go = 10'hcb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_204_go = 10'hcc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_205_go = 10'hcd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_206_go = 10'hce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_207_go = 10'hcf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_208_go = 10'hd0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_209_go = 10'hd1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_210_go = 10'hd2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_211_go = 10'hd3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_212_go = 10'hd4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_213_go = 10'hd5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_214_go = 10'hd6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_215_go = 10'hd7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_216_go = 10'hd8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_217_go = 10'hd9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_218_go = 10'hda == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_219_go = 10'hdb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_220_go = 10'hdc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_221_go = 10'hdd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_222_go = 10'hde == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_223_go = 10'hdf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_224_go = 10'he0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_225_go = 10'he1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_226_go = 10'he2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_227_go = 10'he3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_228_go = 10'he4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_229_go = 10'he5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_230_go = 10'he6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_231_go = 10'he7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_232_go = 10'he8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_233_go = 10'he9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_234_go = 10'hea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_235_go = 10'heb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_236_go = 10'hec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_237_go = 10'hed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_238_go = 10'hee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_239_go = 10'hef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_240_go = 10'hf0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_241_go = 10'hf1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_242_go = 10'hf2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_243_go = 10'hf3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_244_go = 10'hf4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_245_go = 10'hf5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_246_go = 10'hf6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_247_go = 10'hf7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_248_go = 10'hf8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_249_go = 10'hf9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_250_go = 10'hfa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_251_go = 10'hfb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_252_go = 10'hfc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_253_go = 10'hfd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_254_go = 10'hfe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_255_go = 10'hff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_256_go = 10'h100 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_257_go = 10'h101 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_258_go = 10'h102 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_259_go = 10'h103 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_260_go = 10'h104 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_261_go = 10'h105 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_262_go = 10'h106 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_263_go = 10'h107 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_264_go = 10'h108 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_265_go = 10'h109 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_266_go = 10'h10a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_267_go = 10'h10b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_268_go = 10'h10c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_269_go = 10'h10d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_270_go = 10'h10e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_271_go = 10'h10f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_272_go = 10'h110 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_273_go = 10'h111 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_274_go = 10'h112 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_275_go = 10'h113 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_276_go = 10'h114 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_277_go = 10'h115 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_278_go = 10'h116 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_279_go = 10'h117 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_280_go = 10'h118 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_281_go = 10'h119 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_282_go = 10'h11a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_283_go = 10'h11b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_284_go = 10'h11c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_285_go = 10'h11d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_286_go = 10'h11e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_287_go = 10'h11f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_288_go = 10'h120 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_289_go = 10'h121 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_290_go = 10'h122 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_291_go = 10'h123 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_292_go = 10'h124 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_293_go = 10'h125 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_294_go = 10'h126 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_295_go = 10'h127 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_296_go = 10'h128 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_297_go = 10'h129 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_298_go = 10'h12a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_299_go = 10'h12b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_300_go = 10'h12c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_301_go = 10'h12d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_302_go = 10'h12e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_303_go = 10'h12f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_304_go = 10'h130 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_305_go = 10'h131 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_306_go = 10'h132 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_307_go = 10'h133 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_308_go = 10'h134 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_309_go = 10'h135 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_310_go = 10'h136 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_311_go = 10'h137 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_312_go = 10'h138 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_313_go = 10'h139 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_314_go = 10'h13a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_315_go = 10'h13b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_316_go = 10'h13c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_317_go = 10'h13d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_318_go = 10'h13e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_319_go = 10'h13f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_320_go = 10'h140 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_321_go = 10'h141 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_322_go = 10'h142 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_323_go = 10'h143 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_324_go = 10'h144 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_325_go = 10'h145 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_326_go = 10'h146 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_327_go = 10'h147 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_328_go = 10'h148 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_329_go = 10'h149 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_330_go = 10'h14a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_331_go = 10'h14b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_332_go = 10'h14c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_333_go = 10'h14d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_334_go = 10'h14e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_335_go = 10'h14f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_336_go = 10'h150 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_337_go = 10'h151 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_338_go = 10'h152 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_339_go = 10'h153 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_340_go = 10'h154 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_341_go = 10'h155 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_342_go = 10'h156 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_343_go = 10'h157 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_344_go = 10'h158 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_345_go = 10'h159 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_346_go = 10'h15a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_347_go = 10'h15b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_348_go = 10'h15c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_349_go = 10'h15d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_350_go = 10'h15e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_351_go = 10'h15f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_352_go = 10'h160 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_353_go = 10'h161 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_354_go = 10'h162 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_355_go = 10'h163 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_356_go = 10'h164 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_357_go = 10'h165 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_358_go = 10'h166 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_359_go = 10'h167 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_360_go = 10'h168 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_361_go = 10'h169 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_362_go = 10'h16a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_363_go = 10'h16b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_364_go = 10'h16c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_365_go = 10'h16d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_366_go = 10'h16e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_367_go = 10'h16f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_368_go = 10'h170 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_369_go = 10'h171 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_370_go = 10'h172 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_371_go = 10'h173 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_372_go = 10'h174 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_373_go = 10'h175 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_374_go = 10'h176 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_375_go = 10'h177 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_376_go = 10'h178 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_377_go = 10'h179 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_378_go = 10'h17a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_379_go = 10'h17b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_380_go = 10'h17c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_381_go = 10'h17d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_382_go = 10'h17e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_383_go = 10'h17f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_384_go = 10'h180 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_385_go = 10'h181 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_386_go = 10'h182 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_387_go = 10'h183 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_388_go = 10'h184 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_389_go = 10'h185 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_390_go = 10'h186 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_391_go = 10'h187 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_392_go = 10'h188 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_393_go = 10'h189 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_394_go = 10'h18a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_395_go = 10'h18b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_396_go = 10'h18c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_397_go = 10'h18d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_398_go = 10'h18e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_399_go = 10'h18f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_400_go = 10'h190 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_401_go = 10'h191 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_402_go = 10'h192 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_403_go = 10'h193 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_404_go = 10'h194 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_405_go = 10'h195 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_406_go = 10'h196 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_407_go = 10'h197 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_408_go = 10'h198 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_409_go = 10'h199 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_410_go = 10'h19a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_411_go = 10'h19b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_412_go = 10'h19c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_413_go = 10'h19d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_414_go = 10'h19e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_415_go = 10'h19f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_416_go = 10'h1a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_417_go = 10'h1a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_418_go = 10'h1a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_419_go = 10'h1a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_420_go = 10'h1a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_421_go = 10'h1a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_422_go = 10'h1a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_423_go = 10'h1a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_424_go = 10'h1a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_425_go = 10'h1a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_426_go = 10'h1aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_427_go = 10'h1ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_428_go = 10'h1ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_429_go = 10'h1ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_430_go = 10'h1ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_431_go = 10'h1af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_432_go = 10'h1b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_433_go = 10'h1b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_434_go = 10'h1b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_435_go = 10'h1b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_436_go = 10'h1b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_437_go = 10'h1b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_438_go = 10'h1b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_439_go = 10'h1b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_440_go = 10'h1b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_441_go = 10'h1b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_442_go = 10'h1ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_443_go = 10'h1bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_444_go = 10'h1bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_445_go = 10'h1bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_446_go = 10'h1be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_447_go = 10'h1bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_448_go = 10'h1c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_449_go = 10'h1c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_450_go = 10'h1c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_451_go = 10'h1c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_452_go = 10'h1c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_453_go = 10'h1c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_454_go = 10'h1c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_455_go = 10'h1c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_456_go = 10'h1c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_457_go = 10'h1c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_458_go = 10'h1ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_459_go = 10'h1cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_460_go = 10'h1cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_461_go = 10'h1cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_462_go = 10'h1ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_463_go = 10'h1cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_464_go = 10'h1d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_465_go = 10'h1d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_466_go = 10'h1d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_467_go = 10'h1d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_468_go = 10'h1d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_469_go = 10'h1d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_470_go = 10'h1d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_471_go = 10'h1d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_472_go = 10'h1d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_473_go = 10'h1d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_474_go = 10'h1da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_475_go = 10'h1db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_476_go = 10'h1dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_477_go = 10'h1dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_478_go = 10'h1de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_479_go = 10'h1df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_480_go = 10'h1e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_481_go = 10'h1e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_482_go = 10'h1e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_483_go = 10'h1e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_484_go = 10'h1e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_485_go = 10'h1e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_486_go = 10'h1e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_487_go = 10'h1e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_488_go = 10'h1e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_489_go = 10'h1e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_490_go = 10'h1ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_491_go = 10'h1eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_492_go = 10'h1ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_493_go = 10'h1ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_494_go = 10'h1ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_495_go = 10'h1ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_496_go = 10'h1f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_497_go = 10'h1f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_498_go = 10'h1f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_499_go = 10'h1f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_500_go = 10'h1f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_501_go = 10'h1f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_502_go = 10'h1f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_503_go = 10'h1f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_504_go = 10'h1f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_505_go = 10'h1f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_506_go = 10'h1fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_507_go = 10'h1fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_508_go = 10'h1fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_509_go = 10'h1fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_510_go = 10'h1fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_511_go = 10'h1ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_512_go = 10'h200 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_513_go = 10'h201 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_514_go = 10'h202 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_515_go = 10'h203 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_516_go = 10'h204 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_517_go = 10'h205 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_518_go = 10'h206 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_519_go = 10'h207 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_520_go = 10'h208 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_521_go = 10'h209 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_522_go = 10'h20a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_523_go = 10'h20b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_524_go = 10'h20c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_525_go = 10'h20d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_526_go = 10'h20e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_527_go = 10'h20f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_528_go = 10'h210 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_529_go = 10'h211 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_530_go = 10'h212 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_531_go = 10'h213 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_532_go = 10'h214 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_533_go = 10'h215 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_534_go = 10'h216 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_535_go = 10'h217 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_536_go = 10'h218 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_537_go = 10'h219 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_538_go = 10'h21a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_539_go = 10'h21b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_540_go = 10'h21c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_541_go = 10'h21d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_542_go = 10'h21e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_543_go = 10'h21f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_544_go = 10'h220 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_545_go = 10'h221 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_546_go = 10'h222 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_547_go = 10'h223 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_548_go = 10'h224 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_549_go = 10'h225 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_550_go = 10'h226 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_551_go = 10'h227 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_552_go = 10'h228 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_553_go = 10'h229 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_554_go = 10'h22a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_555_go = 10'h22b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_556_go = 10'h22c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_557_go = 10'h22d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_558_go = 10'h22e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_559_go = 10'h22f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_560_go = 10'h230 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_561_go = 10'h231 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_562_go = 10'h232 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_563_go = 10'h233 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_564_go = 10'h234 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_565_go = 10'h235 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_566_go = 10'h236 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_567_go = 10'h237 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_568_go = 10'h238 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_569_go = 10'h239 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_570_go = 10'h23a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_571_go = 10'h23b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_572_go = 10'h23c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_573_go = 10'h23d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_574_go = 10'h23e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_575_go = 10'h23f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_576_go = 10'h240 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_577_go = 10'h241 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_578_go = 10'h242 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_579_go = 10'h243 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_580_go = 10'h244 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_581_go = 10'h245 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_582_go = 10'h246 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_583_go = 10'h247 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_584_go = 10'h248 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_585_go = 10'h249 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_586_go = 10'h24a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_587_go = 10'h24b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_588_go = 10'h24c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_589_go = 10'h24d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_590_go = 10'h24e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_591_go = 10'h24f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_592_go = 10'h250 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_593_go = 10'h251 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_594_go = 10'h252 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_595_go = 10'h253 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_596_go = 10'h254 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_597_go = 10'h255 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_598_go = 10'h256 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_599_go = 10'h257 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_600_go = 10'h258 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_601_go = 10'h259 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_602_go = 10'h25a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_603_go = 10'h25b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_604_go = 10'h25c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_605_go = 10'h25d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_606_go = 10'h25e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_607_go = 10'h25f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_608_go = 10'h260 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_609_go = 10'h261 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_610_go = 10'h262 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_611_go = 10'h263 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_612_go = 10'h264 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_613_go = 10'h265 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_614_go = 10'h266 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_615_go = 10'h267 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_616_go = 10'h268 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_617_go = 10'h269 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_618_go = 10'h26a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_619_go = 10'h26b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_620_go = 10'h26c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_621_go = 10'h26d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_622_go = 10'h26e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_623_go = 10'h26f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_624_go = 10'h270 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_625_go = 10'h271 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_626_go = 10'h272 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_627_go = 10'h273 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_628_go = 10'h274 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_629_go = 10'h275 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_630_go = 10'h276 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_631_go = 10'h277 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_632_go = 10'h278 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_633_go = 10'h279 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_634_go = 10'h27a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_635_go = 10'h27b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_636_go = 10'h27c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_637_go = 10'h27d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_638_go = 10'h27e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_639_go = 10'h27f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_640_go = 10'h280 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_641_go = 10'h281 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_642_go = 10'h282 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_643_go = 10'h283 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_644_go = 10'h284 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_645_go = 10'h285 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_646_go = 10'h286 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_647_go = 10'h287 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_648_go = 10'h288 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_649_go = 10'h289 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_650_go = 10'h28a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_651_go = 10'h28b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_652_go = 10'h28c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_653_go = 10'h28d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_654_go = 10'h28e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_655_go = 10'h28f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_656_go = 10'h290 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_657_go = 10'h291 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_658_go = 10'h292 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_659_go = 10'h293 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_660_go = 10'h294 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_661_go = 10'h295 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_662_go = 10'h296 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_663_go = 10'h297 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_664_go = 10'h298 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_665_go = 10'h299 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_666_go = 10'h29a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_667_go = 10'h29b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_668_go = 10'h29c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_669_go = 10'h29d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_670_go = 10'h29e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_671_go = 10'h29f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_672_go = 10'h2a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_673_go = 10'h2a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_674_go = 10'h2a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_675_go = 10'h2a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_676_go = 10'h2a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_677_go = 10'h2a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_678_go = 10'h2a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_679_go = 10'h2a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_680_go = 10'h2a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_681_go = 10'h2a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_682_go = 10'h2aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_683_go = 10'h2ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_684_go = 10'h2ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_685_go = 10'h2ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_686_go = 10'h2ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_687_go = 10'h2af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_688_go = 10'h2b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_689_go = 10'h2b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_690_go = 10'h2b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_691_go = 10'h2b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_692_go = 10'h2b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_693_go = 10'h2b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_694_go = 10'h2b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_695_go = 10'h2b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_696_go = 10'h2b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_697_go = 10'h2b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_698_go = 10'h2ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_699_go = 10'h2bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_700_go = 10'h2bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_701_go = 10'h2bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_702_go = 10'h2be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_703_go = 10'h2bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_704_go = 10'h2c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_705_go = 10'h2c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_706_go = 10'h2c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_707_go = 10'h2c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_708_go = 10'h2c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_709_go = 10'h2c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_710_go = 10'h2c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_711_go = 10'h2c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_712_go = 10'h2c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_713_go = 10'h2c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_714_go = 10'h2ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_715_go = 10'h2cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_716_go = 10'h2cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_717_go = 10'h2cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_718_go = 10'h2ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_719_go = 10'h2cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_720_go = 10'h2d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_721_go = 10'h2d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_722_go = 10'h2d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_723_go = 10'h2d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_724_go = 10'h2d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_725_go = 10'h2d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_726_go = 10'h2d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_727_go = 10'h2d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_728_go = 10'h2d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_729_go = 10'h2d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_730_go = 10'h2da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_731_go = 10'h2db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_732_go = 10'h2dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_733_go = 10'h2dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_734_go = 10'h2de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_735_go = 10'h2df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_736_go = 10'h2e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_737_go = 10'h2e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_738_go = 10'h2e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_739_go = 10'h2e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_740_go = 10'h2e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_741_go = 10'h2e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_742_go = 10'h2e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_743_go = 10'h2e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_744_go = 10'h2e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_745_go = 10'h2e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_746_go = 10'h2ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_747_go = 10'h2eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_748_go = 10'h2ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_749_go = 10'h2ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_750_go = 10'h2ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_751_go = 10'h2ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_752_go = 10'h2f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_753_go = 10'h2f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_754_go = 10'h2f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_755_go = 10'h2f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_756_go = 10'h2f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_757_go = 10'h2f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_758_go = 10'h2f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_759_go = 10'h2f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_760_go = 10'h2f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_761_go = 10'h2f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_762_go = 10'h2fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_763_go = 10'h2fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_764_go = 10'h2fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_765_go = 10'h2fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_766_go = 10'h2fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_767_go = 10'h2ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_768_go = 10'h300 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_769_go = 10'h301 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_770_go = 10'h302 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_771_go = 10'h303 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_772_go = 10'h304 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_773_go = 10'h305 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_774_go = 10'h306 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_775_go = 10'h307 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_776_go = 10'h308 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_777_go = 10'h309 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_778_go = 10'h30a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_779_go = 10'h30b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_780_go = 10'h30c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_781_go = 10'h30d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_782_go = 10'h30e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_783_go = 10'h30f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_784_go = 10'h310 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_785_go = 10'h311 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_786_go = 10'h312 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_787_go = 10'h313 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_788_go = 10'h314 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_789_go = 10'h315 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_790_go = 10'h316 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_791_go = 10'h317 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_792_go = 10'h318 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_793_go = 10'h319 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_794_go = 10'h31a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_795_go = 10'h31b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_796_go = 10'h31c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_797_go = 10'h31d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_798_go = 10'h31e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_799_go = 10'h31f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_800_go = 10'h320 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_801_go = 10'h321 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_802_go = 10'h322 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_803_go = 10'h323 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_804_go = 10'h324 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_805_go = 10'h325 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_806_go = 10'h326 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_807_go = 10'h327 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_808_go = 10'h328 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_809_go = 10'h329 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_810_go = 10'h32a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_811_go = 10'h32b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_812_go = 10'h32c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_813_go = 10'h32d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_814_go = 10'h32e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_815_go = 10'h32f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_816_go = 10'h330 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_817_go = 10'h331 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_818_go = 10'h332 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_819_go = 10'h333 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_820_go = 10'h334 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_821_go = 10'h335 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_822_go = 10'h336 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_823_go = 10'h337 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_824_go = 10'h338 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_825_go = 10'h339 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_826_go = 10'h33a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_827_go = 10'h33b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_828_go = 10'h33c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_829_go = 10'h33d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_830_go = 10'h33e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_831_go = 10'h33f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_832_go = 10'h340 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_833_go = 10'h341 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_834_go = 10'h342 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_835_go = 10'h343 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_836_go = 10'h344 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_837_go = 10'h345 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_838_go = 10'h346 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_839_go = 10'h347 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_840_go = 10'h348 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_841_go = 10'h349 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_842_go = 10'h34a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_843_go = 10'h34b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_844_go = 10'h34c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_845_go = 10'h34d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_846_go = 10'h34e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_847_go = 10'h34f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_848_go = 10'h350 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_849_go = 10'h351 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_850_go = 10'h352 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_851_go = 10'h353 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_852_go = 10'h354 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_853_go = 10'h355 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_854_go = 10'h356 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_855_go = 10'h357 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_856_go = 10'h358 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_857_go = 10'h359 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_858_go = 10'h35a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_859_go = 10'h35b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_860_go = 10'h35c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_861_go = 10'h35d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_862_go = 10'h35e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_863_go = 10'h35f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_864_go = 10'h360 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_865_go = 10'h361 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_866_go = 10'h362 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_867_go = 10'h363 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_868_go = 10'h364 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_869_go = 10'h365 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_870_go = 10'h366 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_871_go = 10'h367 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_872_go = 10'h368 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_873_go = 10'h369 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_874_go = 10'h36a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_875_go = 10'h36b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_876_go = 10'h36c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_877_go = 10'h36d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_878_go = 10'h36e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_879_go = 10'h36f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_880_go = 10'h370 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_881_go = 10'h371 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_882_go = 10'h372 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_883_go = 10'h373 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_884_go = 10'h374 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_885_go = 10'h375 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_886_go = 10'h376 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_887_go = 10'h377 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_888_go = 10'h378 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_889_go = 10'h379 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_890_go = 10'h37a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_891_go = 10'h37b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_892_go = 10'h37c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_893_go = 10'h37d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_894_go = 10'h37e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_895_go = 10'h37f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_896_go = 10'h380 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_897_go = 10'h381 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_898_go = 10'h382 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_899_go = 10'h383 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_900_go = 10'h384 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_901_go = 10'h385 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_902_go = 10'h386 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_903_go = 10'h387 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_904_go = 10'h388 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_905_go = 10'h389 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_906_go = 10'h38a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_907_go = 10'h38b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_908_go = 10'h38c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_909_go = 10'h38d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_910_go = 10'h38e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_911_go = 10'h38f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_912_go = 10'h390 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_913_go = 10'h391 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_914_go = 10'h392 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_915_go = 10'h393 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_916_go = 10'h394 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_917_go = 10'h395 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_918_go = 10'h396 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_919_go = 10'h397 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_920_go = 10'h398 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_921_go = 10'h399 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_922_go = 10'h39a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_923_go = 10'h39b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_924_go = 10'h39c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_925_go = 10'h39d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_926_go = 10'h39e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_927_go = 10'h39f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_928_go = 10'h3a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_929_go = 10'h3a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_930_go = 10'h3a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_931_go = 10'h3a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_932_go = 10'h3a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_933_go = 10'h3a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_934_go = 10'h3a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_935_go = 10'h3a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_936_go = 10'h3a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_937_go = 10'h3a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_938_go = 10'h3aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_939_go = 10'h3ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_940_go = 10'h3ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_941_go = 10'h3ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_942_go = 10'h3ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_943_go = 10'h3af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_944_go = 10'h3b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_945_go = 10'h3b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_946_go = 10'h3b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_947_go = 10'h3b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_948_go = 10'h3b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_949_go = 10'h3b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_950_go = 10'h3b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_951_go = 10'h3b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_952_go = 10'h3b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_953_go = 10'h3b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_954_go = 10'h3ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_955_go = 10'h3bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_956_go = 10'h3bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_957_go = 10'h3bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_958_go = 10'h3be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_959_go = 10'h3bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_960_go = 10'h3c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_961_go = 10'h3c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_962_go = 10'h3c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_963_go = 10'h3c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_964_go = 10'h3c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_965_go = 10'h3c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_966_go = 10'h3c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_967_go = 10'h3c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_968_go = 10'h3c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_969_go = 10'h3c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_970_go = 10'h3ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_971_go = 10'h3cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_972_go = 10'h3cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_973_go = 10'h3cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_974_go = 10'h3ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_975_go = 10'h3cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_976_go = 10'h3d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_977_go = 10'h3d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_978_go = 10'h3d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_979_go = 10'h3d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_980_go = 10'h3d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_981_go = 10'h3d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_982_go = 10'h3d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_983_go = 10'h3d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_984_go = 10'h3d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_985_go = 10'h3d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_986_go = 10'h3da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_987_go = 10'h3db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_988_go = 10'h3dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_989_go = 10'h3dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_990_go = 10'h3de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_991_go = 10'h3df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_992_go = 10'h3e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_993_go = 10'h3e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_994_go = 10'h3e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_995_go = 10'h3e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_996_go = 10'h3e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_997_go = 10'h3e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_998_go = 10'h3e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_999_go = 10'h3e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1000_go = 10'h3e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1001_go = 10'h3e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1002_go = 10'h3ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1003_go = 10'h3eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1004_go = 10'h3ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1005_go = 10'h3ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1006_go = 10'h3ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1007_go = 10'h3ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1008_go = 10'h3f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1009_go = 10'h3f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1010_go = 10'h3f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1011_go = 10'h3f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1012_go = 10'h3f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1013_go = 10'h3f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1014_go = 10'h3f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1015_go = 10'h3f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1016_go = 10'h3f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1017_go = 10'h3f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1018_go = 10'h3fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1019_go = 10'h3fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1020_go = 10'h3fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1021_go = 10'h3fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1022_go = 10'h3fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign flags_1023_go = 10'h3ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@138773.4]
  assign accessRegisterCommandReg_postexec = _T_20900[18]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138817.4]
  assign accessRegisterCommandReg_size = _T_20900[22:20]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@138821.4]
  assign _T_20934 = accessRegisterCommandReg_regno & 16'h1f; // @[Debug.scala 840:66:shc.marmotcaravel.MarmotCaravelConfig.fir@138853.4]
  assign abstractGeneratedI_rd = _T_20934[4:0]; // @[Debug.scala 835:34:shc.marmotcaravel.MarmotCaravelConfig.fir@138831.4 Debug.scala 840:31:shc.marmotcaravel.MarmotCaravelConfig.fir@138854.4]
  assign _T_20957 = {abstractGeneratedI_rd,7'h3}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138902.6]
  assign _T_20959 = {17'h7000,accessRegisterCommandReg_size}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138904.6]
  assign _T_20960 = {_T_20959,_T_20957}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138905.6]
  assign _T_20961 = {accessRegisterCommandReg_size,5'h0}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138906.6]
  assign _T_20962 = {_T_20961,7'h23}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138907.6]
  assign _T_20963 = {7'h1c,abstractGeneratedI_rd}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138908.6]
  assign _T_20964 = {_T_20963,5'h0}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138909.6]
  assign _T_20965 = {_T_20964,_T_20962}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@138910.6]
  assign _T_20982 = {6'h0,resumeReqRegs_0}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138930.4]
  assign _T_20983 = {_T_20982,flags_0_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138931.4]
  assign _T_20985 = {7'h0,flags_1_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138933.4]
  assign _T_20987 = {7'h0,flags_2_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138935.4]
  assign _T_20989 = {7'h0,flags_3_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138937.4]
  assign _T_20991 = {7'h0,flags_4_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138939.4]
  assign _T_20993 = {7'h0,flags_5_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138941.4]
  assign _T_20995 = {7'h0,flags_6_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138943.4]
  assign _T_20997 = {7'h0,flags_7_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138945.4]
  assign _T_20999 = {7'h0,flags_8_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138947.4]
  assign _T_21001 = {7'h0,flags_9_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138949.4]
  assign _T_21003 = {7'h0,flags_10_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138951.4]
  assign _T_21005 = {7'h0,flags_11_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138953.4]
  assign _T_21007 = {7'h0,flags_12_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138955.4]
  assign _T_21009 = {7'h0,flags_13_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138957.4]
  assign _T_21011 = {7'h0,flags_14_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138959.4]
  assign _T_21013 = {7'h0,flags_15_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138961.4]
  assign _T_21015 = {7'h0,flags_16_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138963.4]
  assign _T_21017 = {7'h0,flags_17_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138965.4]
  assign _T_21019 = {7'h0,flags_18_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138967.4]
  assign _T_21021 = {7'h0,flags_19_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138969.4]
  assign _T_21023 = {7'h0,flags_20_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138971.4]
  assign _T_21025 = {7'h0,flags_21_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138973.4]
  assign _T_21027 = {7'h0,flags_22_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138975.4]
  assign _T_21029 = {7'h0,flags_23_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138977.4]
  assign _T_21031 = {7'h0,flags_24_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138979.4]
  assign _T_21033 = {7'h0,flags_25_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138981.4]
  assign _T_21035 = {7'h0,flags_26_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138983.4]
  assign _T_21037 = {7'h0,flags_27_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138985.4]
  assign _T_21039 = {7'h0,flags_28_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138987.4]
  assign _T_21041 = {7'h0,flags_29_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138989.4]
  assign _T_21043 = {7'h0,flags_30_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138991.4]
  assign _T_21045 = {7'h0,flags_31_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138993.4]
  assign _T_21047 = {7'h0,flags_32_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138995.4]
  assign _T_21049 = {7'h0,flags_33_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138997.4]
  assign _T_21051 = {7'h0,flags_34_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@138999.4]
  assign _T_21053 = {7'h0,flags_35_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139001.4]
  assign _T_21055 = {7'h0,flags_36_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139003.4]
  assign _T_21057 = {7'h0,flags_37_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139005.4]
  assign _T_21059 = {7'h0,flags_38_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139007.4]
  assign _T_21061 = {7'h0,flags_39_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139009.4]
  assign _T_21063 = {7'h0,flags_40_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139011.4]
  assign _T_21065 = {7'h0,flags_41_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139013.4]
  assign _T_21067 = {7'h0,flags_42_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139015.4]
  assign _T_21069 = {7'h0,flags_43_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139017.4]
  assign _T_21071 = {7'h0,flags_44_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139019.4]
  assign _T_21073 = {7'h0,flags_45_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139021.4]
  assign _T_21075 = {7'h0,flags_46_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139023.4]
  assign _T_21077 = {7'h0,flags_47_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139025.4]
  assign _T_21079 = {7'h0,flags_48_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139027.4]
  assign _T_21081 = {7'h0,flags_49_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139029.4]
  assign _T_21083 = {7'h0,flags_50_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139031.4]
  assign _T_21085 = {7'h0,flags_51_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139033.4]
  assign _T_21087 = {7'h0,flags_52_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139035.4]
  assign _T_21089 = {7'h0,flags_53_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139037.4]
  assign _T_21091 = {7'h0,flags_54_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139039.4]
  assign _T_21093 = {7'h0,flags_55_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139041.4]
  assign _T_21095 = {7'h0,flags_56_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139043.4]
  assign _T_21097 = {7'h0,flags_57_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139045.4]
  assign _T_21099 = {7'h0,flags_58_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139047.4]
  assign _T_21101 = {7'h0,flags_59_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139049.4]
  assign _T_21103 = {7'h0,flags_60_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139051.4]
  assign _T_21105 = {7'h0,flags_61_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139053.4]
  assign _T_21107 = {7'h0,flags_62_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139055.4]
  assign _T_21109 = {7'h0,flags_63_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139057.4]
  assign _T_21111 = {7'h0,flags_64_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139059.4]
  assign _T_21113 = {7'h0,flags_65_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139061.4]
  assign _T_21115 = {7'h0,flags_66_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139063.4]
  assign _T_21117 = {7'h0,flags_67_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139065.4]
  assign _T_21119 = {7'h0,flags_68_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139067.4]
  assign _T_21121 = {7'h0,flags_69_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139069.4]
  assign _T_21123 = {7'h0,flags_70_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139071.4]
  assign _T_21125 = {7'h0,flags_71_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139073.4]
  assign _T_21127 = {7'h0,flags_72_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139075.4]
  assign _T_21129 = {7'h0,flags_73_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139077.4]
  assign _T_21131 = {7'h0,flags_74_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139079.4]
  assign _T_21133 = {7'h0,flags_75_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139081.4]
  assign _T_21135 = {7'h0,flags_76_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139083.4]
  assign _T_21137 = {7'h0,flags_77_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139085.4]
  assign _T_21139 = {7'h0,flags_78_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139087.4]
  assign _T_21141 = {7'h0,flags_79_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139089.4]
  assign _T_21143 = {7'h0,flags_80_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139091.4]
  assign _T_21145 = {7'h0,flags_81_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139093.4]
  assign _T_21147 = {7'h0,flags_82_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139095.4]
  assign _T_21149 = {7'h0,flags_83_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139097.4]
  assign _T_21151 = {7'h0,flags_84_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139099.4]
  assign _T_21153 = {7'h0,flags_85_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139101.4]
  assign _T_21155 = {7'h0,flags_86_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139103.4]
  assign _T_21157 = {7'h0,flags_87_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139105.4]
  assign _T_21159 = {7'h0,flags_88_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139107.4]
  assign _T_21161 = {7'h0,flags_89_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139109.4]
  assign _T_21163 = {7'h0,flags_90_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139111.4]
  assign _T_21165 = {7'h0,flags_91_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139113.4]
  assign _T_21167 = {7'h0,flags_92_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139115.4]
  assign _T_21169 = {7'h0,flags_93_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139117.4]
  assign _T_21171 = {7'h0,flags_94_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139119.4]
  assign _T_21173 = {7'h0,flags_95_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139121.4]
  assign _T_21175 = {7'h0,flags_96_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139123.4]
  assign _T_21177 = {7'h0,flags_97_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139125.4]
  assign _T_21179 = {7'h0,flags_98_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139127.4]
  assign _T_21181 = {7'h0,flags_99_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139129.4]
  assign _T_21183 = {7'h0,flags_100_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139131.4]
  assign _T_21185 = {7'h0,flags_101_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139133.4]
  assign _T_21187 = {7'h0,flags_102_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139135.4]
  assign _T_21189 = {7'h0,flags_103_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139137.4]
  assign _T_21191 = {7'h0,flags_104_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139139.4]
  assign _T_21193 = {7'h0,flags_105_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139141.4]
  assign _T_21195 = {7'h0,flags_106_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139143.4]
  assign _T_21197 = {7'h0,flags_107_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139145.4]
  assign _T_21199 = {7'h0,flags_108_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139147.4]
  assign _T_21201 = {7'h0,flags_109_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139149.4]
  assign _T_21203 = {7'h0,flags_110_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139151.4]
  assign _T_21205 = {7'h0,flags_111_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139153.4]
  assign _T_21207 = {7'h0,flags_112_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139155.4]
  assign _T_21209 = {7'h0,flags_113_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139157.4]
  assign _T_21211 = {7'h0,flags_114_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139159.4]
  assign _T_21213 = {7'h0,flags_115_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139161.4]
  assign _T_21215 = {7'h0,flags_116_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139163.4]
  assign _T_21217 = {7'h0,flags_117_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139165.4]
  assign _T_21219 = {7'h0,flags_118_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139167.4]
  assign _T_21221 = {7'h0,flags_119_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139169.4]
  assign _T_21223 = {7'h0,flags_120_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139171.4]
  assign _T_21225 = {7'h0,flags_121_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139173.4]
  assign _T_21227 = {7'h0,flags_122_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139175.4]
  assign _T_21229 = {7'h0,flags_123_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139177.4]
  assign _T_21231 = {7'h0,flags_124_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139179.4]
  assign _T_21233 = {7'h0,flags_125_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139181.4]
  assign _T_21235 = {7'h0,flags_126_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139183.4]
  assign _T_21237 = {7'h0,flags_127_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139185.4]
  assign _T_21239 = {7'h0,flags_128_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139187.4]
  assign _T_21241 = {7'h0,flags_129_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139189.4]
  assign _T_21243 = {7'h0,flags_130_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139191.4]
  assign _T_21245 = {7'h0,flags_131_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139193.4]
  assign _T_21247 = {7'h0,flags_132_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139195.4]
  assign _T_21249 = {7'h0,flags_133_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139197.4]
  assign _T_21251 = {7'h0,flags_134_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139199.4]
  assign _T_21253 = {7'h0,flags_135_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139201.4]
  assign _T_21255 = {7'h0,flags_136_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139203.4]
  assign _T_21257 = {7'h0,flags_137_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139205.4]
  assign _T_21259 = {7'h0,flags_138_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139207.4]
  assign _T_21261 = {7'h0,flags_139_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139209.4]
  assign _T_21263 = {7'h0,flags_140_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139211.4]
  assign _T_21265 = {7'h0,flags_141_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139213.4]
  assign _T_21267 = {7'h0,flags_142_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139215.4]
  assign _T_21269 = {7'h0,flags_143_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139217.4]
  assign _T_21271 = {7'h0,flags_144_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139219.4]
  assign _T_21273 = {7'h0,flags_145_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139221.4]
  assign _T_21275 = {7'h0,flags_146_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139223.4]
  assign _T_21277 = {7'h0,flags_147_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139225.4]
  assign _T_21279 = {7'h0,flags_148_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139227.4]
  assign _T_21281 = {7'h0,flags_149_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139229.4]
  assign _T_21283 = {7'h0,flags_150_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139231.4]
  assign _T_21285 = {7'h0,flags_151_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139233.4]
  assign _T_21287 = {7'h0,flags_152_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139235.4]
  assign _T_21289 = {7'h0,flags_153_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139237.4]
  assign _T_21291 = {7'h0,flags_154_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139239.4]
  assign _T_21293 = {7'h0,flags_155_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139241.4]
  assign _T_21295 = {7'h0,flags_156_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139243.4]
  assign _T_21297 = {7'h0,flags_157_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139245.4]
  assign _T_21299 = {7'h0,flags_158_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139247.4]
  assign _T_21301 = {7'h0,flags_159_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139249.4]
  assign _T_21303 = {7'h0,flags_160_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139251.4]
  assign _T_21305 = {7'h0,flags_161_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139253.4]
  assign _T_21307 = {7'h0,flags_162_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139255.4]
  assign _T_21309 = {7'h0,flags_163_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139257.4]
  assign _T_21311 = {7'h0,flags_164_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139259.4]
  assign _T_21313 = {7'h0,flags_165_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139261.4]
  assign _T_21315 = {7'h0,flags_166_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139263.4]
  assign _T_21317 = {7'h0,flags_167_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139265.4]
  assign _T_21319 = {7'h0,flags_168_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139267.4]
  assign _T_21321 = {7'h0,flags_169_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139269.4]
  assign _T_21323 = {7'h0,flags_170_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139271.4]
  assign _T_21325 = {7'h0,flags_171_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139273.4]
  assign _T_21327 = {7'h0,flags_172_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139275.4]
  assign _T_21329 = {7'h0,flags_173_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139277.4]
  assign _T_21331 = {7'h0,flags_174_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139279.4]
  assign _T_21333 = {7'h0,flags_175_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139281.4]
  assign _T_21335 = {7'h0,flags_176_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139283.4]
  assign _T_21337 = {7'h0,flags_177_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139285.4]
  assign _T_21339 = {7'h0,flags_178_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139287.4]
  assign _T_21341 = {7'h0,flags_179_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139289.4]
  assign _T_21343 = {7'h0,flags_180_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139291.4]
  assign _T_21345 = {7'h0,flags_181_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139293.4]
  assign _T_21347 = {7'h0,flags_182_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139295.4]
  assign _T_21349 = {7'h0,flags_183_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139297.4]
  assign _T_21351 = {7'h0,flags_184_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139299.4]
  assign _T_21353 = {7'h0,flags_185_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139301.4]
  assign _T_21355 = {7'h0,flags_186_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139303.4]
  assign _T_21357 = {7'h0,flags_187_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139305.4]
  assign _T_21359 = {7'h0,flags_188_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139307.4]
  assign _T_21361 = {7'h0,flags_189_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139309.4]
  assign _T_21363 = {7'h0,flags_190_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139311.4]
  assign _T_21365 = {7'h0,flags_191_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139313.4]
  assign _T_21367 = {7'h0,flags_192_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139315.4]
  assign _T_21369 = {7'h0,flags_193_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139317.4]
  assign _T_21371 = {7'h0,flags_194_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139319.4]
  assign _T_21373 = {7'h0,flags_195_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139321.4]
  assign _T_21375 = {7'h0,flags_196_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139323.4]
  assign _T_21377 = {7'h0,flags_197_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139325.4]
  assign _T_21379 = {7'h0,flags_198_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139327.4]
  assign _T_21381 = {7'h0,flags_199_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139329.4]
  assign _T_21383 = {7'h0,flags_200_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139331.4]
  assign _T_21385 = {7'h0,flags_201_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139333.4]
  assign _T_21387 = {7'h0,flags_202_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139335.4]
  assign _T_21389 = {7'h0,flags_203_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139337.4]
  assign _T_21391 = {7'h0,flags_204_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139339.4]
  assign _T_21393 = {7'h0,flags_205_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139341.4]
  assign _T_21395 = {7'h0,flags_206_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139343.4]
  assign _T_21397 = {7'h0,flags_207_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139345.4]
  assign _T_21399 = {7'h0,flags_208_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139347.4]
  assign _T_21401 = {7'h0,flags_209_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139349.4]
  assign _T_21403 = {7'h0,flags_210_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139351.4]
  assign _T_21405 = {7'h0,flags_211_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139353.4]
  assign _T_21407 = {7'h0,flags_212_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139355.4]
  assign _T_21409 = {7'h0,flags_213_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139357.4]
  assign _T_21411 = {7'h0,flags_214_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139359.4]
  assign _T_21413 = {7'h0,flags_215_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139361.4]
  assign _T_21415 = {7'h0,flags_216_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139363.4]
  assign _T_21417 = {7'h0,flags_217_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139365.4]
  assign _T_21419 = {7'h0,flags_218_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139367.4]
  assign _T_21421 = {7'h0,flags_219_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139369.4]
  assign _T_21423 = {7'h0,flags_220_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139371.4]
  assign _T_21425 = {7'h0,flags_221_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139373.4]
  assign _T_21427 = {7'h0,flags_222_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139375.4]
  assign _T_21429 = {7'h0,flags_223_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139377.4]
  assign _T_21431 = {7'h0,flags_224_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139379.4]
  assign _T_21433 = {7'h0,flags_225_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139381.4]
  assign _T_21435 = {7'h0,flags_226_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139383.4]
  assign _T_21437 = {7'h0,flags_227_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139385.4]
  assign _T_21439 = {7'h0,flags_228_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139387.4]
  assign _T_21441 = {7'h0,flags_229_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139389.4]
  assign _T_21443 = {7'h0,flags_230_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139391.4]
  assign _T_21445 = {7'h0,flags_231_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139393.4]
  assign _T_21447 = {7'h0,flags_232_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139395.4]
  assign _T_21449 = {7'h0,flags_233_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139397.4]
  assign _T_21451 = {7'h0,flags_234_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139399.4]
  assign _T_21453 = {7'h0,flags_235_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139401.4]
  assign _T_21455 = {7'h0,flags_236_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139403.4]
  assign _T_21457 = {7'h0,flags_237_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139405.4]
  assign _T_21459 = {7'h0,flags_238_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139407.4]
  assign _T_21461 = {7'h0,flags_239_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139409.4]
  assign _T_21463 = {7'h0,flags_240_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139411.4]
  assign _T_21465 = {7'h0,flags_241_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139413.4]
  assign _T_21467 = {7'h0,flags_242_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139415.4]
  assign _T_21469 = {7'h0,flags_243_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139417.4]
  assign _T_21471 = {7'h0,flags_244_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139419.4]
  assign _T_21473 = {7'h0,flags_245_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139421.4]
  assign _T_21475 = {7'h0,flags_246_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139423.4]
  assign _T_21477 = {7'h0,flags_247_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139425.4]
  assign _T_21479 = {7'h0,flags_248_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139427.4]
  assign _T_21481 = {7'h0,flags_249_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139429.4]
  assign _T_21483 = {7'h0,flags_250_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139431.4]
  assign _T_21485 = {7'h0,flags_251_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139433.4]
  assign _T_21487 = {7'h0,flags_252_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139435.4]
  assign _T_21489 = {7'h0,flags_253_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139437.4]
  assign _T_21491 = {7'h0,flags_254_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139439.4]
  assign _T_21493 = {7'h0,flags_255_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139441.4]
  assign _T_21495 = {7'h0,flags_256_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139443.4]
  assign _T_21497 = {7'h0,flags_257_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139445.4]
  assign _T_21499 = {7'h0,flags_258_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139447.4]
  assign _T_21501 = {7'h0,flags_259_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139449.4]
  assign _T_21503 = {7'h0,flags_260_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139451.4]
  assign _T_21505 = {7'h0,flags_261_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139453.4]
  assign _T_21507 = {7'h0,flags_262_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139455.4]
  assign _T_21509 = {7'h0,flags_263_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139457.4]
  assign _T_21511 = {7'h0,flags_264_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139459.4]
  assign _T_21513 = {7'h0,flags_265_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139461.4]
  assign _T_21515 = {7'h0,flags_266_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139463.4]
  assign _T_21517 = {7'h0,flags_267_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139465.4]
  assign _T_21519 = {7'h0,flags_268_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139467.4]
  assign _T_21521 = {7'h0,flags_269_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139469.4]
  assign _T_21523 = {7'h0,flags_270_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139471.4]
  assign _T_21525 = {7'h0,flags_271_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139473.4]
  assign _T_21527 = {7'h0,flags_272_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139475.4]
  assign _T_21529 = {7'h0,flags_273_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139477.4]
  assign _T_21531 = {7'h0,flags_274_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139479.4]
  assign _T_21533 = {7'h0,flags_275_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139481.4]
  assign _T_21535 = {7'h0,flags_276_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139483.4]
  assign _T_21537 = {7'h0,flags_277_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139485.4]
  assign _T_21539 = {7'h0,flags_278_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139487.4]
  assign _T_21541 = {7'h0,flags_279_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139489.4]
  assign _T_21543 = {7'h0,flags_280_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139491.4]
  assign _T_21545 = {7'h0,flags_281_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139493.4]
  assign _T_21547 = {7'h0,flags_282_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139495.4]
  assign _T_21549 = {7'h0,flags_283_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139497.4]
  assign _T_21551 = {7'h0,flags_284_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139499.4]
  assign _T_21553 = {7'h0,flags_285_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139501.4]
  assign _T_21555 = {7'h0,flags_286_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139503.4]
  assign _T_21557 = {7'h0,flags_287_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139505.4]
  assign _T_21559 = {7'h0,flags_288_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139507.4]
  assign _T_21561 = {7'h0,flags_289_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139509.4]
  assign _T_21563 = {7'h0,flags_290_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139511.4]
  assign _T_21565 = {7'h0,flags_291_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139513.4]
  assign _T_21567 = {7'h0,flags_292_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139515.4]
  assign _T_21569 = {7'h0,flags_293_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139517.4]
  assign _T_21571 = {7'h0,flags_294_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139519.4]
  assign _T_21573 = {7'h0,flags_295_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139521.4]
  assign _T_21575 = {7'h0,flags_296_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139523.4]
  assign _T_21577 = {7'h0,flags_297_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139525.4]
  assign _T_21579 = {7'h0,flags_298_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139527.4]
  assign _T_21581 = {7'h0,flags_299_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139529.4]
  assign _T_21583 = {7'h0,flags_300_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139531.4]
  assign _T_21585 = {7'h0,flags_301_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139533.4]
  assign _T_21587 = {7'h0,flags_302_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139535.4]
  assign _T_21589 = {7'h0,flags_303_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139537.4]
  assign _T_21591 = {7'h0,flags_304_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139539.4]
  assign _T_21593 = {7'h0,flags_305_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139541.4]
  assign _T_21595 = {7'h0,flags_306_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139543.4]
  assign _T_21597 = {7'h0,flags_307_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139545.4]
  assign _T_21599 = {7'h0,flags_308_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139547.4]
  assign _T_21601 = {7'h0,flags_309_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139549.4]
  assign _T_21603 = {7'h0,flags_310_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139551.4]
  assign _T_21605 = {7'h0,flags_311_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139553.4]
  assign _T_21607 = {7'h0,flags_312_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139555.4]
  assign _T_21609 = {7'h0,flags_313_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139557.4]
  assign _T_21611 = {7'h0,flags_314_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139559.4]
  assign _T_21613 = {7'h0,flags_315_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139561.4]
  assign _T_21615 = {7'h0,flags_316_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139563.4]
  assign _T_21617 = {7'h0,flags_317_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139565.4]
  assign _T_21619 = {7'h0,flags_318_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139567.4]
  assign _T_21621 = {7'h0,flags_319_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139569.4]
  assign _T_21623 = {7'h0,flags_320_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139571.4]
  assign _T_21625 = {7'h0,flags_321_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139573.4]
  assign _T_21627 = {7'h0,flags_322_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139575.4]
  assign _T_21629 = {7'h0,flags_323_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139577.4]
  assign _T_21631 = {7'h0,flags_324_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139579.4]
  assign _T_21633 = {7'h0,flags_325_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139581.4]
  assign _T_21635 = {7'h0,flags_326_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139583.4]
  assign _T_21637 = {7'h0,flags_327_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139585.4]
  assign _T_21639 = {7'h0,flags_328_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139587.4]
  assign _T_21641 = {7'h0,flags_329_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139589.4]
  assign _T_21643 = {7'h0,flags_330_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139591.4]
  assign _T_21645 = {7'h0,flags_331_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139593.4]
  assign _T_21647 = {7'h0,flags_332_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139595.4]
  assign _T_21649 = {7'h0,flags_333_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139597.4]
  assign _T_21651 = {7'h0,flags_334_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139599.4]
  assign _T_21653 = {7'h0,flags_335_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139601.4]
  assign _T_21655 = {7'h0,flags_336_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139603.4]
  assign _T_21657 = {7'h0,flags_337_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139605.4]
  assign _T_21659 = {7'h0,flags_338_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139607.4]
  assign _T_21661 = {7'h0,flags_339_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139609.4]
  assign _T_21663 = {7'h0,flags_340_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139611.4]
  assign _T_21665 = {7'h0,flags_341_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139613.4]
  assign _T_21667 = {7'h0,flags_342_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139615.4]
  assign _T_21669 = {7'h0,flags_343_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139617.4]
  assign _T_21671 = {7'h0,flags_344_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139619.4]
  assign _T_21673 = {7'h0,flags_345_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139621.4]
  assign _T_21675 = {7'h0,flags_346_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139623.4]
  assign _T_21677 = {7'h0,flags_347_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139625.4]
  assign _T_21679 = {7'h0,flags_348_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139627.4]
  assign _T_21681 = {7'h0,flags_349_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139629.4]
  assign _T_21683 = {7'h0,flags_350_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139631.4]
  assign _T_21685 = {7'h0,flags_351_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139633.4]
  assign _T_21687 = {7'h0,flags_352_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139635.4]
  assign _T_21689 = {7'h0,flags_353_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139637.4]
  assign _T_21691 = {7'h0,flags_354_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139639.4]
  assign _T_21693 = {7'h0,flags_355_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139641.4]
  assign _T_21695 = {7'h0,flags_356_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139643.4]
  assign _T_21697 = {7'h0,flags_357_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139645.4]
  assign _T_21699 = {7'h0,flags_358_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139647.4]
  assign _T_21701 = {7'h0,flags_359_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139649.4]
  assign _T_21703 = {7'h0,flags_360_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139651.4]
  assign _T_21705 = {7'h0,flags_361_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139653.4]
  assign _T_21707 = {7'h0,flags_362_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139655.4]
  assign _T_21709 = {7'h0,flags_363_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139657.4]
  assign _T_21711 = {7'h0,flags_364_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139659.4]
  assign _T_21713 = {7'h0,flags_365_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139661.4]
  assign _T_21715 = {7'h0,flags_366_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139663.4]
  assign _T_21717 = {7'h0,flags_367_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139665.4]
  assign _T_21719 = {7'h0,flags_368_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139667.4]
  assign _T_21721 = {7'h0,flags_369_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139669.4]
  assign _T_21723 = {7'h0,flags_370_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139671.4]
  assign _T_21725 = {7'h0,flags_371_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139673.4]
  assign _T_21727 = {7'h0,flags_372_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139675.4]
  assign _T_21729 = {7'h0,flags_373_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139677.4]
  assign _T_21731 = {7'h0,flags_374_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139679.4]
  assign _T_21733 = {7'h0,flags_375_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139681.4]
  assign _T_21735 = {7'h0,flags_376_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139683.4]
  assign _T_21737 = {7'h0,flags_377_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139685.4]
  assign _T_21739 = {7'h0,flags_378_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139687.4]
  assign _T_21741 = {7'h0,flags_379_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139689.4]
  assign _T_21743 = {7'h0,flags_380_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139691.4]
  assign _T_21745 = {7'h0,flags_381_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139693.4]
  assign _T_21747 = {7'h0,flags_382_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139695.4]
  assign _T_21749 = {7'h0,flags_383_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139697.4]
  assign _T_21751 = {7'h0,flags_384_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139699.4]
  assign _T_21753 = {7'h0,flags_385_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139701.4]
  assign _T_21755 = {7'h0,flags_386_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139703.4]
  assign _T_21757 = {7'h0,flags_387_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139705.4]
  assign _T_21759 = {7'h0,flags_388_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139707.4]
  assign _T_21761 = {7'h0,flags_389_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139709.4]
  assign _T_21763 = {7'h0,flags_390_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139711.4]
  assign _T_21765 = {7'h0,flags_391_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139713.4]
  assign _T_21767 = {7'h0,flags_392_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139715.4]
  assign _T_21769 = {7'h0,flags_393_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139717.4]
  assign _T_21771 = {7'h0,flags_394_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139719.4]
  assign _T_21773 = {7'h0,flags_395_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139721.4]
  assign _T_21775 = {7'h0,flags_396_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139723.4]
  assign _T_21777 = {7'h0,flags_397_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139725.4]
  assign _T_21779 = {7'h0,flags_398_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139727.4]
  assign _T_21781 = {7'h0,flags_399_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139729.4]
  assign _T_21783 = {7'h0,flags_400_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139731.4]
  assign _T_21785 = {7'h0,flags_401_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139733.4]
  assign _T_21787 = {7'h0,flags_402_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139735.4]
  assign _T_21789 = {7'h0,flags_403_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139737.4]
  assign _T_21791 = {7'h0,flags_404_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139739.4]
  assign _T_21793 = {7'h0,flags_405_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139741.4]
  assign _T_21795 = {7'h0,flags_406_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139743.4]
  assign _T_21797 = {7'h0,flags_407_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139745.4]
  assign _T_21799 = {7'h0,flags_408_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139747.4]
  assign _T_21801 = {7'h0,flags_409_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139749.4]
  assign _T_21803 = {7'h0,flags_410_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139751.4]
  assign _T_21805 = {7'h0,flags_411_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139753.4]
  assign _T_21807 = {7'h0,flags_412_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139755.4]
  assign _T_21809 = {7'h0,flags_413_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139757.4]
  assign _T_21811 = {7'h0,flags_414_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139759.4]
  assign _T_21813 = {7'h0,flags_415_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139761.4]
  assign _T_21815 = {7'h0,flags_416_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139763.4]
  assign _T_21817 = {7'h0,flags_417_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139765.4]
  assign _T_21819 = {7'h0,flags_418_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139767.4]
  assign _T_21821 = {7'h0,flags_419_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139769.4]
  assign _T_21823 = {7'h0,flags_420_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139771.4]
  assign _T_21825 = {7'h0,flags_421_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139773.4]
  assign _T_21827 = {7'h0,flags_422_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139775.4]
  assign _T_21829 = {7'h0,flags_423_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139777.4]
  assign _T_21831 = {7'h0,flags_424_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139779.4]
  assign _T_21833 = {7'h0,flags_425_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139781.4]
  assign _T_21835 = {7'h0,flags_426_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139783.4]
  assign _T_21837 = {7'h0,flags_427_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139785.4]
  assign _T_21839 = {7'h0,flags_428_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139787.4]
  assign _T_21841 = {7'h0,flags_429_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139789.4]
  assign _T_21843 = {7'h0,flags_430_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139791.4]
  assign _T_21845 = {7'h0,flags_431_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139793.4]
  assign _T_21847 = {7'h0,flags_432_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139795.4]
  assign _T_21849 = {7'h0,flags_433_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139797.4]
  assign _T_21851 = {7'h0,flags_434_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139799.4]
  assign _T_21853 = {7'h0,flags_435_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139801.4]
  assign _T_21855 = {7'h0,flags_436_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139803.4]
  assign _T_21857 = {7'h0,flags_437_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139805.4]
  assign _T_21859 = {7'h0,flags_438_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139807.4]
  assign _T_21861 = {7'h0,flags_439_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139809.4]
  assign _T_21863 = {7'h0,flags_440_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139811.4]
  assign _T_21865 = {7'h0,flags_441_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139813.4]
  assign _T_21867 = {7'h0,flags_442_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139815.4]
  assign _T_21869 = {7'h0,flags_443_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139817.4]
  assign _T_21871 = {7'h0,flags_444_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139819.4]
  assign _T_21873 = {7'h0,flags_445_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139821.4]
  assign _T_21875 = {7'h0,flags_446_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139823.4]
  assign _T_21877 = {7'h0,flags_447_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139825.4]
  assign _T_21879 = {7'h0,flags_448_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139827.4]
  assign _T_21881 = {7'h0,flags_449_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139829.4]
  assign _T_21883 = {7'h0,flags_450_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139831.4]
  assign _T_21885 = {7'h0,flags_451_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139833.4]
  assign _T_21887 = {7'h0,flags_452_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139835.4]
  assign _T_21889 = {7'h0,flags_453_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139837.4]
  assign _T_21891 = {7'h0,flags_454_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139839.4]
  assign _T_21893 = {7'h0,flags_455_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139841.4]
  assign _T_21895 = {7'h0,flags_456_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139843.4]
  assign _T_21897 = {7'h0,flags_457_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139845.4]
  assign _T_21899 = {7'h0,flags_458_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139847.4]
  assign _T_21901 = {7'h0,flags_459_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139849.4]
  assign _T_21903 = {7'h0,flags_460_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139851.4]
  assign _T_21905 = {7'h0,flags_461_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139853.4]
  assign _T_21907 = {7'h0,flags_462_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139855.4]
  assign _T_21909 = {7'h0,flags_463_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139857.4]
  assign _T_21911 = {7'h0,flags_464_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139859.4]
  assign _T_21913 = {7'h0,flags_465_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139861.4]
  assign _T_21915 = {7'h0,flags_466_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139863.4]
  assign _T_21917 = {7'h0,flags_467_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139865.4]
  assign _T_21919 = {7'h0,flags_468_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139867.4]
  assign _T_21921 = {7'h0,flags_469_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139869.4]
  assign _T_21923 = {7'h0,flags_470_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139871.4]
  assign _T_21925 = {7'h0,flags_471_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139873.4]
  assign _T_21927 = {7'h0,flags_472_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139875.4]
  assign _T_21929 = {7'h0,flags_473_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139877.4]
  assign _T_21931 = {7'h0,flags_474_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139879.4]
  assign _T_21933 = {7'h0,flags_475_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139881.4]
  assign _T_21935 = {7'h0,flags_476_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139883.4]
  assign _T_21937 = {7'h0,flags_477_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139885.4]
  assign _T_21939 = {7'h0,flags_478_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139887.4]
  assign _T_21941 = {7'h0,flags_479_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139889.4]
  assign _T_21943 = {7'h0,flags_480_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139891.4]
  assign _T_21945 = {7'h0,flags_481_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139893.4]
  assign _T_21947 = {7'h0,flags_482_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139895.4]
  assign _T_21949 = {7'h0,flags_483_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139897.4]
  assign _T_21951 = {7'h0,flags_484_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139899.4]
  assign _T_21953 = {7'h0,flags_485_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139901.4]
  assign _T_21955 = {7'h0,flags_486_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139903.4]
  assign _T_21957 = {7'h0,flags_487_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139905.4]
  assign _T_21959 = {7'h0,flags_488_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139907.4]
  assign _T_21961 = {7'h0,flags_489_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139909.4]
  assign _T_21963 = {7'h0,flags_490_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139911.4]
  assign _T_21965 = {7'h0,flags_491_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139913.4]
  assign _T_21967 = {7'h0,flags_492_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139915.4]
  assign _T_21969 = {7'h0,flags_493_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139917.4]
  assign _T_21971 = {7'h0,flags_494_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139919.4]
  assign _T_21973 = {7'h0,flags_495_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139921.4]
  assign _T_21975 = {7'h0,flags_496_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139923.4]
  assign _T_21977 = {7'h0,flags_497_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139925.4]
  assign _T_21979 = {7'h0,flags_498_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139927.4]
  assign _T_21981 = {7'h0,flags_499_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139929.4]
  assign _T_21983 = {7'h0,flags_500_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139931.4]
  assign _T_21985 = {7'h0,flags_501_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139933.4]
  assign _T_21987 = {7'h0,flags_502_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139935.4]
  assign _T_21989 = {7'h0,flags_503_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139937.4]
  assign _T_21991 = {7'h0,flags_504_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139939.4]
  assign _T_21993 = {7'h0,flags_505_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139941.4]
  assign _T_21995 = {7'h0,flags_506_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139943.4]
  assign _T_21997 = {7'h0,flags_507_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139945.4]
  assign _T_21999 = {7'h0,flags_508_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139947.4]
  assign _T_22001 = {7'h0,flags_509_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139949.4]
  assign _T_22003 = {7'h0,flags_510_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139951.4]
  assign _T_22005 = {7'h0,flags_511_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139953.4]
  assign _T_22007 = {7'h0,flags_512_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139955.4]
  assign _T_22009 = {7'h0,flags_513_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139957.4]
  assign _T_22011 = {7'h0,flags_514_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139959.4]
  assign _T_22013 = {7'h0,flags_515_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139961.4]
  assign _T_22015 = {7'h0,flags_516_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139963.4]
  assign _T_22017 = {7'h0,flags_517_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139965.4]
  assign _T_22019 = {7'h0,flags_518_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139967.4]
  assign _T_22021 = {7'h0,flags_519_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139969.4]
  assign _T_22023 = {7'h0,flags_520_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139971.4]
  assign _T_22025 = {7'h0,flags_521_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139973.4]
  assign _T_22027 = {7'h0,flags_522_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139975.4]
  assign _T_22029 = {7'h0,flags_523_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139977.4]
  assign _T_22031 = {7'h0,flags_524_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139979.4]
  assign _T_22033 = {7'h0,flags_525_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139981.4]
  assign _T_22035 = {7'h0,flags_526_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139983.4]
  assign _T_22037 = {7'h0,flags_527_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139985.4]
  assign _T_22039 = {7'h0,flags_528_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139987.4]
  assign _T_22041 = {7'h0,flags_529_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139989.4]
  assign _T_22043 = {7'h0,flags_530_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139991.4]
  assign _T_22045 = {7'h0,flags_531_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139993.4]
  assign _T_22047 = {7'h0,flags_532_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139995.4]
  assign _T_22049 = {7'h0,flags_533_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139997.4]
  assign _T_22051 = {7'h0,flags_534_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@139999.4]
  assign _T_22053 = {7'h0,flags_535_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140001.4]
  assign _T_22055 = {7'h0,flags_536_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140003.4]
  assign _T_22057 = {7'h0,flags_537_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140005.4]
  assign _T_22059 = {7'h0,flags_538_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140007.4]
  assign _T_22061 = {7'h0,flags_539_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140009.4]
  assign _T_22063 = {7'h0,flags_540_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140011.4]
  assign _T_22065 = {7'h0,flags_541_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140013.4]
  assign _T_22067 = {7'h0,flags_542_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140015.4]
  assign _T_22069 = {7'h0,flags_543_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140017.4]
  assign _T_22071 = {7'h0,flags_544_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140019.4]
  assign _T_22073 = {7'h0,flags_545_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140021.4]
  assign _T_22075 = {7'h0,flags_546_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140023.4]
  assign _T_22077 = {7'h0,flags_547_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140025.4]
  assign _T_22079 = {7'h0,flags_548_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140027.4]
  assign _T_22081 = {7'h0,flags_549_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140029.4]
  assign _T_22083 = {7'h0,flags_550_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140031.4]
  assign _T_22085 = {7'h0,flags_551_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140033.4]
  assign _T_22087 = {7'h0,flags_552_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140035.4]
  assign _T_22089 = {7'h0,flags_553_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140037.4]
  assign _T_22091 = {7'h0,flags_554_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140039.4]
  assign _T_22093 = {7'h0,flags_555_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140041.4]
  assign _T_22095 = {7'h0,flags_556_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140043.4]
  assign _T_22097 = {7'h0,flags_557_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140045.4]
  assign _T_22099 = {7'h0,flags_558_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140047.4]
  assign _T_22101 = {7'h0,flags_559_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140049.4]
  assign _T_22103 = {7'h0,flags_560_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140051.4]
  assign _T_22105 = {7'h0,flags_561_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140053.4]
  assign _T_22107 = {7'h0,flags_562_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140055.4]
  assign _T_22109 = {7'h0,flags_563_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140057.4]
  assign _T_22111 = {7'h0,flags_564_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140059.4]
  assign _T_22113 = {7'h0,flags_565_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140061.4]
  assign _T_22115 = {7'h0,flags_566_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140063.4]
  assign _T_22117 = {7'h0,flags_567_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140065.4]
  assign _T_22119 = {7'h0,flags_568_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140067.4]
  assign _T_22121 = {7'h0,flags_569_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140069.4]
  assign _T_22123 = {7'h0,flags_570_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140071.4]
  assign _T_22125 = {7'h0,flags_571_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140073.4]
  assign _T_22127 = {7'h0,flags_572_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140075.4]
  assign _T_22129 = {7'h0,flags_573_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140077.4]
  assign _T_22131 = {7'h0,flags_574_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140079.4]
  assign _T_22133 = {7'h0,flags_575_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140081.4]
  assign _T_22135 = {7'h0,flags_576_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140083.4]
  assign _T_22137 = {7'h0,flags_577_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140085.4]
  assign _T_22139 = {7'h0,flags_578_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140087.4]
  assign _T_22141 = {7'h0,flags_579_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140089.4]
  assign _T_22143 = {7'h0,flags_580_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140091.4]
  assign _T_22145 = {7'h0,flags_581_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140093.4]
  assign _T_22147 = {7'h0,flags_582_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140095.4]
  assign _T_22149 = {7'h0,flags_583_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140097.4]
  assign _T_22151 = {7'h0,flags_584_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140099.4]
  assign _T_22153 = {7'h0,flags_585_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140101.4]
  assign _T_22155 = {7'h0,flags_586_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140103.4]
  assign _T_22157 = {7'h0,flags_587_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140105.4]
  assign _T_22159 = {7'h0,flags_588_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140107.4]
  assign _T_22161 = {7'h0,flags_589_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140109.4]
  assign _T_22163 = {7'h0,flags_590_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140111.4]
  assign _T_22165 = {7'h0,flags_591_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140113.4]
  assign _T_22167 = {7'h0,flags_592_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140115.4]
  assign _T_22169 = {7'h0,flags_593_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140117.4]
  assign _T_22171 = {7'h0,flags_594_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140119.4]
  assign _T_22173 = {7'h0,flags_595_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140121.4]
  assign _T_22175 = {7'h0,flags_596_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140123.4]
  assign _T_22177 = {7'h0,flags_597_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140125.4]
  assign _T_22179 = {7'h0,flags_598_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140127.4]
  assign _T_22181 = {7'h0,flags_599_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140129.4]
  assign _T_22183 = {7'h0,flags_600_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140131.4]
  assign _T_22185 = {7'h0,flags_601_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140133.4]
  assign _T_22187 = {7'h0,flags_602_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140135.4]
  assign _T_22189 = {7'h0,flags_603_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140137.4]
  assign _T_22191 = {7'h0,flags_604_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140139.4]
  assign _T_22193 = {7'h0,flags_605_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140141.4]
  assign _T_22195 = {7'h0,flags_606_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140143.4]
  assign _T_22197 = {7'h0,flags_607_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140145.4]
  assign _T_22199 = {7'h0,flags_608_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140147.4]
  assign _T_22201 = {7'h0,flags_609_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140149.4]
  assign _T_22203 = {7'h0,flags_610_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140151.4]
  assign _T_22205 = {7'h0,flags_611_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140153.4]
  assign _T_22207 = {7'h0,flags_612_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140155.4]
  assign _T_22209 = {7'h0,flags_613_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140157.4]
  assign _T_22211 = {7'h0,flags_614_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140159.4]
  assign _T_22213 = {7'h0,flags_615_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140161.4]
  assign _T_22215 = {7'h0,flags_616_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140163.4]
  assign _T_22217 = {7'h0,flags_617_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140165.4]
  assign _T_22219 = {7'h0,flags_618_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140167.4]
  assign _T_22221 = {7'h0,flags_619_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140169.4]
  assign _T_22223 = {7'h0,flags_620_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140171.4]
  assign _T_22225 = {7'h0,flags_621_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140173.4]
  assign _T_22227 = {7'h0,flags_622_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140175.4]
  assign _T_22229 = {7'h0,flags_623_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140177.4]
  assign _T_22231 = {7'h0,flags_624_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140179.4]
  assign _T_22233 = {7'h0,flags_625_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140181.4]
  assign _T_22235 = {7'h0,flags_626_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140183.4]
  assign _T_22237 = {7'h0,flags_627_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140185.4]
  assign _T_22239 = {7'h0,flags_628_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140187.4]
  assign _T_22241 = {7'h0,flags_629_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140189.4]
  assign _T_22243 = {7'h0,flags_630_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140191.4]
  assign _T_22245 = {7'h0,flags_631_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140193.4]
  assign _T_22247 = {7'h0,flags_632_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140195.4]
  assign _T_22249 = {7'h0,flags_633_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140197.4]
  assign _T_22251 = {7'h0,flags_634_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140199.4]
  assign _T_22253 = {7'h0,flags_635_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140201.4]
  assign _T_22255 = {7'h0,flags_636_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140203.4]
  assign _T_22257 = {7'h0,flags_637_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140205.4]
  assign _T_22259 = {7'h0,flags_638_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140207.4]
  assign _T_22261 = {7'h0,flags_639_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140209.4]
  assign _T_22263 = {7'h0,flags_640_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140211.4]
  assign _T_22265 = {7'h0,flags_641_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140213.4]
  assign _T_22267 = {7'h0,flags_642_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140215.4]
  assign _T_22269 = {7'h0,flags_643_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140217.4]
  assign _T_22271 = {7'h0,flags_644_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140219.4]
  assign _T_22273 = {7'h0,flags_645_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140221.4]
  assign _T_22275 = {7'h0,flags_646_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140223.4]
  assign _T_22277 = {7'h0,flags_647_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140225.4]
  assign _T_22279 = {7'h0,flags_648_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140227.4]
  assign _T_22281 = {7'h0,flags_649_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140229.4]
  assign _T_22283 = {7'h0,flags_650_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140231.4]
  assign _T_22285 = {7'h0,flags_651_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140233.4]
  assign _T_22287 = {7'h0,flags_652_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140235.4]
  assign _T_22289 = {7'h0,flags_653_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140237.4]
  assign _T_22291 = {7'h0,flags_654_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140239.4]
  assign _T_22293 = {7'h0,flags_655_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140241.4]
  assign _T_22295 = {7'h0,flags_656_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140243.4]
  assign _T_22297 = {7'h0,flags_657_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140245.4]
  assign _T_22299 = {7'h0,flags_658_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140247.4]
  assign _T_22301 = {7'h0,flags_659_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140249.4]
  assign _T_22303 = {7'h0,flags_660_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140251.4]
  assign _T_22305 = {7'h0,flags_661_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140253.4]
  assign _T_22307 = {7'h0,flags_662_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140255.4]
  assign _T_22309 = {7'h0,flags_663_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140257.4]
  assign _T_22311 = {7'h0,flags_664_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140259.4]
  assign _T_22313 = {7'h0,flags_665_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140261.4]
  assign _T_22315 = {7'h0,flags_666_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140263.4]
  assign _T_22317 = {7'h0,flags_667_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140265.4]
  assign _T_22319 = {7'h0,flags_668_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140267.4]
  assign _T_22321 = {7'h0,flags_669_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140269.4]
  assign _T_22323 = {7'h0,flags_670_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140271.4]
  assign _T_22325 = {7'h0,flags_671_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140273.4]
  assign _T_22327 = {7'h0,flags_672_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140275.4]
  assign _T_22329 = {7'h0,flags_673_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140277.4]
  assign _T_22331 = {7'h0,flags_674_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140279.4]
  assign _T_22333 = {7'h0,flags_675_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140281.4]
  assign _T_22335 = {7'h0,flags_676_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140283.4]
  assign _T_22337 = {7'h0,flags_677_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140285.4]
  assign _T_22339 = {7'h0,flags_678_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140287.4]
  assign _T_22341 = {7'h0,flags_679_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140289.4]
  assign _T_22343 = {7'h0,flags_680_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140291.4]
  assign _T_22345 = {7'h0,flags_681_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140293.4]
  assign _T_22347 = {7'h0,flags_682_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140295.4]
  assign _T_22349 = {7'h0,flags_683_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140297.4]
  assign _T_22351 = {7'h0,flags_684_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140299.4]
  assign _T_22353 = {7'h0,flags_685_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140301.4]
  assign _T_22355 = {7'h0,flags_686_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140303.4]
  assign _T_22357 = {7'h0,flags_687_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140305.4]
  assign _T_22359 = {7'h0,flags_688_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140307.4]
  assign _T_22361 = {7'h0,flags_689_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140309.4]
  assign _T_22363 = {7'h0,flags_690_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140311.4]
  assign _T_22365 = {7'h0,flags_691_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140313.4]
  assign _T_22367 = {7'h0,flags_692_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140315.4]
  assign _T_22369 = {7'h0,flags_693_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140317.4]
  assign _T_22371 = {7'h0,flags_694_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140319.4]
  assign _T_22373 = {7'h0,flags_695_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140321.4]
  assign _T_22375 = {7'h0,flags_696_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140323.4]
  assign _T_22377 = {7'h0,flags_697_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140325.4]
  assign _T_22379 = {7'h0,flags_698_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140327.4]
  assign _T_22381 = {7'h0,flags_699_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140329.4]
  assign _T_22383 = {7'h0,flags_700_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140331.4]
  assign _T_22385 = {7'h0,flags_701_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140333.4]
  assign _T_22387 = {7'h0,flags_702_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140335.4]
  assign _T_22389 = {7'h0,flags_703_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140337.4]
  assign _T_22391 = {7'h0,flags_704_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140339.4]
  assign _T_22393 = {7'h0,flags_705_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140341.4]
  assign _T_22395 = {7'h0,flags_706_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140343.4]
  assign _T_22397 = {7'h0,flags_707_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140345.4]
  assign _T_22399 = {7'h0,flags_708_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140347.4]
  assign _T_22401 = {7'h0,flags_709_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140349.4]
  assign _T_22403 = {7'h0,flags_710_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140351.4]
  assign _T_22405 = {7'h0,flags_711_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140353.4]
  assign _T_22407 = {7'h0,flags_712_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140355.4]
  assign _T_22409 = {7'h0,flags_713_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140357.4]
  assign _T_22411 = {7'h0,flags_714_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140359.4]
  assign _T_22413 = {7'h0,flags_715_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140361.4]
  assign _T_22415 = {7'h0,flags_716_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140363.4]
  assign _T_22417 = {7'h0,flags_717_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140365.4]
  assign _T_22419 = {7'h0,flags_718_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140367.4]
  assign _T_22421 = {7'h0,flags_719_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140369.4]
  assign _T_22423 = {7'h0,flags_720_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140371.4]
  assign _T_22425 = {7'h0,flags_721_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140373.4]
  assign _T_22427 = {7'h0,flags_722_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140375.4]
  assign _T_22429 = {7'h0,flags_723_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140377.4]
  assign _T_22431 = {7'h0,flags_724_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140379.4]
  assign _T_22433 = {7'h0,flags_725_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140381.4]
  assign _T_22435 = {7'h0,flags_726_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140383.4]
  assign _T_22437 = {7'h0,flags_727_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140385.4]
  assign _T_22439 = {7'h0,flags_728_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140387.4]
  assign _T_22441 = {7'h0,flags_729_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140389.4]
  assign _T_22443 = {7'h0,flags_730_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140391.4]
  assign _T_22445 = {7'h0,flags_731_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140393.4]
  assign _T_22447 = {7'h0,flags_732_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140395.4]
  assign _T_22449 = {7'h0,flags_733_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140397.4]
  assign _T_22451 = {7'h0,flags_734_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140399.4]
  assign _T_22453 = {7'h0,flags_735_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140401.4]
  assign _T_22455 = {7'h0,flags_736_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140403.4]
  assign _T_22457 = {7'h0,flags_737_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140405.4]
  assign _T_22459 = {7'h0,flags_738_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140407.4]
  assign _T_22461 = {7'h0,flags_739_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140409.4]
  assign _T_22463 = {7'h0,flags_740_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140411.4]
  assign _T_22465 = {7'h0,flags_741_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140413.4]
  assign _T_22467 = {7'h0,flags_742_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140415.4]
  assign _T_22469 = {7'h0,flags_743_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140417.4]
  assign _T_22471 = {7'h0,flags_744_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140419.4]
  assign _T_22473 = {7'h0,flags_745_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140421.4]
  assign _T_22475 = {7'h0,flags_746_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140423.4]
  assign _T_22477 = {7'h0,flags_747_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140425.4]
  assign _T_22479 = {7'h0,flags_748_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140427.4]
  assign _T_22481 = {7'h0,flags_749_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140429.4]
  assign _T_22483 = {7'h0,flags_750_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140431.4]
  assign _T_22485 = {7'h0,flags_751_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140433.4]
  assign _T_22487 = {7'h0,flags_752_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140435.4]
  assign _T_22489 = {7'h0,flags_753_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140437.4]
  assign _T_22491 = {7'h0,flags_754_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140439.4]
  assign _T_22493 = {7'h0,flags_755_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140441.4]
  assign _T_22495 = {7'h0,flags_756_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140443.4]
  assign _T_22497 = {7'h0,flags_757_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140445.4]
  assign _T_22499 = {7'h0,flags_758_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140447.4]
  assign _T_22501 = {7'h0,flags_759_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140449.4]
  assign _T_22503 = {7'h0,flags_760_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140451.4]
  assign _T_22505 = {7'h0,flags_761_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140453.4]
  assign _T_22507 = {7'h0,flags_762_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140455.4]
  assign _T_22509 = {7'h0,flags_763_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140457.4]
  assign _T_22511 = {7'h0,flags_764_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140459.4]
  assign _T_22513 = {7'h0,flags_765_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140461.4]
  assign _T_22515 = {7'h0,flags_766_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140463.4]
  assign _T_22517 = {7'h0,flags_767_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140465.4]
  assign _T_22519 = {7'h0,flags_768_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140467.4]
  assign _T_22521 = {7'h0,flags_769_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140469.4]
  assign _T_22523 = {7'h0,flags_770_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140471.4]
  assign _T_22525 = {7'h0,flags_771_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140473.4]
  assign _T_22527 = {7'h0,flags_772_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140475.4]
  assign _T_22529 = {7'h0,flags_773_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140477.4]
  assign _T_22531 = {7'h0,flags_774_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140479.4]
  assign _T_22533 = {7'h0,flags_775_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140481.4]
  assign _T_22535 = {7'h0,flags_776_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140483.4]
  assign _T_22537 = {7'h0,flags_777_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140485.4]
  assign _T_22539 = {7'h0,flags_778_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140487.4]
  assign _T_22541 = {7'h0,flags_779_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140489.4]
  assign _T_22543 = {7'h0,flags_780_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140491.4]
  assign _T_22545 = {7'h0,flags_781_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140493.4]
  assign _T_22547 = {7'h0,flags_782_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140495.4]
  assign _T_22549 = {7'h0,flags_783_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140497.4]
  assign _T_22551 = {7'h0,flags_784_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140499.4]
  assign _T_22553 = {7'h0,flags_785_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140501.4]
  assign _T_22555 = {7'h0,flags_786_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140503.4]
  assign _T_22557 = {7'h0,flags_787_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140505.4]
  assign _T_22559 = {7'h0,flags_788_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140507.4]
  assign _T_22561 = {7'h0,flags_789_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140509.4]
  assign _T_22563 = {7'h0,flags_790_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140511.4]
  assign _T_22565 = {7'h0,flags_791_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140513.4]
  assign _T_22567 = {7'h0,flags_792_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140515.4]
  assign _T_22569 = {7'h0,flags_793_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140517.4]
  assign _T_22571 = {7'h0,flags_794_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140519.4]
  assign _T_22573 = {7'h0,flags_795_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140521.4]
  assign _T_22575 = {7'h0,flags_796_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140523.4]
  assign _T_22577 = {7'h0,flags_797_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140525.4]
  assign _T_22579 = {7'h0,flags_798_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140527.4]
  assign _T_22581 = {7'h0,flags_799_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140529.4]
  assign _T_22583 = {7'h0,flags_800_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140531.4]
  assign _T_22585 = {7'h0,flags_801_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140533.4]
  assign _T_22587 = {7'h0,flags_802_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140535.4]
  assign _T_22589 = {7'h0,flags_803_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140537.4]
  assign _T_22591 = {7'h0,flags_804_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140539.4]
  assign _T_22593 = {7'h0,flags_805_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140541.4]
  assign _T_22595 = {7'h0,flags_806_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140543.4]
  assign _T_22597 = {7'h0,flags_807_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140545.4]
  assign _T_22599 = {7'h0,flags_808_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140547.4]
  assign _T_22601 = {7'h0,flags_809_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140549.4]
  assign _T_22603 = {7'h0,flags_810_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140551.4]
  assign _T_22605 = {7'h0,flags_811_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140553.4]
  assign _T_22607 = {7'h0,flags_812_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140555.4]
  assign _T_22609 = {7'h0,flags_813_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140557.4]
  assign _T_22611 = {7'h0,flags_814_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140559.4]
  assign _T_22613 = {7'h0,flags_815_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140561.4]
  assign _T_22615 = {7'h0,flags_816_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140563.4]
  assign _T_22617 = {7'h0,flags_817_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140565.4]
  assign _T_22619 = {7'h0,flags_818_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140567.4]
  assign _T_22621 = {7'h0,flags_819_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140569.4]
  assign _T_22623 = {7'h0,flags_820_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140571.4]
  assign _T_22625 = {7'h0,flags_821_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140573.4]
  assign _T_22627 = {7'h0,flags_822_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140575.4]
  assign _T_22629 = {7'h0,flags_823_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140577.4]
  assign _T_22631 = {7'h0,flags_824_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140579.4]
  assign _T_22633 = {7'h0,flags_825_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140581.4]
  assign _T_22635 = {7'h0,flags_826_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140583.4]
  assign _T_22637 = {7'h0,flags_827_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140585.4]
  assign _T_22639 = {7'h0,flags_828_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140587.4]
  assign _T_22641 = {7'h0,flags_829_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140589.4]
  assign _T_22643 = {7'h0,flags_830_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140591.4]
  assign _T_22645 = {7'h0,flags_831_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140593.4]
  assign _T_22647 = {7'h0,flags_832_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140595.4]
  assign _T_22649 = {7'h0,flags_833_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140597.4]
  assign _T_22651 = {7'h0,flags_834_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140599.4]
  assign _T_22653 = {7'h0,flags_835_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140601.4]
  assign _T_22655 = {7'h0,flags_836_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140603.4]
  assign _T_22657 = {7'h0,flags_837_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140605.4]
  assign _T_22659 = {7'h0,flags_838_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140607.4]
  assign _T_22661 = {7'h0,flags_839_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140609.4]
  assign _T_22663 = {7'h0,flags_840_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140611.4]
  assign _T_22665 = {7'h0,flags_841_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140613.4]
  assign _T_22667 = {7'h0,flags_842_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140615.4]
  assign _T_22669 = {7'h0,flags_843_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140617.4]
  assign _T_22671 = {7'h0,flags_844_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140619.4]
  assign _T_22673 = {7'h0,flags_845_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140621.4]
  assign _T_22675 = {7'h0,flags_846_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140623.4]
  assign _T_22677 = {7'h0,flags_847_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140625.4]
  assign _T_22679 = {7'h0,flags_848_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140627.4]
  assign _T_22681 = {7'h0,flags_849_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140629.4]
  assign _T_22683 = {7'h0,flags_850_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140631.4]
  assign _T_22685 = {7'h0,flags_851_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140633.4]
  assign _T_22687 = {7'h0,flags_852_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140635.4]
  assign _T_22689 = {7'h0,flags_853_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140637.4]
  assign _T_22691 = {7'h0,flags_854_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140639.4]
  assign _T_22693 = {7'h0,flags_855_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140641.4]
  assign _T_22695 = {7'h0,flags_856_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140643.4]
  assign _T_22697 = {7'h0,flags_857_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140645.4]
  assign _T_22699 = {7'h0,flags_858_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140647.4]
  assign _T_22701 = {7'h0,flags_859_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140649.4]
  assign _T_22703 = {7'h0,flags_860_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140651.4]
  assign _T_22705 = {7'h0,flags_861_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140653.4]
  assign _T_22707 = {7'h0,flags_862_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140655.4]
  assign _T_22709 = {7'h0,flags_863_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140657.4]
  assign _T_22711 = {7'h0,flags_864_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140659.4]
  assign _T_22713 = {7'h0,flags_865_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140661.4]
  assign _T_22715 = {7'h0,flags_866_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140663.4]
  assign _T_22717 = {7'h0,flags_867_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140665.4]
  assign _T_22719 = {7'h0,flags_868_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140667.4]
  assign _T_22721 = {7'h0,flags_869_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140669.4]
  assign _T_22723 = {7'h0,flags_870_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140671.4]
  assign _T_22725 = {7'h0,flags_871_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140673.4]
  assign _T_22727 = {7'h0,flags_872_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140675.4]
  assign _T_22729 = {7'h0,flags_873_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140677.4]
  assign _T_22731 = {7'h0,flags_874_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140679.4]
  assign _T_22733 = {7'h0,flags_875_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140681.4]
  assign _T_22735 = {7'h0,flags_876_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140683.4]
  assign _T_22737 = {7'h0,flags_877_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140685.4]
  assign _T_22739 = {7'h0,flags_878_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140687.4]
  assign _T_22741 = {7'h0,flags_879_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140689.4]
  assign _T_22743 = {7'h0,flags_880_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140691.4]
  assign _T_22745 = {7'h0,flags_881_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140693.4]
  assign _T_22747 = {7'h0,flags_882_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140695.4]
  assign _T_22749 = {7'h0,flags_883_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140697.4]
  assign _T_22751 = {7'h0,flags_884_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140699.4]
  assign _T_22753 = {7'h0,flags_885_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140701.4]
  assign _T_22755 = {7'h0,flags_886_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140703.4]
  assign _T_22757 = {7'h0,flags_887_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140705.4]
  assign _T_22759 = {7'h0,flags_888_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140707.4]
  assign _T_22761 = {7'h0,flags_889_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140709.4]
  assign _T_22763 = {7'h0,flags_890_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140711.4]
  assign _T_22765 = {7'h0,flags_891_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140713.4]
  assign _T_22767 = {7'h0,flags_892_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140715.4]
  assign _T_22769 = {7'h0,flags_893_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140717.4]
  assign _T_22771 = {7'h0,flags_894_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140719.4]
  assign _T_22773 = {7'h0,flags_895_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140721.4]
  assign _T_22775 = {7'h0,flags_896_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140723.4]
  assign _T_22777 = {7'h0,flags_897_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140725.4]
  assign _T_22779 = {7'h0,flags_898_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140727.4]
  assign _T_22781 = {7'h0,flags_899_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140729.4]
  assign _T_22783 = {7'h0,flags_900_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140731.4]
  assign _T_22785 = {7'h0,flags_901_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140733.4]
  assign _T_22787 = {7'h0,flags_902_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140735.4]
  assign _T_22789 = {7'h0,flags_903_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140737.4]
  assign _T_22791 = {7'h0,flags_904_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140739.4]
  assign _T_22793 = {7'h0,flags_905_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140741.4]
  assign _T_22795 = {7'h0,flags_906_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140743.4]
  assign _T_22797 = {7'h0,flags_907_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140745.4]
  assign _T_22799 = {7'h0,flags_908_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140747.4]
  assign _T_22801 = {7'h0,flags_909_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140749.4]
  assign _T_22803 = {7'h0,flags_910_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140751.4]
  assign _T_22805 = {7'h0,flags_911_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140753.4]
  assign _T_22807 = {7'h0,flags_912_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140755.4]
  assign _T_22809 = {7'h0,flags_913_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140757.4]
  assign _T_22811 = {7'h0,flags_914_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140759.4]
  assign _T_22813 = {7'h0,flags_915_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140761.4]
  assign _T_22815 = {7'h0,flags_916_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140763.4]
  assign _T_22817 = {7'h0,flags_917_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140765.4]
  assign _T_22819 = {7'h0,flags_918_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140767.4]
  assign _T_22821 = {7'h0,flags_919_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140769.4]
  assign _T_22823 = {7'h0,flags_920_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140771.4]
  assign _T_22825 = {7'h0,flags_921_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140773.4]
  assign _T_22827 = {7'h0,flags_922_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140775.4]
  assign _T_22829 = {7'h0,flags_923_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140777.4]
  assign _T_22831 = {7'h0,flags_924_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140779.4]
  assign _T_22833 = {7'h0,flags_925_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140781.4]
  assign _T_22835 = {7'h0,flags_926_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140783.4]
  assign _T_22837 = {7'h0,flags_927_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140785.4]
  assign _T_22839 = {7'h0,flags_928_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140787.4]
  assign _T_22841 = {7'h0,flags_929_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140789.4]
  assign _T_22843 = {7'h0,flags_930_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140791.4]
  assign _T_22845 = {7'h0,flags_931_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140793.4]
  assign _T_22847 = {7'h0,flags_932_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140795.4]
  assign _T_22849 = {7'h0,flags_933_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140797.4]
  assign _T_22851 = {7'h0,flags_934_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140799.4]
  assign _T_22853 = {7'h0,flags_935_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140801.4]
  assign _T_22855 = {7'h0,flags_936_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140803.4]
  assign _T_22857 = {7'h0,flags_937_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140805.4]
  assign _T_22859 = {7'h0,flags_938_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140807.4]
  assign _T_22861 = {7'h0,flags_939_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140809.4]
  assign _T_22863 = {7'h0,flags_940_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140811.4]
  assign _T_22865 = {7'h0,flags_941_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140813.4]
  assign _T_22867 = {7'h0,flags_942_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140815.4]
  assign _T_22869 = {7'h0,flags_943_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140817.4]
  assign _T_22871 = {7'h0,flags_944_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140819.4]
  assign _T_22873 = {7'h0,flags_945_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140821.4]
  assign _T_22875 = {7'h0,flags_946_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140823.4]
  assign _T_22877 = {7'h0,flags_947_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140825.4]
  assign _T_22879 = {7'h0,flags_948_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140827.4]
  assign _T_22881 = {7'h0,flags_949_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140829.4]
  assign _T_22883 = {7'h0,flags_950_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140831.4]
  assign _T_22885 = {7'h0,flags_951_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140833.4]
  assign _T_22887 = {7'h0,flags_952_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140835.4]
  assign _T_22889 = {7'h0,flags_953_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140837.4]
  assign _T_22891 = {7'h0,flags_954_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140839.4]
  assign _T_22893 = {7'h0,flags_955_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140841.4]
  assign _T_22895 = {7'h0,flags_956_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140843.4]
  assign _T_22897 = {7'h0,flags_957_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140845.4]
  assign _T_22899 = {7'h0,flags_958_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140847.4]
  assign _T_22901 = {7'h0,flags_959_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140849.4]
  assign _T_22903 = {7'h0,flags_960_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140851.4]
  assign _T_22905 = {7'h0,flags_961_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140853.4]
  assign _T_22907 = {7'h0,flags_962_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140855.4]
  assign _T_22909 = {7'h0,flags_963_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140857.4]
  assign _T_22911 = {7'h0,flags_964_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140859.4]
  assign _T_22913 = {7'h0,flags_965_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140861.4]
  assign _T_22915 = {7'h0,flags_966_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140863.4]
  assign _T_22917 = {7'h0,flags_967_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140865.4]
  assign _T_22919 = {7'h0,flags_968_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140867.4]
  assign _T_22921 = {7'h0,flags_969_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140869.4]
  assign _T_22923 = {7'h0,flags_970_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140871.4]
  assign _T_22925 = {7'h0,flags_971_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140873.4]
  assign _T_22927 = {7'h0,flags_972_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140875.4]
  assign _T_22929 = {7'h0,flags_973_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140877.4]
  assign _T_22931 = {7'h0,flags_974_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140879.4]
  assign _T_22933 = {7'h0,flags_975_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140881.4]
  assign _T_22935 = {7'h0,flags_976_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140883.4]
  assign _T_22937 = {7'h0,flags_977_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140885.4]
  assign _T_22939 = {7'h0,flags_978_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140887.4]
  assign _T_22941 = {7'h0,flags_979_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140889.4]
  assign _T_22943 = {7'h0,flags_980_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140891.4]
  assign _T_22945 = {7'h0,flags_981_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140893.4]
  assign _T_22947 = {7'h0,flags_982_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140895.4]
  assign _T_22949 = {7'h0,flags_983_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140897.4]
  assign _T_22951 = {7'h0,flags_984_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140899.4]
  assign _T_22953 = {7'h0,flags_985_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140901.4]
  assign _T_22955 = {7'h0,flags_986_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140903.4]
  assign _T_22957 = {7'h0,flags_987_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140905.4]
  assign _T_22959 = {7'h0,flags_988_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140907.4]
  assign _T_22961 = {7'h0,flags_989_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140909.4]
  assign _T_22963 = {7'h0,flags_990_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140911.4]
  assign _T_22965 = {7'h0,flags_991_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140913.4]
  assign _T_22967 = {7'h0,flags_992_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140915.4]
  assign _T_22969 = {7'h0,flags_993_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140917.4]
  assign _T_22971 = {7'h0,flags_994_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140919.4]
  assign _T_22973 = {7'h0,flags_995_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140921.4]
  assign _T_22975 = {7'h0,flags_996_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140923.4]
  assign _T_22977 = {7'h0,flags_997_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140925.4]
  assign _T_22979 = {7'h0,flags_998_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140927.4]
  assign _T_22981 = {7'h0,flags_999_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140929.4]
  assign _T_22983 = {7'h0,flags_1000_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140931.4]
  assign _T_22985 = {7'h0,flags_1001_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140933.4]
  assign _T_22987 = {7'h0,flags_1002_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140935.4]
  assign _T_22989 = {7'h0,flags_1003_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140937.4]
  assign _T_22991 = {7'h0,flags_1004_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140939.4]
  assign _T_22993 = {7'h0,flags_1005_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140941.4]
  assign _T_22995 = {7'h0,flags_1006_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140943.4]
  assign _T_22997 = {7'h0,flags_1007_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140945.4]
  assign _T_22999 = {7'h0,flags_1008_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140947.4]
  assign _T_23001 = {7'h0,flags_1009_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140949.4]
  assign _T_23003 = {7'h0,flags_1010_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140951.4]
  assign _T_23005 = {7'h0,flags_1011_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140953.4]
  assign _T_23007 = {7'h0,flags_1012_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140955.4]
  assign _T_23009 = {7'h0,flags_1013_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140957.4]
  assign _T_23011 = {7'h0,flags_1014_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140959.4]
  assign _T_23013 = {7'h0,flags_1015_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140961.4]
  assign _T_23015 = {7'h0,flags_1016_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140963.4]
  assign _T_23017 = {7'h0,flags_1017_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140965.4]
  assign _T_23019 = {7'h0,flags_1018_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140967.4]
  assign _T_23021 = {7'h0,flags_1019_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140969.4]
  assign _T_23023 = {7'h0,flags_1020_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140971.4]
  assign _T_23025 = {7'h0,flags_1021_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140973.4]
  assign _T_23027 = {7'h0,flags_1022_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140975.4]
  assign _T_23029 = {7'h0,flags_1023_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@140977.4]
  assign _T_23039 = {auto_tl_in_a_bits_source,auto_tl_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140986.4]
  assign _T_28445 = _T_28444[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141636.4]
  assign _T_28448 = ~ _T_28445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141639.4]
  assign _T_28449 = _T_28448 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141640.4]
  assign _T_28459 = auto_tl_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141650.4]
  assign _T_28470 = _T_28444[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141661.4]
  assign _T_28473 = ~ _T_28470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141664.4]
  assign _T_28474 = _T_28473 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141665.4]
  assign _T_28484 = auto_tl_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141675.4]
  assign _T_28494 = {_T_21857,_T_21855}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141685.4]
  assign _T_28497 = _T_28444[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141688.4]
  assign _T_28500 = ~ _T_28497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141691.4]
  assign _T_28501 = _T_28500 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141692.4]
  assign _T_28511 = auto_tl_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141702.4]
  assign _T_28521 = {_T_21859,_T_28494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141712.4]
  assign _T_28524 = _T_28444[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141715.4]
  assign _T_28527 = ~ _T_28524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141718.4]
  assign _T_28528 = _T_28527 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141719.4]
  assign _T_28538 = auto_tl_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141729.4]
  assign _T_28548 = {_T_21861,_T_28521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141739.4]
  assign _T_28600 = {_T_22769,_T_22767}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141791.4]
  assign _T_28627 = {_T_22771,_T_28600}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141818.4]
  assign _T_28654 = {_T_22773,_T_28627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141845.4]
  assign _T_28706 = {_T_21713,_T_21711}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141897.4]
  assign _T_28733 = {_T_21715,_T_28706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141924.4]
  assign _T_28760 = {_T_21717,_T_28733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141951.4]
  assign _T_28812 = {_T_21601,_T_21599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142003.4]
  assign _T_28839 = {_T_21603,_T_28812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142030.4]
  assign _T_28866 = {_T_21605,_T_28839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142057.4]
  assign _T_29024 = {_T_22681,_T_22679}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142215.4]
  assign _T_29051 = {_T_22683,_T_29024}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142242.4]
  assign _T_29078 = {_T_22685,_T_29051}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142269.4]
  assign _T_29130 = {_T_22785,_T_22783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142321.4]
  assign _T_29157 = {_T_22787,_T_29130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142348.4]
  assign _T_29184 = {_T_22789,_T_29157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142375.4]
  assign _T_29236 = {_T_21753,_T_21751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142427.4]
  assign _T_29263 = {_T_21755,_T_29236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142454.4]
  assign _T_29290 = {_T_21757,_T_29263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142481.4]
  assign _T_29342 = {_T_22201,_T_22199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142533.4]
  assign _T_29369 = {_T_22203,_T_29342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142560.4]
  assign _T_29396 = {_T_22205,_T_29369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142587.4]
  assign _T_60038 = _T_60333[217]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173441.4]
  assign _T_65748 = _T_71634 & _T_60038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181185.4]
  assign _T_65749 = _T_65748 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181186.4]
  assign _T_29517 = _T_65749 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142708.4]
  assign _T_29542 = _T_65749 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142736.4]
  assign _T_29569 = _T_65749 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142766.4]
  assign _T_29596 = _T_65749 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142796.4]
  assign _T_29660 = {_T_21145,_T_21143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142863.4]
  assign _T_29687 = {_T_21147,_T_29660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142890.4]
  assign _T_29714 = {_T_21149,_T_29687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142917.4]
  assign _T_29766 = {_T_21401,_T_21399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142969.4]
  assign _T_29793 = {_T_21403,_T_29766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142996.4]
  assign _T_29820 = {_T_21405,_T_29793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143023.4]
  assign _T_29872 = {_T_22529,_T_22527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143075.4]
  assign _T_29899 = {_T_22531,_T_29872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143102.4]
  assign _T_29926 = {_T_22533,_T_29899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143129.4]
  assign _T_29978 = {_T_21969,_T_21967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143181.4]
  assign _T_30005 = {_T_21971,_T_29978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143208.4]
  assign _T_30032 = {_T_21973,_T_30005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143235.4]
  assign _T_30084 = {_T_22457,_T_22455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143287.4]
  assign _T_30111 = {_T_22459,_T_30084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143314.4]
  assign _T_30138 = {_T_22461,_T_30111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143341.4]
  assign _T_30190 = {_T_23025,_T_23023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143393.4]
  assign _T_30217 = {_T_23027,_T_30190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143420.4]
  assign _T_30244 = {_T_23029,_T_30217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143447.4]
  assign _T_30296 = {_T_21089,_T_21087}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143499.4]
  assign _T_30323 = {_T_21091,_T_30296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143526.4]
  assign _T_30350 = {_T_21093,_T_30323}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143553.4]
  assign _T_30402 = {_T_22017,_T_22015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143605.4]
  assign _T_30429 = {_T_22019,_T_30402}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143632.4]
  assign _T_30456 = {_T_22021,_T_30429}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143659.4]
  assign _T_30508 = {_T_22009,_T_22007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143711.4]
  assign _T_30535 = {_T_22011,_T_30508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143738.4]
  assign _T_30562 = {_T_22013,_T_30535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143765.4]
  assign _T_30614 = {_T_22937,_T_22935}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143817.4]
  assign _T_30641 = {_T_22939,_T_30614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143844.4]
  assign _T_30668 = {_T_22941,_T_30641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143871.4]
  assign _T_30720 = {_T_22713,_T_22711}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143923.4]
  assign _T_30747 = {_T_22715,_T_30720}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143950.4]
  assign _T_30774 = {_T_22717,_T_30747}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143977.4]
  assign _T_30826 = {_T_21657,_T_21655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144029.4]
  assign _T_30853 = {_T_21659,_T_30826}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144056.4]
  assign _T_30880 = {_T_21661,_T_30853}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144083.4]
  assign _T_30932 = {_T_22169,_T_22167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144135.4]
  assign _T_30959 = {_T_22171,_T_30932}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144162.4]
  assign _T_30986 = {_T_22173,_T_30959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144189.4]
  assign _T_31038 = {_T_22273,_T_22271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144241.4]
  assign _T_31065 = {_T_22275,_T_31038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144268.4]
  assign _T_31092 = {_T_22277,_T_31065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144295.4]
  assign _T_31144 = {_T_21241,_T_21239}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144347.4]
  assign _T_31171 = {_T_21243,_T_31144}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144374.4]
  assign _T_31198 = {_T_21245,_T_31171}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144401.4]
  assign _T_31250 = {_T_21345,_T_21343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144453.4]
  assign _T_31277 = {_T_21347,_T_31250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144480.4]
  assign _T_31304 = {_T_21349,_T_31277}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144507.4]
  assign _T_31356 = {_T_21497,_T_21495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144559.4]
  assign _T_31383 = {_T_21499,_T_31356}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144586.4]
  assign _T_31410 = {_T_21501,_T_31383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144613.4]
  assign _T_31462 = {_T_22425,_T_22423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144665.4]
  assign _T_31489 = {_T_22427,_T_31462}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144692.4]
  assign _T_31516 = {_T_22429,_T_31489}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144719.4]
  assign _T_31568 = {_T_20993,_T_20991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144771.4]
  assign _T_31595 = {_T_20995,_T_31568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144798.4]
  assign _T_31622 = {_T_20997,_T_31595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144825.4]
  assign _T_31674 = {_T_22049,_T_22047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144877.4]
  assign _T_31701 = {_T_22051,_T_31674}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144904.4]
  assign _T_31728 = {_T_22053,_T_31701}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144931.4]
  assign _T_31780 = {_T_21913,_T_21911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144983.4]
  assign _T_31807 = {_T_21915,_T_31780}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145010.4]
  assign _T_31834 = {_T_21917,_T_31807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145037.4]
  assign _T_31886 = {_T_22969,_T_22967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145089.4]
  assign _T_31913 = {_T_22971,_T_31886}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145116.4]
  assign _T_31940 = {_T_22973,_T_31913}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145143.4]
  assign _T_31992 = {_T_21689,_T_21687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145195.4]
  assign _T_32019 = {_T_21691,_T_31992}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145222.4]
  assign _T_32046 = {_T_21693,_T_32019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145249.4]
  assign _T_32098 = {_T_21793,_T_21791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145301.4]
  assign _T_32125 = {_T_21795,_T_32098}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145328.4]
  assign _T_32152 = {_T_21797,_T_32125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145355.4]
  assign _T_32204 = {_T_22617,_T_22615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145407.4]
  assign _T_32231 = {_T_22619,_T_32204}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145434.4]
  assign _T_32258 = {_T_22621,_T_32231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145461.4]
  assign _T_32310 = {_T_22305,_T_22303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145513.4]
  assign _T_32337 = {_T_22307,_T_32310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145540.4]
  assign _T_32364 = {_T_22309,_T_32337}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145567.4]
  assign _T_32416 = {_T_21209,_T_21207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145619.4]
  assign _T_32443 = {_T_21211,_T_32416}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145646.4]
  assign _T_32470 = {_T_21213,_T_32443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145673.4]
  assign _T_32522 = {_T_22265,_T_22263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145725.4]
  assign _T_32549 = {_T_22267,_T_32522}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145752.4]
  assign _T_32576 = {_T_22269,_T_32549}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145779.4]
  assign _T_32628 = {_T_21537,_T_21535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145831.4]
  assign _T_32655 = {_T_21539,_T_32628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145858.4]
  assign _T_32682 = {_T_21541,_T_32655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145885.4]
  assign _T_32734 = {_T_21249,_T_21247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145937.4]
  assign _T_32761 = {_T_21251,_T_32734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145964.4]
  assign _T_32788 = {_T_21253,_T_32761}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145991.4]
  assign _T_32840 = {_T_22521,_T_22519}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146043.4]
  assign _T_32867 = {_T_22523,_T_32840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146070.4]
  assign _T_32894 = {_T_22525,_T_32867}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146097.4]
  assign _T_32946 = {_T_21465,_T_21463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146149.4]
  assign _T_32973 = {_T_21467,_T_32946}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146176.4]
  assign _T_33000 = {_T_21469,_T_32973}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146203.4]
  assign _T_33052 = {_T_21025,_T_21023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146255.4]
  assign _T_33079 = {_T_21027,_T_33052}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146282.4]
  assign _T_33106 = {_T_21029,_T_33079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146309.4]
  assign _T_60037 = _T_60333[216]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173440.4]
  assign _T_65742 = _T_71634 & _T_60037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181174.4]
  assign _T_65743 = _T_65742 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181175.4]
  assign _T_33121 = _T_65743 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146324.4]
  assign _T_33146 = _T_65743 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146352.4]
  assign _T_33173 = _T_65743 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146382.4]
  assign _T_33200 = _T_65743 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146412.4]
  assign _T_33264 = {_T_22737,_T_22735}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146479.4]
  assign _T_33291 = {_T_22739,_T_33264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146506.4]
  assign _T_33318 = {_T_22741,_T_33291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146533.4]
  assign _T_33370 = {_T_22873,_T_22871}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146585.4]
  assign _T_33397 = {_T_22875,_T_33370}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146612.4]
  assign _T_33424 = {_T_22877,_T_33397}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146639.4]
  assign _T_33476 = {_T_22481,_T_22479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146691.4]
  assign _T_33503 = {_T_22483,_T_33476}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146718.4]
  assign _T_33530 = {_T_22485,_T_33503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146745.4]
  assign _T_33582 = {_T_21505,_T_21503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146797.4]
  assign _T_33609 = {_T_21507,_T_33582}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146824.4]
  assign _T_33636 = {_T_21509,_T_33609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146851.4]
  assign _T_33688 = {_T_21945,_T_21943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146903.4]
  assign _T_33715 = {_T_21947,_T_33688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146930.4]
  assign _T_33742 = {_T_21949,_T_33715}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146957.4]
  assign _T_60032 = _T_60333[211]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173435.4]
  assign _T_65712 = _T_71634 & _T_60032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181119.4]
  assign _T_65713 = _T_65712 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181120.4]
  assign _T_33757 = _T_65713 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146972.4]
  assign _T_33782 = _T_65713 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147000.4]
  assign _T_33809 = _T_65713 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147030.4]
  assign _T_33836 = _T_65713 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147060.4]
  assign _T_33900 = {_T_22817,_T_22815}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147127.4]
  assign _T_33927 = {_T_22819,_T_33900}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147154.4]
  assign _T_33954 = {_T_22821,_T_33927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147181.4]
  assign _T_34112 = {_T_21721,_T_21719}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147339.4]
  assign _T_34139 = {_T_21723,_T_34112}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147366.4]
  assign _T_34166 = {_T_21725,_T_34139}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147393.4]
  assign _T_34218 = {_T_21761,_T_21759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147445.4]
  assign _T_34245 = {_T_21763,_T_34218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147472.4]
  assign _T_34272 = {_T_21765,_T_34245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147499.4]
  assign _T_34324 = {_T_22777,_T_22775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147551.4]
  assign _T_34351 = {_T_22779,_T_34324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147578.4]
  assign _T_34378 = {_T_22781,_T_34351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147605.4]
  assign _T_34430 = {_T_22113,_T_22111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147657.4]
  assign _T_34457 = {_T_22115,_T_34430}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147684.4]
  assign _T_34484 = {_T_22117,_T_34457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147711.4]
  assign _T_34536 = {_T_21177,_T_21175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147763.4]
  assign _T_34563 = {_T_21179,_T_34536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147790.4]
  assign _T_34590 = {_T_21181,_T_34563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147817.4]
  assign _T_60042 = _T_60333[221]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173445.4]
  assign _T_65772 = _T_71634 & _T_60042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181229.4]
  assign _T_65773 = _T_65772 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181230.4]
  assign _T_34605 = _T_65773 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147832.4]
  assign _T_34630 = _T_65773 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147860.4]
  assign _T_34657 = _T_65773 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147890.4]
  assign _T_34684 = _T_65773 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147920.4]
  assign _T_34748 = {_T_21281,_T_21279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147987.4]
  assign _T_34775 = {_T_21283,_T_34748}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148014.4]
  assign _T_34802 = {_T_21285,_T_34775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148041.4]
  assign _T_34854 = {_T_22561,_T_22559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148093.4]
  assign _T_34881 = {_T_22563,_T_34854}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148120.4]
  assign _T_34908 = {_T_22565,_T_34881}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148147.4]
  assign _T_34960 = {_T_22105,_T_22103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148199.4]
  assign _T_34987 = {_T_22107,_T_34960}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148226.4]
  assign _T_35014 = {_T_22109,_T_34987}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148253.4]
  assign _T_35066 = {_T_22225,_T_22223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148305.4]
  assign _T_35093 = {_T_22227,_T_35066}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148332.4]
  assign _T_35120 = {_T_22229,_T_35093}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148359.4]
  assign _T_35172 = {_T_22361,_T_22359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148411.4]
  assign _T_35199 = {_T_22363,_T_35172}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148438.4]
  assign _T_35226 = {_T_22365,_T_35199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148465.4]
  assign _T_35278 = {_T_21057,_T_21055}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148517.4]
  assign _T_35305 = {_T_21059,_T_35278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148544.4]
  assign _T_35332 = {_T_21061,_T_35305}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148571.4]
  assign _T_35384 = {_T_22993,_T_22991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148623.4]
  assign _T_35411 = {_T_22995,_T_35384}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148650.4]
  assign _T_35438 = {_T_22997,_T_35411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148677.4]
  assign _T_35596 = {_T_21433,_T_21431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148835.4]
  assign _T_35623 = {_T_21435,_T_35596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148862.4]
  assign _T_35650 = {_T_21437,_T_35623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148889.4]
  assign _T_35727 = {_T_21393,_T_21391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148966.4]
  assign _T_35754 = {_T_21395,_T_35727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148993.4]
  assign _T_35781 = {_T_21397,_T_35754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149020.4]
  assign _T_35833 = {_T_21273,_T_21271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149072.4]
  assign _T_35860 = {_T_21275,_T_35833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149099.4]
  assign _T_35887 = {_T_21277,_T_35860}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149126.4]
  assign _T_35939 = {_T_22553,_T_22551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149178.4]
  assign _T_35966 = {_T_22555,_T_35939}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149205.4]
  assign _T_35993 = {_T_22557,_T_35966}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149232.4]
  assign _T_36045 = {_T_21977,_T_21975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149284.4]
  assign _T_36072 = {_T_21979,_T_36045}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149311.4]
  assign _T_36099 = {_T_21981,_T_36072}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149338.4]
  assign _T_36257 = {_T_22449,_T_22447}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149496.4]
  assign _T_36284 = {_T_22451,_T_36257}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149523.4]
  assign _T_36311 = {_T_22453,_T_36284}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149550.4]
  assign _T_36363 = {_T_21097,_T_21095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149602.4]
  assign _T_36390 = {_T_21099,_T_36363}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149629.4]
  assign _T_36417 = {_T_21101,_T_36390}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149656.4]
  assign _T_36575 = {_T_21985,_T_21983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149814.4]
  assign _T_36602 = {_T_21987,_T_36575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149841.4]
  assign _T_36629 = {_T_21989,_T_36602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149868.4]
  assign _T_60041 = _T_60333[220]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173444.4]
  assign _T_65766 = _T_71634 & _T_60041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181218.4]
  assign _T_65767 = _T_65766 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181219.4]
  assign _T_36644 = _T_65767 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149883.4]
  assign _T_36669 = _T_65767 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149911.4]
  assign _T_36696 = _T_65767 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149941.4]
  assign _T_36723 = _T_65767 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149971.4]
  assign _T_36787 = {_T_21865,_T_21863}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150038.4]
  assign _T_36814 = {_T_21867,_T_36787}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150065.4]
  assign _T_36841 = {_T_21869,_T_36814}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150092.4]
  assign _T_36893 = {_T_21609,_T_21607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150144.4]
  assign _T_36920 = {_T_21611,_T_36893}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150171.4]
  assign _T_36947 = {_T_21613,_T_36920}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150198.4]
  assign _T_36999 = {_T_21353,_T_21351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150250.4]
  assign _T_37026 = {_T_21355,_T_36999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150277.4]
  assign _T_37053 = {_T_21357,_T_37026}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150304.4]
  assign _T_37105 = {_T_21017,_T_21015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150356.4]
  assign _T_37132 = {_T_21019,_T_37105}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150383.4]
  assign _T_37159 = {_T_21021,_T_37132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150410.4]
  assign _T_37211 = {_T_21729,_T_21727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150462.4]
  assign _T_37238 = {_T_21731,_T_37211}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150489.4]
  assign _T_37265 = {_T_21733,_T_37238}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150516.4]
  assign _T_37317 = {_T_22073,_T_22071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150568.4]
  assign _T_37344 = {_T_22075,_T_37317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150595.4]
  assign _T_37371 = {_T_22077,_T_37344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150622.4]
  assign _T_37423 = {_T_21313,_T_21311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150674.4]
  assign _T_37450 = {_T_21315,_T_37423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150701.4]
  assign _T_37477 = {_T_21317,_T_37450}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150728.4]
  assign _T_37529 = {_T_22329,_T_22327}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150780.4]
  assign _T_37556 = {_T_22331,_T_37529}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150807.4]
  assign _T_37583 = {_T_22333,_T_37556}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150834.4]
  assign _T_37660 = {_T_22193,_T_22191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150911.4]
  assign _T_37687 = {_T_22195,_T_37660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150938.4]
  assign _T_37714 = {_T_22197,_T_37687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150965.4]
  assign _T_37766 = {_T_22369,_T_22367}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151017.4]
  assign _T_37793 = {_T_22371,_T_37766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151044.4]
  assign _T_37820 = {_T_22373,_T_37793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151071.4]
  assign _T_37872 = {_T_21137,_T_21135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151123.4]
  assign _T_37899 = {_T_21139,_T_37872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151150.4]
  assign _T_37926 = {_T_21141,_T_37899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151177.4]
  assign _T_37978 = {_T_22673,_T_22671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151229.4]
  assign _T_38005 = {_T_22675,_T_37978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151256.4]
  assign _T_38032 = {_T_22677,_T_38005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151283.4]
  assign _T_38084 = {_T_22809,_T_22807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151335.4]
  assign _T_38111 = {_T_22811,_T_38084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151362.4]
  assign _T_38138 = {_T_22813,_T_38111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151389.4]
  assign _T_38190 = {_T_21825,_T_21823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151441.4]
  assign _T_38217 = {_T_21827,_T_38190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151468.4]
  assign _T_38244 = {_T_21829,_T_38217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151495.4]
  assign _T_38321 = {_T_22417,_T_22415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151574.4]
  assign _T_38348 = {_T_22419,_T_38321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151601.4]
  assign _T_38375 = {_T_22421,_T_38348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151628.4]
  assign _T_38427 = {_T_21569,_T_21567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151680.4]
  assign _T_38454 = {_T_21571,_T_38427}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151707.4]
  assign _T_38481 = {_T_21573,_T_38454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151734.4]
  assign _T_38639 = {_T_22625,_T_22623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151892.4]
  assign _T_38666 = {_T_22627,_T_38639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151919.4]
  assign _T_38693 = {_T_22629,_T_38666}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151946.4]
  assign _T_38745 = {_T_22881,_T_22879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151998.4]
  assign _T_38772 = {_T_22883,_T_38745}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152025.4]
  assign _T_38799 = {_T_22885,_T_38772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152052.4]
  assign _T_38851 = {_T_22585,_T_22583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152104.4]
  assign _T_38878 = {_T_22587,_T_38851}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152131.4]
  assign _T_38905 = {_T_22589,_T_38878}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152158.4]
  assign _T_38957 = {_T_21529,_T_21527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152210.4]
  assign _T_38984 = {_T_21531,_T_38957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152237.4]
  assign _T_39011 = {_T_21533,_T_38984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152264.4]
  assign _T_39063 = {_T_21217,_T_21215}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152316.4]
  assign _T_39090 = {_T_21219,_T_39063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152343.4]
  assign _T_39117 = {_T_21221,_T_39090}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152370.4]
  assign _T_60045 = _T_60333[224]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173448.4]
  assign _T_65790 = _T_71634 & _T_60045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181262.4]
  assign _T_65791 = _T_65790 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181263.4]
  assign _T_39132 = _T_65791 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152385.4]
  assign _T_39157 = _T_65791 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152413.4]
  assign _T_39184 = _T_65791 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152443.4]
  assign _T_39211 = _T_65791 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@152473.4]
  assign _T_39381 = {_T_21473,_T_21471}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152646.4]
  assign _T_39408 = {_T_21475,_T_39381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152673.4]
  assign _T_39435 = {_T_21477,_T_39408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152700.4]
  assign _T_39487 = {_T_22161,_T_22159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152752.4]
  assign _T_39514 = {_T_22163,_T_39487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152779.4]
  assign _T_39541 = {_T_22165,_T_39514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152806.4]
  assign _T_39593 = {_T_22041,_T_22039}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152858.4]
  assign _T_39620 = {_T_22043,_T_39593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152885.4]
  assign _T_39647 = {_T_22045,_T_39620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152912.4]
  assign _T_39699 = {_T_21785,_T_21783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152964.4]
  assign _T_39726 = {_T_21787,_T_39699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152991.4]
  assign _T_39753 = {_T_21789,_T_39726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153018.4]
  assign _T_39805 = {_T_22297,_T_22295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153070.4]
  assign _T_39832 = {_T_22299,_T_39805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153097.4]
  assign _T_39859 = {_T_22301,_T_39832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153124.4]
  assign _T_39911 = {_T_22929,_T_22927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153176.4]
  assign _T_39938 = {_T_22931,_T_39911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153203.4]
  assign _T_39965 = {_T_22933,_T_39938}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153230.4]
  assign _T_40017 = {_T_21561,_T_21559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153282.4]
  assign _T_40044 = {_T_21563,_T_40017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153309.4]
  assign _T_40071 = {_T_21565,_T_40044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153336.4]
  assign _T_40123 = {_T_22705,_T_22703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153388.4]
  assign _T_40150 = {_T_22707,_T_40123}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153415.4]
  assign _T_40177 = {_T_22709,_T_40150}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153442.4]
  assign _T_40229 = {_T_20985,_T_20983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153494.4]
  assign _T_40256 = {_T_20987,_T_40229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153521.4]
  assign _T_40283 = {_T_20989,_T_40256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153548.4]
  assign _T_40335 = {_T_22841,_T_22839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153600.4]
  assign _T_40362 = {_T_22843,_T_40335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153627.4]
  assign _T_40389 = {_T_22845,_T_40362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153654.4]
  assign _T_40441 = {_T_21649,_T_21647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153706.4]
  assign _T_40468 = {_T_21651,_T_40441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153733.4]
  assign _T_40495 = {_T_21653,_T_40468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153760.4]
  assign _T_40547 = {_T_22745,_T_22743}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153812.4]
  assign _T_40574 = {_T_22747,_T_40547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153839.4]
  assign _T_40601 = {_T_22749,_T_40574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153866.4]
  assign _T_40759 = {_T_22849,_T_22847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154024.4]
  assign _T_40786 = {_T_22851,_T_40759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154051.4]
  assign _T_40813 = {_T_22853,_T_40786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154078.4]
  assign _T_60033 = _T_60333[212]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173436.4]
  assign _T_65718 = _T_71634 & _T_60033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181130.4]
  assign _T_65719 = _T_65718 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181131.4]
  assign _T_40828 = _T_65719 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154093.4]
  assign _T_40853 = _T_65719 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154121.4]
  assign _T_40880 = _T_65719 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154151.4]
  assign _T_40907 = _T_65719 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154181.4]
  assign _T_40971 = {_T_22081,_T_22079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154248.4]
  assign _T_40998 = {_T_22083,_T_40971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154275.4]
  assign _T_41025 = {_T_22085,_T_40998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154302.4]
  assign _T_41183 = {_T_22593,_T_22591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154460.4]
  assign _T_41210 = {_T_22595,_T_41183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154487.4]
  assign _T_41237 = {_T_22597,_T_41210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154514.4]
  assign _T_41289 = {_T_21905,_T_21903}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154566.4]
  assign _T_41316 = {_T_21907,_T_41289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154593.4]
  assign _T_41343 = {_T_21909,_T_41316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154620.4]
  assign _T_41395 = {_T_22961,_T_22959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154672.4]
  assign _T_41422 = {_T_22963,_T_41395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154699.4]
  assign _T_41449 = {_T_22965,_T_41422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154726.4]
  assign _T_41501 = {_T_21681,_T_21679}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154778.4]
  assign _T_41528 = {_T_21683,_T_41501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154805.4]
  assign _T_41555 = {_T_21685,_T_41528}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154832.4]
  assign _T_41607 = {_T_21065,_T_21063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154884.4]
  assign _T_41634 = {_T_21067,_T_41607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154911.4]
  assign _T_41661 = {_T_21069,_T_41634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154938.4]
  assign _T_41713 = {_T_21817,_T_21815}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154990.4]
  assign _T_41740 = {_T_21819,_T_41713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155017.4]
  assign _T_41767 = {_T_21821,_T_41740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155044.4]
  assign _T_41819 = {_T_23001,_T_22999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155096.4]
  assign _T_41846 = {_T_23003,_T_41819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155123.4]
  assign _T_41873 = {_T_23005,_T_41846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155150.4]
  assign _T_41925 = {_T_21425,_T_21423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155202.4]
  assign _T_41952 = {_T_21427,_T_41925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155229.4]
  assign _T_41979 = {_T_21429,_T_41952}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155256.4]
  assign _T_42031 = {_T_22121,_T_22119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155308.4]
  assign _T_42058 = {_T_22123,_T_42031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155335.4]
  assign _T_42085 = {_T_22125,_T_42058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155362.4]
  assign _T_42243 = {_T_21321,_T_21319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155520.4]
  assign _T_42270 = {_T_21323,_T_42243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155547.4]
  assign _T_42297 = {_T_21325,_T_42270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155574.4]
  assign _T_42349 = {_T_22233,_T_22231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155626.4]
  assign _T_42376 = {_T_22235,_T_42349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155653.4]
  assign _T_42403 = {_T_22237,_T_42376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155680.4]
  assign _T_42455 = {_T_22337,_T_22335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155732.4]
  assign _T_42482 = {_T_22339,_T_42455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155759.4]
  assign _T_42509 = {_T_22341,_T_42482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155786.4]
  assign _T_42667 = {_T_22377,_T_22375}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155944.4]
  assign _T_42694 = {_T_22379,_T_42667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155971.4]
  assign _T_42721 = {_T_22381,_T_42694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155998.4]
  assign _T_42773 = {_T_21049,_T_21047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156050.4]
  assign _T_42800 = {_T_21051,_T_42773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156077.4]
  assign _T_42827 = {_T_21053,_T_42800}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156104.4]
  assign _T_42879 = {_T_21169,_T_21167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156156.4]
  assign _T_42906 = {_T_21171,_T_42879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156183.4]
  assign _T_42933 = {_T_21173,_T_42906}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156210.4]
  assign _T_43010 = {_T_21305,_T_21303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156289.4]
  assign _T_43037 = {_T_21307,_T_43010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156316.4]
  assign _T_43064 = {_T_21309,_T_43037}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156343.4]
  assign _T_43116 = {_T_22489,_T_22487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156395.4]
  assign _T_43143 = {_T_22491,_T_43116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156422.4]
  assign _T_43170 = {_T_22493,_T_43143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156449.4]
  assign _T_43222 = {_T_21937,_T_21935}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156501.4]
  assign _T_43249 = {_T_21939,_T_43222}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156528.4]
  assign _T_43276 = {_T_21941,_T_43249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156555.4]
  assign _T_43328 = {_T_22321,_T_22319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156607.4]
  assign _T_43355 = {_T_22323,_T_43328}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156634.4]
  assign _T_43382 = {_T_22325,_T_43355}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156661.4]
  assign _T_43434 = {_T_22153,_T_22151}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156713.4]
  assign _T_43461 = {_T_22155,_T_43434}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156740.4]
  assign _T_43488 = {_T_22157,_T_43461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156767.4]
  assign _T_43540 = {_T_21225,_T_21223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156819.4]
  assign _T_43567 = {_T_21227,_T_43540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156846.4]
  assign _T_43594 = {_T_21229,_T_43567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156873.4]
  assign _T_43646 = {_T_21265,_T_21263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156925.4]
  assign _T_43673 = {_T_21267,_T_43646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156952.4]
  assign _T_43700 = {_T_21269,_T_43673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156979.4]
  assign _T_43752 = {_T_21185,_T_21183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157031.4]
  assign _T_43779 = {_T_21187,_T_43752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157058.4]
  assign _T_43806 = {_T_21189,_T_43779}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157085.4]
  assign _T_43858 = {_T_21009,_T_21007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157137.4]
  assign _T_43885 = {_T_21011,_T_43858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157164.4]
  assign _T_43912 = {_T_21013,_T_43885}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157191.4]
  assign _T_43964 = {_T_22241,_T_22239}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157243.4]
  assign _T_43991 = {_T_22243,_T_43964}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157270.4]
  assign _T_44018 = {_T_22245,_T_43991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157297.4]
  assign _T_44070 = {_T_22065,_T_22063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157349.4]
  assign _T_44097 = {_T_22067,_T_44070}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157376.4]
  assign _T_44124 = {_T_22069,_T_44097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157403.4]
  assign _T_44176 = {_T_22497,_T_22495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157455.4]
  assign _T_44203 = {_T_22499,_T_44176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157482.4]
  assign _T_44230 = {_T_22501,_T_44203}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157509.4]
  assign _T_44282 = {_T_21993,_T_21991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157561.4]
  assign _T_44309 = {_T_21995,_T_44282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157588.4]
  assign _T_44336 = {_T_21997,_T_44309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157615.4]
  assign _T_44388 = {_T_21441,_T_21439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157667.4]
  assign _T_44415 = {_T_21443,_T_44388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157694.4]
  assign _T_44442 = {_T_21445,_T_44415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157721.4]
  assign _T_44494 = {_T_22921,_T_22919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157773.4]
  assign _T_44521 = {_T_22923,_T_44494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157800.4]
  assign _T_44548 = {_T_22925,_T_44521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157827.4]
  assign _T_44600 = {_T_22665,_T_22663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157879.4]
  assign _T_44627 = {_T_22667,_T_44600}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157906.4]
  assign _T_44654 = {_T_22669,_T_44627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157933.4]
  assign _T_44706 = {_T_21617,_T_21615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157985.4]
  assign _T_44733 = {_T_21619,_T_44706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158012.4]
  assign _T_44760 = {_T_21621,_T_44733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158039.4]
  assign _T_44812 = {_T_21737,_T_21735}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158091.4]
  assign _T_44839 = {_T_21739,_T_44812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158118.4]
  assign _T_44866 = {_T_21741,_T_44839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158145.4]
  assign _T_44918 = {_T_22185,_T_22183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158197.4]
  assign _T_44945 = {_T_22187,_T_44918}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158224.4]
  assign _T_44972 = {_T_22189,_T_44945}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158251.4]
  assign _T_60040 = _T_60333[219]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173443.4]
  assign _T_65760 = _T_71634 & _T_60040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181207.4]
  assign _T_65761 = _T_65760 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181208.4]
  assign _T_44987 = _T_65761 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158266.4]
  assign _T_45012 = _T_65761 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158294.4]
  assign _T_45039 = _T_65761 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158324.4]
  assign _T_45066 = _T_65761 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158354.4]
  assign _T_45130 = {_T_21129,_T_21127}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158421.4]
  assign _T_45157 = {_T_21131,_T_45130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158448.4]
  assign _T_45184 = {_T_21133,_T_45157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158475.4]
  assign _T_45236 = {_T_22289,_T_22287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158527.4]
  assign _T_45263 = {_T_22291,_T_45236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158554.4]
  assign _T_45290 = {_T_22293,_T_45263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158581.4]
  assign _T_45342 = {_T_21953,_T_21951}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158633.4]
  assign _T_45369 = {_T_21955,_T_45342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158660.4]
  assign _T_45396 = {_T_21957,_T_45369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158687.4]
  assign _T_45448 = {_T_21833,_T_21831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158739.4]
  assign _T_45475 = {_T_21835,_T_45448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158766.4]
  assign _T_45502 = {_T_21837,_T_45475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158793.4]
  assign _T_45554 = {_T_22545,_T_22543}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158845.4]
  assign _T_45581 = {_T_22547,_T_45554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158872.4]
  assign _T_45608 = {_T_22549,_T_45581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158899.4]
  assign _T_45660 = {_T_21481,_T_21479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158951.4]
  assign _T_45687 = {_T_21483,_T_45660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158978.4]
  assign _T_45714 = {_T_21485,_T_45687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159005.4]
  assign _T_45766 = {_T_23009,_T_23007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159057.4]
  assign _T_45793 = {_T_23011,_T_45766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159084.4]
  assign _T_45820 = {_T_23013,_T_45793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159111.4]
  assign _T_45872 = {_T_22409,_T_22407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159163.4]
  assign _T_45899 = {_T_22411,_T_45872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159190.4]
  assign _T_45926 = {_T_22413,_T_45899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159217.4]
  assign _T_45978 = {_T_21361,_T_21359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159269.4]
  assign _T_46005 = {_T_21363,_T_45978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159296.4]
  assign _T_46032 = {_T_21365,_T_46005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159323.4]
  assign _T_46084 = {_T_21105,_T_21103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159375.4]
  assign _T_46111 = {_T_21107,_T_46084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159402.4]
  assign _T_46138 = {_T_21109,_T_46111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159429.4]
  assign _T_60029 = _T_60333[208]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173432.4]
  assign _T_65694 = _T_71634 & _T_60029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181086.4]
  assign _T_65695 = _T_65694 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181087.4]
  assign _T_46153 = _T_65695 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159444.4]
  assign _T_46178 = _T_65695 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159472.4]
  assign _T_46205 = _T_65695 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159502.4]
  assign _T_46232 = _T_65695 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@159532.4]
  assign _T_46296 = {_T_22753,_T_22751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159599.4]
  assign _T_46323 = {_T_22755,_T_46296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159626.4]
  assign _T_46350 = {_T_22757,_T_46323}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159653.4]
  assign _T_46402 = {_T_22033,_T_22031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159705.4]
  assign _T_46429 = {_T_22035,_T_46402}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159732.4]
  assign _T_46456 = {_T_22037,_T_46429}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159759.4]
  assign _T_46508 = {_T_22889,_T_22887}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159811.4]
  assign _T_46535 = {_T_22891,_T_46508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159838.4]
  assign _T_46562 = {_T_22893,_T_46535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159865.4]
  assign _T_46614 = {_T_21697,_T_21695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159917.4]
  assign _T_46641 = {_T_21699,_T_46614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159944.4]
  assign _T_46668 = {_T_21701,_T_46641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159971.4]
  assign _T_46720 = {_T_21873,_T_21871}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160023.4]
  assign _T_46747 = {_T_21875,_T_46720}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160050.4]
  assign _T_46774 = {_T_21877,_T_46747}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160077.4]
  assign _T_46826 = {_T_21521,_T_21519}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160129.4]
  assign _T_46853 = {_T_21523,_T_46826}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160156.4]
  assign _T_46880 = {_T_21525,_T_46853}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160183.4]
  assign _T_60034 = _T_60333[213]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173437.4]
  assign _T_65724 = _T_71634 & _T_60034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181141.4]
  assign _T_65725 = _T_65724 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181142.4]
  assign _T_46895 = _T_65725 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160198.4]
  assign _T_46920 = _T_65725 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160226.4]
  assign _T_46947 = _T_65725 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160256.4]
  assign _T_46974 = _T_65725 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160286.4]
  assign _T_47038 = {_T_22801,_T_22799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160353.4]
  assign _T_47065 = {_T_22803,_T_47038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160380.4]
  assign _T_47092 = {_T_22805,_T_47065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160407.4]
  assign _T_47275 = {_T_21577,_T_21575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160592.4]
  assign _T_47302 = {_T_21579,_T_47275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160619.4]
  assign _T_47329 = {_T_21581,_T_47302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160646.4]
  assign _T_47381 = {_T_22633,_T_22631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160698.4]
  assign _T_47408 = {_T_22635,_T_47381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160725.4]
  assign _T_47435 = {_T_22637,_T_47408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160752.4]
  assign _T_47593 = {_T_22129,_T_22127}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160910.4]
  assign _T_47620 = {_T_22131,_T_47593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160937.4]
  assign _T_47647 = {_T_22133,_T_47620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160964.4]
  assign _T_47699 = {_T_21161,_T_21159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161016.4]
  assign _T_47726 = {_T_21163,_T_47699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161043.4]
  assign _T_47753 = {_T_21165,_T_47726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161070.4]
  assign _T_47805 = {_T_22577,_T_22575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161122.4]
  assign _T_47832 = {_T_22579,_T_47805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161149.4]
  assign _T_47859 = {_T_22581,_T_47832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161176.4]
  assign _T_60044 = _T_60333[223]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173447.4]
  assign _T_65784 = _T_71634 & _T_60044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181251.4]
  assign _T_65785 = _T_65784 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181252.4]
  assign _T_47874 = _T_65785 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161191.4]
  assign _T_47899 = _T_65785 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161219.4]
  assign _T_47926 = _T_65785 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161249.4]
  assign _T_47953 = _T_65785 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161279.4]
  assign _T_48017 = {_T_22089,_T_22087}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161346.4]
  assign _T_48044 = {_T_22091,_T_48017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161373.4]
  assign _T_48071 = {_T_22093,_T_48044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161400.4]
  assign _T_48123 = {_T_21385,_T_21383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161452.4]
  assign _T_48150 = {_T_21387,_T_48123}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161479.4]
  assign _T_48177 = {_T_21389,_T_48150}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161506.4]
  assign _T_48229 = {_T_21329,_T_21327}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161558.4]
  assign _T_48256 = {_T_21331,_T_48229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161585.4]
  assign _T_48283 = {_T_21333,_T_48256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161612.4]
  assign _T_48335 = {_T_21073,_T_21071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161664.4]
  assign _T_48362 = {_T_21075,_T_48335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161691.4]
  assign _T_48389 = {_T_21077,_T_48362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161718.4]
  assign _T_48441 = {_T_22977,_T_22975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161770.4]
  assign _T_48468 = {_T_22979,_T_48441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161797.4]
  assign _T_48495 = {_T_22981,_T_48468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161824.4]
  assign _T_48547 = {_T_22441,_T_22439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161876.4]
  assign _T_48574 = {_T_22443,_T_48547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161903.4]
  assign _T_48601 = {_T_22445,_T_48574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161930.4]
  assign _T_48653 = {_T_22385,_T_22383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161982.4]
  assign _T_48680 = {_T_22387,_T_48653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162009.4]
  assign _T_48707 = {_T_22389,_T_48680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162036.4]
  assign _T_48759 = {_T_22721,_T_22719}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162088.4]
  assign _T_48786 = {_T_22723,_T_48759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162115.4]
  assign _T_48813 = {_T_22725,_T_48786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162142.4]
  assign _T_48865 = {_T_22857,_T_22855}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162194.4]
  assign _T_48892 = {_T_22859,_T_48865}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162221.4]
  assign _T_48919 = {_T_22861,_T_48892}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162248.4]
  assign _T_48971 = {_T_22345,_T_22343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162300.4]
  assign _T_48998 = {_T_22347,_T_48971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162327.4]
  assign _T_49025 = {_T_22349,_T_48998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162354.4]
  assign _T_49183 = {_T_21929,_T_21927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162512.4]
  assign _T_49210 = {_T_21931,_T_49183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162539.4]
  assign _T_49237 = {_T_21933,_T_49210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162566.4]
  assign _T_60030 = _T_60333[209]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173433.4]
  assign _T_65700 = _T_71634 & _T_60030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181097.4]
  assign _T_65701 = _T_65700 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181098.4]
  assign _T_49252 = _T_65701 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162581.4]
  assign _T_49277 = _T_65701 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162609.4]
  assign _T_49304 = _T_65701 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162639.4]
  assign _T_49331 = _T_65701 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162669.4]
  assign _T_49395 = {_T_22833,_T_22831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162736.4]
  assign _T_49422 = {_T_22835,_T_49395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162763.4]
  assign _T_49449 = {_T_22837,_T_49422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162790.4]
  assign _T_49607 = {_T_21673,_T_21671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162948.4]
  assign _T_49634 = {_T_21675,_T_49607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162975.4]
  assign _T_49661 = {_T_21677,_T_49634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163002.4]
  assign _T_49713 = {_T_21777,_T_21775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163054.4]
  assign _T_49740 = {_T_21779,_T_49713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163081.4]
  assign _T_49767 = {_T_21781,_T_49740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163108.4]
  assign _T_49819 = {_T_22601,_T_22599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163160.4]
  assign _T_49846 = {_T_22603,_T_49819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163187.4]
  assign _T_49873 = {_T_22605,_T_49846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163214.4]
  assign _T_50031 = {_T_21297,_T_21295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163372.4]
  assign _T_50058 = {_T_21299,_T_50031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163399.4]
  assign _T_50085 = {_T_21301,_T_50058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163426.4]
  assign _T_50137 = {_T_21193,_T_21191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163478.4]
  assign _T_50164 = {_T_21195,_T_50137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163505.4]
  assign _T_50191 = {_T_21197,_T_50164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163532.4]
  assign _T_50243 = {_T_22249,_T_22247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163584.4]
  assign _T_50270 = {_T_22251,_T_50243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163611.4]
  assign _T_50297 = {_T_22253,_T_50270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163638.4]
  assign _T_50349 = {_T_21553,_T_21551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163690.4]
  assign _T_50376 = {_T_21555,_T_50349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163717.4]
  assign _T_50403 = {_T_21557,_T_50376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163744.4]
  assign _T_50455 = {_T_22209,_T_22207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163796.4]
  assign _T_50482 = {_T_22211,_T_50455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163823.4]
  assign _T_50509 = {_T_22213,_T_50482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163850.4]
  assign _T_50561 = {_T_21041,_T_21039}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163902.4]
  assign _T_50588 = {_T_21043,_T_50561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163929.4]
  assign _T_50615 = {_T_21045,_T_50588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163956.4]
  assign _T_50667 = {_T_21417,_T_21415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164008.4]
  assign _T_50694 = {_T_21419,_T_50667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164035.4]
  assign _T_50721 = {_T_21421,_T_50694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164062.4]
  assign _T_50798 = {_T_21585,_T_21583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164141.4]
  assign _T_50825 = {_T_21587,_T_50798}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164168.4]
  assign _T_50852 = {_T_21589,_T_50825}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164195.4]
  assign _T_50904 = {_T_22465,_T_22463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164247.4]
  assign _T_50931 = {_T_22467,_T_50904}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164274.4]
  assign _T_50958 = {_T_22469,_T_50931}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164301.4]
  assign _T_51010 = {_T_21897,_T_21895}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164353.4]
  assign _T_51037 = {_T_21899,_T_51010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164380.4]
  assign _T_51064 = {_T_21901,_T_51037}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164407.4]
  assign _T_51116 = {_T_22953,_T_22951}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164459.4]
  assign _T_51143 = {_T_22955,_T_51116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164486.4]
  assign _T_51170 = {_T_22957,_T_51143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164513.4]
  assign _T_51222 = {_T_22641,_T_22639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164565.4]
  assign _T_51249 = {_T_22643,_T_51222}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164592.4]
  assign _T_51276 = {_T_22645,_T_51249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164619.4]
  assign _T_51328 = {_T_21641,_T_21639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164671.4]
  assign _T_51355 = {_T_21643,_T_51328}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164698.4]
  assign _T_51382 = {_T_21645,_T_51355}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164725.4]
  assign _T_51434 = {_T_22697,_T_22695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164777.4]
  assign _T_51461 = {_T_22699,_T_51434}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164804.4]
  assign _T_51488 = {_T_22701,_T_51461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164831.4]
  assign _T_51540 = {_T_21809,_T_21807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164883.4]
  assign _T_51567 = {_T_21811,_T_51540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164910.4]
  assign _T_51594 = {_T_21813,_T_51567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164937.4]
  assign _T_51646 = {_T_21625,_T_21623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164989.4]
  assign _T_51673 = {_T_21627,_T_51646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165016.4]
  assign _T_51700 = {_T_21629,_T_51673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165043.4]
  assign _T_51752 = {_T_22025,_T_22023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165095.4]
  assign _T_51779 = {_T_22027,_T_51752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165122.4]
  assign _T_51806 = {_T_22029,_T_51779}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165149.4]
  assign _T_51858 = {_T_21449,_T_21447}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165201.4]
  assign _T_51885 = {_T_21451,_T_51858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165228.4]
  assign _T_51912 = {_T_21453,_T_51885}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165255.4]
  assign _T_51964 = {_T_22505,_T_22503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165307.4]
  assign _T_51991 = {_T_22507,_T_51964}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165334.4]
  assign _T_52018 = {_T_22509,_T_51991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165361.4]
  assign _T_52070 = {_T_22913,_T_22911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165413.4]
  assign _T_52097 = {_T_22915,_T_52070}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165440.4]
  assign _T_52124 = {_T_22917,_T_52097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165467.4]
  assign _T_52176 = {_T_22657,_T_22655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165519.4]
  assign _T_52203 = {_T_22659,_T_52176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165546.4]
  assign _T_52230 = {_T_22661,_T_52203}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165573.4]
  assign _T_52282 = {_T_22537,_T_22535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165625.4]
  assign _T_52309 = {_T_22539,_T_52282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165652.4]
  assign _T_52336 = {_T_22541,_T_52309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165679.4]
  assign _T_52388 = {_T_21841,_T_21839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165731.4]
  assign _T_52415 = {_T_21843,_T_52388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165758.4]
  assign _T_52442 = {_T_21845,_T_52415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165785.4]
  assign _T_52494 = {_T_22793,_T_22791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165837.4]
  assign _T_52521 = {_T_22795,_T_52494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165864.4]
  assign _T_52548 = {_T_22797,_T_52521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165891.4]
  assign _T_52706 = {_T_22897,_T_22895}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166049.4]
  assign _T_52733 = {_T_22899,_T_52706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166076.4]
  assign _T_52760 = {_T_22901,_T_52733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166103.4]
  assign _T_60039 = _T_60333[218]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173442.4]
  assign _T_65754 = _T_71634 & _T_60039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181196.4]
  assign _T_65755 = _T_65754 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181197.4]
  assign _T_52775 = _T_65755 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166118.4]
  assign _T_52800 = _T_65755 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166146.4]
  assign _T_52827 = _T_65755 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166176.4]
  assign _T_52854 = _T_65755 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@166206.4]
  assign _T_52918 = {_T_21881,_T_21879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166273.4]
  assign _T_52945 = {_T_21883,_T_52918}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166300.4]
  assign _T_52972 = {_T_21885,_T_52945}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166327.4]
  assign _T_53130 = {_T_21489,_T_21487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166485.4]
  assign _T_53157 = {_T_21491,_T_53130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166512.4]
  assign _T_53184 = {_T_21493,_T_53157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166539.4]
  assign _T_53236 = {_T_21369,_T_21367}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166591.4]
  assign _T_53263 = {_T_21371,_T_53236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166618.4]
  assign _T_53290 = {_T_21373,_T_53263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166645.4]
  assign _T_53342 = {_T_21001,_T_20999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166697.4]
  assign _T_53369 = {_T_21003,_T_53342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166724.4]
  assign _T_53396 = {_T_21005,_T_53369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166751.4]
  assign _T_53448 = {_T_21745,_T_21743}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166803.4]
  assign _T_53475 = {_T_21747,_T_53448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166830.4]
  assign _T_53502 = {_T_21749,_T_53475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166857.4]
  assign _T_53554 = {_T_22057,_T_22055}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166909.4]
  assign _T_53581 = {_T_22059,_T_53554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166936.4]
  assign _T_53608 = {_T_22061,_T_53581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166963.4]
  assign _T_53660 = {_T_22145,_T_22143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167015.4]
  assign _T_53687 = {_T_22147,_T_53660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167042.4]
  assign _T_53714 = {_T_22149,_T_53687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167069.4]
  assign _T_53766 = {_T_22281,_T_22279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167121.4]
  assign _T_53793 = {_T_22283,_T_53766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167148.4]
  assign _T_53820 = {_T_22285,_T_53793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167175.4]
  assign _T_53872 = {_T_21257,_T_21255}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167227.4]
  assign _T_53899 = {_T_21259,_T_53872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167254.4]
  assign _T_53926 = {_T_21261,_T_53899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167281.4]
  assign _T_53978 = {_T_21961,_T_21959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167333.4]
  assign _T_54005 = {_T_21963,_T_53978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167360.4]
  assign _T_54032 = {_T_21965,_T_54005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167387.4]
  assign _T_54084 = {_T_22401,_T_22399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167439.4]
  assign _T_54111 = {_T_22403,_T_54084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167466.4]
  assign _T_54138 = {_T_22405,_T_54111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167493.4]
  assign _T_54190 = {_T_23017,_T_23015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167545.4]
  assign _T_54217 = {_T_23019,_T_54190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167572.4]
  assign _T_54244 = {_T_23021,_T_54217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167599.4]
  assign _T_54321 = {_T_22761,_T_22759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167676.4]
  assign _T_54348 = {_T_22763,_T_54321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167703.4]
  assign _T_54375 = {_T_22765,_T_54348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167730.4]
  assign _T_54427 = {_T_21113,_T_21111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167782.4]
  assign _T_54454 = {_T_21115,_T_54427}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167809.4]
  assign _T_54481 = {_T_21117,_T_54454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167836.4]
  assign _T_54533 = {_T_22001,_T_21999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167888.4]
  assign _T_54560 = {_T_22003,_T_54533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167915.4]
  assign _T_54587 = {_T_22005,_T_54560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167942.4]
  assign _T_54639 = {_T_21705,_T_21703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167994.4]
  assign _T_54666 = {_T_21707,_T_54639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168021.4]
  assign _T_54693 = {_T_21709,_T_54666}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168048.4]
  assign _T_60035 = _T_60333[214]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173438.4]
  assign _T_65730 = _T_71634 & _T_60035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181152.4]
  assign _T_65731 = _T_65730 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181153.4]
  assign _T_54708 = _T_65731 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168063.4]
  assign _T_54733 = _T_65731 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168091.4]
  assign _T_54760 = _T_65731 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168121.4]
  assign _T_54787 = _T_65731 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168151.4]
  assign _T_54851 = {_T_21233,_T_21231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168218.4]
  assign _T_54878 = {_T_21235,_T_54851}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168245.4]
  assign _T_54905 = {_T_21237,_T_54878}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168272.4]
  assign _T_54957 = {_T_21337,_T_21335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168324.4]
  assign _T_54984 = {_T_21339,_T_54957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168351.4]
  assign _T_55011 = {_T_21341,_T_54984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168378.4]
  assign _T_55063 = {_T_22513,_T_22511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168430.4]
  assign _T_55090 = {_T_22515,_T_55063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168457.4]
  assign _T_55117 = {_T_22517,_T_55090}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168484.4]
  assign _T_55169 = {_T_21457,_T_21455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168536.4]
  assign _T_55196 = {_T_21459,_T_55169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168563.4]
  assign _T_55223 = {_T_21461,_T_55196}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168590.4]
  assign _T_55275 = {_T_22393,_T_22391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168642.4]
  assign _T_55302 = {_T_22395,_T_55275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168669.4]
  assign _T_55329 = {_T_22397,_T_55302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168696.4]
  assign _T_55381 = {_T_22217,_T_22215}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168748.4]
  assign _T_55408 = {_T_22219,_T_55381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168775.4]
  assign _T_55435 = {_T_22221,_T_55408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168802.4]
  assign _T_55487 = {_T_21033,_T_21031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168854.4]
  assign _T_55514 = {_T_21035,_T_55487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168881.4]
  assign _T_55541 = {_T_21037,_T_55514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168908.4]
  assign _T_55593 = {_T_22177,_T_22175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168960.4]
  assign _T_55620 = {_T_22179,_T_55593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168987.4]
  assign _T_55647 = {_T_22181,_T_55620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169014.4]
  assign _T_55699 = {_T_22313,_T_22311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169066.4]
  assign _T_55726 = {_T_22315,_T_55699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169093.4]
  assign _T_55753 = {_T_22317,_T_55726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169120.4]
  assign _T_55805 = {_T_21121,_T_21119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169172.4]
  assign _T_55832 = {_T_21123,_T_55805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169199.4]
  assign _T_55859 = {_T_21125,_T_55832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169226.4]
  assign _T_55911 = {_T_21921,_T_21919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169278.4]
  assign _T_55938 = {_T_21923,_T_55911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169305.4]
  assign _T_55965 = {_T_21925,_T_55938}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169332.4]
  assign _T_56017 = {_T_21377,_T_21375}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169384.4]
  assign _T_56044 = {_T_21379,_T_56017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169411.4]
  assign _T_56071 = {_T_21381,_T_56044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169438.4]
  assign _T_60031 = _T_60333[210]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173434.4]
  assign _T_65706 = _T_71634 & _T_60031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181108.4]
  assign _T_65707 = _T_65706 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181109.4]
  assign _T_56086 = _T_65707 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169453.4]
  assign _T_56111 = _T_65707 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169481.4]
  assign _T_56138 = _T_65707 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169511.4]
  assign _T_56165 = _T_65707 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@169541.4]
  assign _T_56229 = {_T_21545,_T_21543}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169608.4]
  assign _T_56256 = {_T_21547,_T_56229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169635.4]
  assign _T_56283 = {_T_21549,_T_56256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169662.4]
  assign _T_56335 = {_T_21289,_T_21287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169714.4]
  assign _T_56362 = {_T_21291,_T_56335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169741.4]
  assign _T_56389 = {_T_21293,_T_56362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169768.4]
  assign _T_56441 = {_T_21665,_T_21663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169820.4]
  assign _T_56468 = {_T_21667,_T_56441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169847.4]
  assign _T_56495 = {_T_21669,_T_56468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169874.4]
  assign _T_56547 = {_T_22985,_T_22983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169926.4]
  assign _T_56574 = {_T_22987,_T_56547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169953.4]
  assign _T_56601 = {_T_22989,_T_56574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@169980.4]
  assign _T_56653 = {_T_21081,_T_21079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170032.4]
  assign _T_56680 = {_T_21083,_T_56653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170059.4]
  assign _T_56707 = {_T_21085,_T_56680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170086.4]
  assign _T_56759 = {_T_21801,_T_21799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170138.4]
  assign _T_56786 = {_T_21803,_T_56759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170165.4]
  assign _T_56813 = {_T_21805,_T_56786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170192.4]
  assign _T_56865 = {_T_22433,_T_22431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170244.4]
  assign _T_56892 = {_T_22435,_T_56865}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170271.4]
  assign _T_56919 = {_T_22437,_T_56892}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170298.4]
  assign _T_56971 = {_T_22729,_T_22727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170350.4]
  assign _T_56998 = {_T_22731,_T_56971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170377.4]
  assign _T_57025 = {_T_22733,_T_56998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170404.4]
  assign _T_57077 = {_T_22137,_T_22135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170456.4]
  assign _T_57104 = {_T_22139,_T_57077}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170483.4]
  assign _T_57131 = {_T_22141,_T_57104}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170510.4]
  assign _T_57289 = {_T_21201,_T_21199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170668.4]
  assign _T_57316 = {_T_21203,_T_57289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170695.4]
  assign _T_57343 = {_T_21205,_T_57316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170722.4]
  assign _T_57395 = {_T_22257,_T_22255}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170774.4]
  assign _T_57422 = {_T_22259,_T_57395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170801.4]
  assign _T_57449 = {_T_22261,_T_57422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170828.4]
  assign _T_57501 = {_T_22097,_T_22095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170880.4]
  assign _T_57528 = {_T_22099,_T_57501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170907.4]
  assign _T_57555 = {_T_22101,_T_57528}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170934.4]
  assign _T_57607 = {_T_22649,_T_22647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@170986.4]
  assign _T_57634 = {_T_22651,_T_57607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171013.4]
  assign _T_57661 = {_T_22653,_T_57634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171040.4]
  assign _T_57713 = {_T_21593,_T_21591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171092.4]
  assign _T_57740 = {_T_21595,_T_57713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171119.4]
  assign _T_57767 = {_T_21597,_T_57740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171146.4]
  assign _T_57819 = {_T_22353,_T_22351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171198.4]
  assign _T_57846 = {_T_22355,_T_57819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171225.4]
  assign _T_57873 = {_T_22357,_T_57846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171252.4]
  assign _T_58031 = {_T_22609,_T_22607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171410.4]
  assign _T_58058 = {_T_22611,_T_58031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171437.4]
  assign _T_58085 = {_T_22613,_T_58058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171464.4]
  assign _T_58137 = {_T_21153,_T_21151}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171516.4]
  assign _T_58164 = {_T_21155,_T_58137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171543.4]
  assign _T_58191 = {_T_21157,_T_58164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171570.4]
  assign _T_58243 = {_T_22473,_T_22471}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171622.4]
  assign _T_58270 = {_T_22475,_T_58243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171649.4]
  assign _T_58297 = {_T_22477,_T_58270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171676.4]
  assign _T_58349 = {_T_22945,_T_22943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171728.4]
  assign _T_58376 = {_T_22947,_T_58349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171755.4]
  assign _T_58403 = {_T_22949,_T_58376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171782.4]
  assign _T_58455 = {_T_21889,_T_21887}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171834.4]
  assign _T_58482 = {_T_21891,_T_58455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171861.4]
  assign _T_58509 = {_T_21893,_T_58482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171888.4]
  assign _T_58561 = {_T_21513,_T_21511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171940.4]
  assign _T_58588 = {_T_21515,_T_58561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171967.4]
  assign _T_58615 = {_T_21517,_T_58588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@171994.4]
  assign _T_58667 = {_T_22825,_T_22823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172046.4]
  assign _T_58694 = {_T_22827,_T_58667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172073.4]
  assign _T_58721 = {_T_22829,_T_58694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172100.4]
  assign _T_58773 = {_T_21633,_T_21631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172152.4]
  assign _T_58800 = {_T_21635,_T_58773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172179.4]
  assign _T_58827 = {_T_21637,_T_58800}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172206.4]
  assign _T_58879 = {_T_22689,_T_22687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172258.4]
  assign _T_58906 = {_T_22691,_T_58879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172285.4]
  assign _T_58933 = {_T_22693,_T_58906}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172312.4]
  assign _T_58985 = {_T_21769,_T_21767}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172364.4]
  assign _T_59012 = {_T_21771,_T_58985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172391.4]
  assign _T_59039 = {_T_21773,_T_59012}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172418.4]
  assign _T_59091 = {_T_21409,_T_21407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172470.4]
  assign _T_59118 = {_T_21411,_T_59091}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172497.4]
  assign _T_59145 = {_T_21413,_T_59118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172524.4]
  assign _T_60036 = _T_60333[215]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173439.4]
  assign _T_65736 = _T_71634 & _T_60036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181163.4]
  assign _T_65737 = _T_65736 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181164.4]
  assign _T_59160 = _T_65737 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172539.4]
  assign _T_59185 = _T_65737 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172567.4]
  assign _T_59212 = _T_65737 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172597.4]
  assign _T_59239 = _T_65737 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172627.4]
  assign _T_59303 = {_T_22865,_T_22863}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172694.4]
  assign _T_59330 = {_T_22867,_T_59303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172721.4]
  assign _T_59357 = {_T_22869,_T_59330}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172748.4]
  assign _T_60043 = _T_60333[222]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@173446.4]
  assign _T_65778 = _T_71634 & _T_60043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181240.4]
  assign _T_65779 = _T_65778 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@181241.4]
  assign _T_59372 = _T_65779 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172763.4]
  assign _T_59397 = _T_65779 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172791.4]
  assign _T_59424 = _T_65779 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172821.4]
  assign _T_59451 = _T_65779 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@172851.4]
  assign _T_59515 = {_T_22905,_T_22903}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172918.4]
  assign _T_59542 = {_T_22907,_T_59515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172945.4]
  assign _T_59569 = {_T_22909,_T_59542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@172972.4]
  assign _T_59621 = {_T_22569,_T_22567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173024.4]
  assign _T_59648 = {_T_22571,_T_59621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173051.4]
  assign _T_59675 = {_T_22573,_T_59648}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173078.4]
  assign _T_59727 = {_T_21849,_T_21847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173130.4]
  assign _T_59754 = {_T_21851,_T_59727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173157.4]
  assign _T_59781 = {_T_21853,_T_59754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@173184.4]
  assign _GEN_4553 = 9'h1 == _T_59801 ? _T_23609 : _T_23609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4554 = 9'h2 == _T_59801 ? _T_23609 : _GEN_4553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4555 = 9'h3 == _T_59801 ? _T_23609 : _GEN_4554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4556 = 9'h4 == _T_59801 ? _T_23609 : _GEN_4555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4557 = 9'h5 == _T_59801 ? _T_23609 : _GEN_4556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4558 = 9'h6 == _T_59801 ? _T_23609 : _GEN_4557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4559 = 9'h7 == _T_59801 ? _T_23609 : _GEN_4558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4560 = 9'h8 == _T_59801 ? _T_23609 : _GEN_4559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4561 = 9'h9 == _T_59801 ? _T_23609 : _GEN_4560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4562 = 9'ha == _T_59801 ? _T_23609 : _GEN_4561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4563 = 9'hb == _T_59801 ? _T_23609 : _GEN_4562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4564 = 9'hc == _T_59801 ? _T_23609 : _GEN_4563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4565 = 9'hd == _T_59801 ? _T_23609 : _GEN_4564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4566 = 9'he == _T_59801 ? _T_23609 : _GEN_4565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4567 = 9'hf == _T_59801 ? _T_23609 : _GEN_4566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4568 = 9'h10 == _T_59801 ? _T_23609 : _GEN_4567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4569 = 9'h11 == _T_59801 ? _T_23609 : _GEN_4568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4570 = 9'h12 == _T_59801 ? _T_23609 : _GEN_4569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4571 = 9'h13 == _T_59801 ? _T_23609 : _GEN_4570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4572 = 9'h14 == _T_59801 ? _T_23609 : _GEN_4571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4573 = 9'h15 == _T_59801 ? 1'h1 : _GEN_4572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4574 = 9'h16 == _T_59801 ? 1'h1 : _GEN_4573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4575 = 9'h17 == _T_59801 ? 1'h1 : _GEN_4574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4576 = 9'h18 == _T_59801 ? 1'h1 : _GEN_4575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4577 = 9'h19 == _T_59801 ? 1'h1 : _GEN_4576; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4578 = 9'h1a == _T_59801 ? 1'h1 : _GEN_4577; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4579 = 9'h1b == _T_59801 ? 1'h1 : _GEN_4578; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4580 = 9'h1c == _T_59801 ? 1'h1 : _GEN_4579; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4581 = 9'h1d == _T_59801 ? 1'h1 : _GEN_4580; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4582 = 9'h1e == _T_59801 ? 1'h1 : _GEN_4581; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4583 = 9'h1f == _T_59801 ? 1'h1 : _GEN_4582; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4584 = 9'h20 == _T_59801 ? 1'h1 : _GEN_4583; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4585 = 9'h21 == _T_59801 ? 1'h1 : _GEN_4584; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4586 = 9'h22 == _T_59801 ? 1'h1 : _GEN_4585; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4587 = 9'h23 == _T_59801 ? 1'h1 : _GEN_4586; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4588 = 9'h24 == _T_59801 ? 1'h1 : _GEN_4587; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4589 = 9'h25 == _T_59801 ? 1'h1 : _GEN_4588; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4590 = 9'h26 == _T_59801 ? 1'h1 : _GEN_4589; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4591 = 9'h27 == _T_59801 ? 1'h1 : _GEN_4590; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4592 = 9'h28 == _T_59801 ? 1'h1 : _GEN_4591; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4593 = 9'h29 == _T_59801 ? 1'h1 : _GEN_4592; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4594 = 9'h2a == _T_59801 ? 1'h1 : _GEN_4593; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4595 = 9'h2b == _T_59801 ? 1'h1 : _GEN_4594; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4596 = 9'h2c == _T_59801 ? 1'h1 : _GEN_4595; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4597 = 9'h2d == _T_59801 ? 1'h1 : _GEN_4596; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4598 = 9'h2e == _T_59801 ? 1'h1 : _GEN_4597; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4599 = 9'h2f == _T_59801 ? 1'h1 : _GEN_4598; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4600 = 9'h30 == _T_59801 ? 1'h1 : _GEN_4599; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4601 = 9'h31 == _T_59801 ? 1'h1 : _GEN_4600; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4602 = 9'h32 == _T_59801 ? 1'h1 : _GEN_4601; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4603 = 9'h33 == _T_59801 ? 1'h1 : _GEN_4602; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4604 = 9'h34 == _T_59801 ? 1'h1 : _GEN_4603; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4605 = 9'h35 == _T_59801 ? 1'h1 : _GEN_4604; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4606 = 9'h36 == _T_59801 ? 1'h1 : _GEN_4605; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4607 = 9'h37 == _T_59801 ? 1'h1 : _GEN_4606; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4608 = 9'h38 == _T_59801 ? 1'h1 : _GEN_4607; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4609 = 9'h39 == _T_59801 ? 1'h1 : _GEN_4608; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4610 = 9'h3a == _T_59801 ? 1'h1 : _GEN_4609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4611 = 9'h3b == _T_59801 ? 1'h1 : _GEN_4610; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4612 = 9'h3c == _T_59801 ? 1'h1 : _GEN_4611; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4613 = 9'h3d == _T_59801 ? 1'h1 : _GEN_4612; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4614 = 9'h3e == _T_59801 ? 1'h1 : _GEN_4613; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4615 = 9'h3f == _T_59801 ? 1'h1 : _GEN_4614; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4616 = 9'h40 == _T_59801 ? _T_23089 : _GEN_4615; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4617 = 9'h41 == _T_59801 ? _T_23089 : _GEN_4616; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4618 = 9'h42 == _T_59801 ? _T_23089 : _GEN_4617; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4619 = 9'h43 == _T_59801 ? _T_23089 : _GEN_4618; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4620 = 9'h44 == _T_59801 ? 1'h1 : _GEN_4619; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4621 = 9'h45 == _T_59801 ? 1'h1 : _GEN_4620; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4622 = 9'h46 == _T_59801 ? 1'h1 : _GEN_4621; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4623 = 9'h47 == _T_59801 ? 1'h1 : _GEN_4622; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4624 = 9'h48 == _T_59801 ? 1'h1 : _GEN_4623; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4625 = 9'h49 == _T_59801 ? 1'h1 : _GEN_4624; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4626 = 9'h4a == _T_59801 ? 1'h1 : _GEN_4625; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4627 = 9'h4b == _T_59801 ? 1'h1 : _GEN_4626; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4628 = 9'h4c == _T_59801 ? 1'h1 : _GEN_4627; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4629 = 9'h4d == _T_59801 ? 1'h1 : _GEN_4628; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4630 = 9'h4e == _T_59801 ? 1'h1 : _GEN_4629; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4631 = 9'h4f == _T_59801 ? 1'h1 : _GEN_4630; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4632 = 9'h50 == _T_59801 ? 1'h1 : _GEN_4631; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4633 = 9'h51 == _T_59801 ? 1'h1 : _GEN_4632; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4634 = 9'h52 == _T_59801 ? 1'h1 : _GEN_4633; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4635 = 9'h53 == _T_59801 ? 1'h1 : _GEN_4634; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4636 = 9'h54 == _T_59801 ? 1'h1 : _GEN_4635; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4637 = 9'h55 == _T_59801 ? 1'h1 : _GEN_4636; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4638 = 9'h56 == _T_59801 ? 1'h1 : _GEN_4637; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4639 = 9'h57 == _T_59801 ? 1'h1 : _GEN_4638; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4640 = 9'h58 == _T_59801 ? 1'h1 : _GEN_4639; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4641 = 9'h59 == _T_59801 ? 1'h1 : _GEN_4640; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4642 = 9'h5a == _T_59801 ? 1'h1 : _GEN_4641; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4643 = 9'h5b == _T_59801 ? 1'h1 : _GEN_4642; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4644 = 9'h5c == _T_59801 ? 1'h1 : _GEN_4643; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4645 = 9'h5d == _T_59801 ? 1'h1 : _GEN_4644; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4646 = 9'h5e == _T_59801 ? 1'h1 : _GEN_4645; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4647 = 9'h5f == _T_59801 ? 1'h1 : _GEN_4646; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4648 = 9'h60 == _T_59801 ? 1'h1 : _GEN_4647; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4649 = 9'h61 == _T_59801 ? 1'h1 : _GEN_4648; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4650 = 9'h62 == _T_59801 ? 1'h1 : _GEN_4649; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4651 = 9'h63 == _T_59801 ? 1'h1 : _GEN_4650; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4652 = 9'h64 == _T_59801 ? 1'h1 : _GEN_4651; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4653 = 9'h65 == _T_59801 ? 1'h1 : _GEN_4652; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4654 = 9'h66 == _T_59801 ? 1'h1 : _GEN_4653; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4655 = 9'h67 == _T_59801 ? 1'h1 : _GEN_4654; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4656 = 9'h68 == _T_59801 ? 1'h1 : _GEN_4655; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4657 = 9'h69 == _T_59801 ? 1'h1 : _GEN_4656; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4658 = 9'h6a == _T_59801 ? 1'h1 : _GEN_4657; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4659 = 9'h6b == _T_59801 ? 1'h1 : _GEN_4658; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4660 = 9'h6c == _T_59801 ? 1'h1 : _GEN_4659; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4661 = 9'h6d == _T_59801 ? 1'h1 : _GEN_4660; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4662 = 9'h6e == _T_59801 ? 1'h1 : _GEN_4661; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4663 = 9'h6f == _T_59801 ? 1'h1 : _GEN_4662; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4664 = 9'h70 == _T_59801 ? 1'h1 : _GEN_4663; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4665 = 9'h71 == _T_59801 ? 1'h1 : _GEN_4664; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4666 = 9'h72 == _T_59801 ? 1'h1 : _GEN_4665; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4667 = 9'h73 == _T_59801 ? 1'h1 : _GEN_4666; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4668 = 9'h74 == _T_59801 ? 1'h1 : _GEN_4667; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4669 = 9'h75 == _T_59801 ? 1'h1 : _GEN_4668; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4670 = 9'h76 == _T_59801 ? 1'h1 : _GEN_4669; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4671 = 9'h77 == _T_59801 ? 1'h1 : _GEN_4670; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4672 = 9'h78 == _T_59801 ? 1'h1 : _GEN_4671; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4673 = 9'h79 == _T_59801 ? 1'h1 : _GEN_4672; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4674 = 9'h7a == _T_59801 ? 1'h1 : _GEN_4673; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4675 = 9'h7b == _T_59801 ? 1'h1 : _GEN_4674; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4676 = 9'h7c == _T_59801 ? 1'h1 : _GEN_4675; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4677 = 9'h7d == _T_59801 ? 1'h1 : _GEN_4676; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4678 = 9'h7e == _T_59801 ? 1'h1 : _GEN_4677; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4679 = 9'h7f == _T_59801 ? 1'h1 : _GEN_4678; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4680 = 9'h80 == _T_59801 ? 1'h1 : _GEN_4679; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4681 = 9'h81 == _T_59801 ? 1'h1 : _GEN_4680; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4682 = 9'h82 == _T_59801 ? 1'h1 : _GEN_4681; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4683 = 9'h83 == _T_59801 ? 1'h1 : _GEN_4682; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4684 = 9'h84 == _T_59801 ? 1'h1 : _GEN_4683; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4685 = 9'h85 == _T_59801 ? 1'h1 : _GEN_4684; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4686 = 9'h86 == _T_59801 ? 1'h1 : _GEN_4685; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4687 = 9'h87 == _T_59801 ? 1'h1 : _GEN_4686; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4688 = 9'h88 == _T_59801 ? 1'h1 : _GEN_4687; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4689 = 9'h89 == _T_59801 ? 1'h1 : _GEN_4688; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4690 = 9'h8a == _T_59801 ? 1'h1 : _GEN_4689; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4691 = 9'h8b == _T_59801 ? 1'h1 : _GEN_4690; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4692 = 9'h8c == _T_59801 ? 1'h1 : _GEN_4691; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4693 = 9'h8d == _T_59801 ? 1'h1 : _GEN_4692; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4694 = 9'h8e == _T_59801 ? 1'h1 : _GEN_4693; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4695 = 9'h8f == _T_59801 ? 1'h1 : _GEN_4694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4696 = 9'h90 == _T_59801 ? 1'h1 : _GEN_4695; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4697 = 9'h91 == _T_59801 ? 1'h1 : _GEN_4696; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4698 = 9'h92 == _T_59801 ? 1'h1 : _GEN_4697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4699 = 9'h93 == _T_59801 ? 1'h1 : _GEN_4698; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4700 = 9'h94 == _T_59801 ? 1'h1 : _GEN_4699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4701 = 9'h95 == _T_59801 ? 1'h1 : _GEN_4700; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4702 = 9'h96 == _T_59801 ? 1'h1 : _GEN_4701; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4703 = 9'h97 == _T_59801 ? 1'h1 : _GEN_4702; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4704 = 9'h98 == _T_59801 ? 1'h1 : _GEN_4703; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4705 = 9'h99 == _T_59801 ? 1'h1 : _GEN_4704; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4706 = 9'h9a == _T_59801 ? 1'h1 : _GEN_4705; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4707 = 9'h9b == _T_59801 ? 1'h1 : _GEN_4706; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4708 = 9'h9c == _T_59801 ? 1'h1 : _GEN_4707; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4709 = 9'h9d == _T_59801 ? 1'h1 : _GEN_4708; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4710 = 9'h9e == _T_59801 ? 1'h1 : _GEN_4709; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4711 = 9'h9f == _T_59801 ? 1'h1 : _GEN_4710; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4712 = 9'ha0 == _T_59801 ? 1'h1 : _GEN_4711; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4713 = 9'ha1 == _T_59801 ? 1'h1 : _GEN_4712; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4714 = 9'ha2 == _T_59801 ? 1'h1 : _GEN_4713; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4715 = 9'ha3 == _T_59801 ? 1'h1 : _GEN_4714; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4716 = 9'ha4 == _T_59801 ? 1'h1 : _GEN_4715; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4717 = 9'ha5 == _T_59801 ? 1'h1 : _GEN_4716; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4718 = 9'ha6 == _T_59801 ? 1'h1 : _GEN_4717; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4719 = 9'ha7 == _T_59801 ? 1'h1 : _GEN_4718; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4720 = 9'ha8 == _T_59801 ? 1'h1 : _GEN_4719; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4721 = 9'ha9 == _T_59801 ? 1'h1 : _GEN_4720; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4722 = 9'haa == _T_59801 ? 1'h1 : _GEN_4721; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4723 = 9'hab == _T_59801 ? 1'h1 : _GEN_4722; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4724 = 9'hac == _T_59801 ? 1'h1 : _GEN_4723; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4725 = 9'had == _T_59801 ? 1'h1 : _GEN_4724; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4726 = 9'hae == _T_59801 ? 1'h1 : _GEN_4725; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4727 = 9'haf == _T_59801 ? 1'h1 : _GEN_4726; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4728 = 9'hb0 == _T_59801 ? 1'h1 : _GEN_4727; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4729 = 9'hb1 == _T_59801 ? 1'h1 : _GEN_4728; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4730 = 9'hb2 == _T_59801 ? 1'h1 : _GEN_4729; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4731 = 9'hb3 == _T_59801 ? 1'h1 : _GEN_4730; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4732 = 9'hb4 == _T_59801 ? 1'h1 : _GEN_4731; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4733 = 9'hb5 == _T_59801 ? 1'h1 : _GEN_4732; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4734 = 9'hb6 == _T_59801 ? 1'h1 : _GEN_4733; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4735 = 9'hb7 == _T_59801 ? 1'h1 : _GEN_4734; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4736 = 9'hb8 == _T_59801 ? 1'h1 : _GEN_4735; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4737 = 9'hb9 == _T_59801 ? 1'h1 : _GEN_4736; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4738 = 9'hba == _T_59801 ? 1'h1 : _GEN_4737; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4739 = 9'hbb == _T_59801 ? 1'h1 : _GEN_4738; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4740 = 9'hbc == _T_59801 ? 1'h1 : _GEN_4739; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4741 = 9'hbd == _T_59801 ? 1'h1 : _GEN_4740; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4742 = 9'hbe == _T_59801 ? 1'h1 : _GEN_4741; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4743 = 9'hbf == _T_59801 ? 1'h1 : _GEN_4742; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4744 = 9'hc0 == _T_59801 ? _T_23089 : _GEN_4743; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4745 = 9'hc1 == _T_59801 ? 1'h1 : _GEN_4744; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4746 = 9'hc2 == _T_59801 ? 1'h1 : _GEN_4745; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4747 = 9'hc3 == _T_59801 ? 1'h1 : _GEN_4746; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4748 = 9'hc4 == _T_59801 ? 1'h1 : _GEN_4747; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4749 = 9'hc5 == _T_59801 ? 1'h1 : _GEN_4748; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4750 = 9'hc6 == _T_59801 ? 1'h1 : _GEN_4749; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4751 = 9'hc7 == _T_59801 ? 1'h1 : _GEN_4750; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4752 = 9'hc8 == _T_59801 ? 1'h1 : _GEN_4751; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4753 = 9'hc9 == _T_59801 ? 1'h1 : _GEN_4752; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4754 = 9'hca == _T_59801 ? 1'h1 : _GEN_4753; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4755 = 9'hcb == _T_59801 ? 1'h1 : _GEN_4754; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4756 = 9'hcc == _T_59801 ? 1'h1 : _GEN_4755; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4757 = 9'hcd == _T_59801 ? 1'h1 : _GEN_4756; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4758 = 9'hce == _T_59801 ? _T_23089 : _GEN_4757; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4759 = 9'hcf == _T_59801 ? _T_23089 : _GEN_4758; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4760 = 9'hd0 == _T_59801 ? _T_23089 : _GEN_4759; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4761 = 9'hd1 == _T_59801 ? _T_23089 : _GEN_4760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4762 = 9'hd2 == _T_59801 ? _T_23089 : _GEN_4761; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4763 = 9'hd3 == _T_59801 ? _T_23089 : _GEN_4762; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4764 = 9'hd4 == _T_59801 ? _T_23089 : _GEN_4763; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4765 = 9'hd5 == _T_59801 ? _T_23089 : _GEN_4764; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4766 = 9'hd6 == _T_59801 ? _T_23089 : _GEN_4765; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4767 = 9'hd7 == _T_59801 ? _T_23089 : _GEN_4766; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4768 = 9'hd8 == _T_59801 ? _T_23089 : _GEN_4767; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4769 = 9'hd9 == _T_59801 ? _T_23089 : _GEN_4768; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4770 = 9'hda == _T_59801 ? _T_23089 : _GEN_4769; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4771 = 9'hdb == _T_59801 ? _T_23089 : _GEN_4770; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4772 = 9'hdc == _T_59801 ? _T_23089 : _GEN_4771; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4773 = 9'hdd == _T_59801 ? _T_23089 : _GEN_4772; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4774 = 9'hde == _T_59801 ? _T_23089 : _GEN_4773; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4775 = 9'hdf == _T_59801 ? _T_23089 : _GEN_4774; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4776 = 9'he0 == _T_59801 ? _T_23089 : _GEN_4775; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4777 = 9'he1 == _T_59801 ? 1'h1 : _GEN_4776; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4778 = 9'he2 == _T_59801 ? 1'h1 : _GEN_4777; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4779 = 9'he3 == _T_59801 ? 1'h1 : _GEN_4778; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4780 = 9'he4 == _T_59801 ? 1'h1 : _GEN_4779; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4781 = 9'he5 == _T_59801 ? 1'h1 : _GEN_4780; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4782 = 9'he6 == _T_59801 ? 1'h1 : _GEN_4781; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4783 = 9'he7 == _T_59801 ? 1'h1 : _GEN_4782; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4784 = 9'he8 == _T_59801 ? 1'h1 : _GEN_4783; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4785 = 9'he9 == _T_59801 ? 1'h1 : _GEN_4784; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4786 = 9'hea == _T_59801 ? 1'h1 : _GEN_4785; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4787 = 9'heb == _T_59801 ? 1'h1 : _GEN_4786; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4788 = 9'hec == _T_59801 ? 1'h1 : _GEN_4787; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4789 = 9'hed == _T_59801 ? 1'h1 : _GEN_4788; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4790 = 9'hee == _T_59801 ? 1'h1 : _GEN_4789; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4791 = 9'hef == _T_59801 ? 1'h1 : _GEN_4790; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4792 = 9'hf0 == _T_59801 ? 1'h1 : _GEN_4791; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4793 = 9'hf1 == _T_59801 ? 1'h1 : _GEN_4792; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4794 = 9'hf2 == _T_59801 ? 1'h1 : _GEN_4793; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4795 = 9'hf3 == _T_59801 ? 1'h1 : _GEN_4794; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4796 = 9'hf4 == _T_59801 ? 1'h1 : _GEN_4795; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4797 = 9'hf5 == _T_59801 ? 1'h1 : _GEN_4796; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4798 = 9'hf6 == _T_59801 ? 1'h1 : _GEN_4797; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4799 = 9'hf7 == _T_59801 ? 1'h1 : _GEN_4798; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4800 = 9'hf8 == _T_59801 ? 1'h1 : _GEN_4799; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4801 = 9'hf9 == _T_59801 ? 1'h1 : _GEN_4800; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4802 = 9'hfa == _T_59801 ? 1'h1 : _GEN_4801; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4803 = 9'hfb == _T_59801 ? 1'h1 : _GEN_4802; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4804 = 9'hfc == _T_59801 ? 1'h1 : _GEN_4803; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4805 = 9'hfd == _T_59801 ? 1'h1 : _GEN_4804; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4806 = 9'hfe == _T_59801 ? 1'h1 : _GEN_4805; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4807 = 9'hff == _T_59801 ? 1'h1 : _GEN_4806; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4808 = 9'h100 == _T_59801 ? _T_23089 : _GEN_4807; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4809 = 9'h101 == _T_59801 ? _T_23089 : _GEN_4808; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4810 = 9'h102 == _T_59801 ? _T_23089 : _GEN_4809; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4811 = 9'h103 == _T_59801 ? _T_23089 : _GEN_4810; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4812 = 9'h104 == _T_59801 ? _T_23089 : _GEN_4811; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4813 = 9'h105 == _T_59801 ? _T_23089 : _GEN_4812; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4814 = 9'h106 == _T_59801 ? _T_23089 : _GEN_4813; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4815 = 9'h107 == _T_59801 ? _T_23089 : _GEN_4814; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4816 = 9'h108 == _T_59801 ? _T_23089 : _GEN_4815; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4817 = 9'h109 == _T_59801 ? _T_23089 : _GEN_4816; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4818 = 9'h10a == _T_59801 ? _T_23089 : _GEN_4817; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4819 = 9'h10b == _T_59801 ? _T_23089 : _GEN_4818; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4820 = 9'h10c == _T_59801 ? _T_23089 : _GEN_4819; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4821 = 9'h10d == _T_59801 ? _T_23089 : _GEN_4820; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4822 = 9'h10e == _T_59801 ? _T_23089 : _GEN_4821; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4823 = 9'h10f == _T_59801 ? _T_23089 : _GEN_4822; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4824 = 9'h110 == _T_59801 ? _T_23089 : _GEN_4823; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4825 = 9'h111 == _T_59801 ? _T_23089 : _GEN_4824; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4826 = 9'h112 == _T_59801 ? _T_23089 : _GEN_4825; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4827 = 9'h113 == _T_59801 ? _T_23089 : _GEN_4826; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4828 = 9'h114 == _T_59801 ? _T_23089 : _GEN_4827; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4829 = 9'h115 == _T_59801 ? _T_23089 : _GEN_4828; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4830 = 9'h116 == _T_59801 ? _T_23089 : _GEN_4829; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4831 = 9'h117 == _T_59801 ? _T_23089 : _GEN_4830; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4832 = 9'h118 == _T_59801 ? _T_23089 : _GEN_4831; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4833 = 9'h119 == _T_59801 ? _T_23089 : _GEN_4832; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4834 = 9'h11a == _T_59801 ? _T_23089 : _GEN_4833; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4835 = 9'h11b == _T_59801 ? _T_23089 : _GEN_4834; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4836 = 9'h11c == _T_59801 ? _T_23089 : _GEN_4835; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4837 = 9'h11d == _T_59801 ? _T_23089 : _GEN_4836; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4838 = 9'h11e == _T_59801 ? _T_23089 : _GEN_4837; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4839 = 9'h11f == _T_59801 ? _T_23089 : _GEN_4838; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4840 = 9'h120 == _T_59801 ? _T_23089 : _GEN_4839; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4841 = 9'h121 == _T_59801 ? _T_23089 : _GEN_4840; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4842 = 9'h122 == _T_59801 ? _T_23089 : _GEN_4841; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4843 = 9'h123 == _T_59801 ? _T_23089 : _GEN_4842; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4844 = 9'h124 == _T_59801 ? _T_23089 : _GEN_4843; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4845 = 9'h125 == _T_59801 ? _T_23089 : _GEN_4844; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4846 = 9'h126 == _T_59801 ? _T_23089 : _GEN_4845; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4847 = 9'h127 == _T_59801 ? _T_23089 : _GEN_4846; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4848 = 9'h128 == _T_59801 ? _T_23089 : _GEN_4847; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4849 = 9'h129 == _T_59801 ? _T_23089 : _GEN_4848; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4850 = 9'h12a == _T_59801 ? _T_23089 : _GEN_4849; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4851 = 9'h12b == _T_59801 ? _T_23089 : _GEN_4850; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4852 = 9'h12c == _T_59801 ? _T_23089 : _GEN_4851; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4853 = 9'h12d == _T_59801 ? _T_23089 : _GEN_4852; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4854 = 9'h12e == _T_59801 ? _T_23089 : _GEN_4853; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4855 = 9'h12f == _T_59801 ? _T_23089 : _GEN_4854; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4856 = 9'h130 == _T_59801 ? _T_23089 : _GEN_4855; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4857 = 9'h131 == _T_59801 ? _T_23089 : _GEN_4856; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4858 = 9'h132 == _T_59801 ? _T_23089 : _GEN_4857; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4859 = 9'h133 == _T_59801 ? _T_23089 : _GEN_4858; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4860 = 9'h134 == _T_59801 ? _T_23089 : _GEN_4859; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4861 = 9'h135 == _T_59801 ? _T_23089 : _GEN_4860; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4862 = 9'h136 == _T_59801 ? _T_23089 : _GEN_4861; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4863 = 9'h137 == _T_59801 ? _T_23089 : _GEN_4862; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4864 = 9'h138 == _T_59801 ? _T_23089 : _GEN_4863; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4865 = 9'h139 == _T_59801 ? _T_23089 : _GEN_4864; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4866 = 9'h13a == _T_59801 ? _T_23089 : _GEN_4865; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4867 = 9'h13b == _T_59801 ? _T_23089 : _GEN_4866; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4868 = 9'h13c == _T_59801 ? _T_23089 : _GEN_4867; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4869 = 9'h13d == _T_59801 ? _T_23089 : _GEN_4868; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4870 = 9'h13e == _T_59801 ? _T_23089 : _GEN_4869; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4871 = 9'h13f == _T_59801 ? _T_23089 : _GEN_4870; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4872 = 9'h140 == _T_59801 ? _T_23089 : _GEN_4871; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4873 = 9'h141 == _T_59801 ? _T_23089 : _GEN_4872; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4874 = 9'h142 == _T_59801 ? _T_23089 : _GEN_4873; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4875 = 9'h143 == _T_59801 ? _T_23089 : _GEN_4874; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4876 = 9'h144 == _T_59801 ? _T_23089 : _GEN_4875; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4877 = 9'h145 == _T_59801 ? _T_23089 : _GEN_4876; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4878 = 9'h146 == _T_59801 ? _T_23089 : _GEN_4877; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4879 = 9'h147 == _T_59801 ? _T_23089 : _GEN_4878; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4880 = 9'h148 == _T_59801 ? _T_23089 : _GEN_4879; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4881 = 9'h149 == _T_59801 ? _T_23089 : _GEN_4880; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4882 = 9'h14a == _T_59801 ? _T_23089 : _GEN_4881; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4883 = 9'h14b == _T_59801 ? _T_23089 : _GEN_4882; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4884 = 9'h14c == _T_59801 ? _T_23089 : _GEN_4883; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4885 = 9'h14d == _T_59801 ? _T_23089 : _GEN_4884; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4886 = 9'h14e == _T_59801 ? _T_23089 : _GEN_4885; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4887 = 9'h14f == _T_59801 ? _T_23089 : _GEN_4886; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4888 = 9'h150 == _T_59801 ? _T_23089 : _GEN_4887; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4889 = 9'h151 == _T_59801 ? _T_23089 : _GEN_4888; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4890 = 9'h152 == _T_59801 ? _T_23089 : _GEN_4889; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4891 = 9'h153 == _T_59801 ? _T_23089 : _GEN_4890; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4892 = 9'h154 == _T_59801 ? _T_23089 : _GEN_4891; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4893 = 9'h155 == _T_59801 ? _T_23089 : _GEN_4892; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4894 = 9'h156 == _T_59801 ? _T_23089 : _GEN_4893; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4895 = 9'h157 == _T_59801 ? _T_23089 : _GEN_4894; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4896 = 9'h158 == _T_59801 ? _T_23089 : _GEN_4895; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4897 = 9'h159 == _T_59801 ? _T_23089 : _GEN_4896; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4898 = 9'h15a == _T_59801 ? _T_23089 : _GEN_4897; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4899 = 9'h15b == _T_59801 ? _T_23089 : _GEN_4898; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4900 = 9'h15c == _T_59801 ? _T_23089 : _GEN_4899; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4901 = 9'h15d == _T_59801 ? _T_23089 : _GEN_4900; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4902 = 9'h15e == _T_59801 ? _T_23089 : _GEN_4901; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4903 = 9'h15f == _T_59801 ? _T_23089 : _GEN_4902; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4904 = 9'h160 == _T_59801 ? _T_23089 : _GEN_4903; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4905 = 9'h161 == _T_59801 ? _T_23089 : _GEN_4904; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4906 = 9'h162 == _T_59801 ? _T_23089 : _GEN_4905; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4907 = 9'h163 == _T_59801 ? _T_23089 : _GEN_4906; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4908 = 9'h164 == _T_59801 ? _T_23089 : _GEN_4907; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4909 = 9'h165 == _T_59801 ? _T_23089 : _GEN_4908; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4910 = 9'h166 == _T_59801 ? _T_23089 : _GEN_4909; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4911 = 9'h167 == _T_59801 ? _T_23089 : _GEN_4910; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4912 = 9'h168 == _T_59801 ? _T_23089 : _GEN_4911; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4913 = 9'h169 == _T_59801 ? _T_23089 : _GEN_4912; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4914 = 9'h16a == _T_59801 ? _T_23089 : _GEN_4913; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4915 = 9'h16b == _T_59801 ? _T_23089 : _GEN_4914; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4916 = 9'h16c == _T_59801 ? _T_23089 : _GEN_4915; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4917 = 9'h16d == _T_59801 ? _T_23089 : _GEN_4916; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4918 = 9'h16e == _T_59801 ? _T_23089 : _GEN_4917; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4919 = 9'h16f == _T_59801 ? _T_23089 : _GEN_4918; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4920 = 9'h170 == _T_59801 ? _T_23089 : _GEN_4919; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4921 = 9'h171 == _T_59801 ? _T_23089 : _GEN_4920; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4922 = 9'h172 == _T_59801 ? _T_23089 : _GEN_4921; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4923 = 9'h173 == _T_59801 ? _T_23089 : _GEN_4922; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4924 = 9'h174 == _T_59801 ? _T_23089 : _GEN_4923; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4925 = 9'h175 == _T_59801 ? _T_23089 : _GEN_4924; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4926 = 9'h176 == _T_59801 ? _T_23089 : _GEN_4925; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4927 = 9'h177 == _T_59801 ? _T_23089 : _GEN_4926; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4928 = 9'h178 == _T_59801 ? _T_23089 : _GEN_4927; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4929 = 9'h179 == _T_59801 ? _T_23089 : _GEN_4928; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4930 = 9'h17a == _T_59801 ? _T_23089 : _GEN_4929; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4931 = 9'h17b == _T_59801 ? _T_23089 : _GEN_4930; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4932 = 9'h17c == _T_59801 ? _T_23089 : _GEN_4931; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4933 = 9'h17d == _T_59801 ? _T_23089 : _GEN_4932; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4934 = 9'h17e == _T_59801 ? _T_23089 : _GEN_4933; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4935 = 9'h17f == _T_59801 ? _T_23089 : _GEN_4934; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4936 = 9'h180 == _T_59801 ? _T_23089 : _GEN_4935; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4937 = 9'h181 == _T_59801 ? _T_23089 : _GEN_4936; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4938 = 9'h182 == _T_59801 ? _T_23089 : _GEN_4937; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4939 = 9'h183 == _T_59801 ? _T_23089 : _GEN_4938; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4940 = 9'h184 == _T_59801 ? _T_23089 : _GEN_4939; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4941 = 9'h185 == _T_59801 ? _T_23089 : _GEN_4940; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4942 = 9'h186 == _T_59801 ? _T_23089 : _GEN_4941; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4943 = 9'h187 == _T_59801 ? _T_23089 : _GEN_4942; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4944 = 9'h188 == _T_59801 ? _T_23089 : _GEN_4943; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4945 = 9'h189 == _T_59801 ? _T_23089 : _GEN_4944; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4946 = 9'h18a == _T_59801 ? _T_23089 : _GEN_4945; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4947 = 9'h18b == _T_59801 ? _T_23089 : _GEN_4946; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4948 = 9'h18c == _T_59801 ? _T_23089 : _GEN_4947; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4949 = 9'h18d == _T_59801 ? _T_23089 : _GEN_4948; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4950 = 9'h18e == _T_59801 ? _T_23089 : _GEN_4949; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4951 = 9'h18f == _T_59801 ? _T_23089 : _GEN_4950; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4952 = 9'h190 == _T_59801 ? _T_23089 : _GEN_4951; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4953 = 9'h191 == _T_59801 ? _T_23089 : _GEN_4952; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4954 = 9'h192 == _T_59801 ? _T_23089 : _GEN_4953; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4955 = 9'h193 == _T_59801 ? _T_23089 : _GEN_4954; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4956 = 9'h194 == _T_59801 ? _T_23089 : _GEN_4955; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4957 = 9'h195 == _T_59801 ? _T_23089 : _GEN_4956; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4958 = 9'h196 == _T_59801 ? _T_23089 : _GEN_4957; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4959 = 9'h197 == _T_59801 ? _T_23089 : _GEN_4958; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4960 = 9'h198 == _T_59801 ? _T_23089 : _GEN_4959; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4961 = 9'h199 == _T_59801 ? _T_23089 : _GEN_4960; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4962 = 9'h19a == _T_59801 ? _T_23089 : _GEN_4961; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4963 = 9'h19b == _T_59801 ? _T_23089 : _GEN_4962; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4964 = 9'h19c == _T_59801 ? _T_23089 : _GEN_4963; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4965 = 9'h19d == _T_59801 ? _T_23089 : _GEN_4964; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4966 = 9'h19e == _T_59801 ? _T_23089 : _GEN_4965; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4967 = 9'h19f == _T_59801 ? _T_23089 : _GEN_4966; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4968 = 9'h1a0 == _T_59801 ? _T_23089 : _GEN_4967; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4969 = 9'h1a1 == _T_59801 ? _T_23089 : _GEN_4968; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4970 = 9'h1a2 == _T_59801 ? _T_23089 : _GEN_4969; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4971 = 9'h1a3 == _T_59801 ? _T_23089 : _GEN_4970; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4972 = 9'h1a4 == _T_59801 ? _T_23089 : _GEN_4971; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4973 = 9'h1a5 == _T_59801 ? _T_23089 : _GEN_4972; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4974 = 9'h1a6 == _T_59801 ? _T_23089 : _GEN_4973; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4975 = 9'h1a7 == _T_59801 ? _T_23089 : _GEN_4974; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4976 = 9'h1a8 == _T_59801 ? _T_23089 : _GEN_4975; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4977 = 9'h1a9 == _T_59801 ? _T_23089 : _GEN_4976; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4978 = 9'h1aa == _T_59801 ? _T_23089 : _GEN_4977; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4979 = 9'h1ab == _T_59801 ? _T_23089 : _GEN_4978; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4980 = 9'h1ac == _T_59801 ? _T_23089 : _GEN_4979; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4981 = 9'h1ad == _T_59801 ? _T_23089 : _GEN_4980; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4982 = 9'h1ae == _T_59801 ? _T_23089 : _GEN_4981; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4983 = 9'h1af == _T_59801 ? _T_23089 : _GEN_4982; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4984 = 9'h1b0 == _T_59801 ? _T_23089 : _GEN_4983; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4985 = 9'h1b1 == _T_59801 ? _T_23089 : _GEN_4984; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4986 = 9'h1b2 == _T_59801 ? _T_23089 : _GEN_4985; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4987 = 9'h1b3 == _T_59801 ? _T_23089 : _GEN_4986; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4988 = 9'h1b4 == _T_59801 ? _T_23089 : _GEN_4987; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4989 = 9'h1b5 == _T_59801 ? _T_23089 : _GEN_4988; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4990 = 9'h1b6 == _T_59801 ? _T_23089 : _GEN_4989; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4991 = 9'h1b7 == _T_59801 ? _T_23089 : _GEN_4990; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4992 = 9'h1b8 == _T_59801 ? _T_23089 : _GEN_4991; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4993 = 9'h1b9 == _T_59801 ? _T_23089 : _GEN_4992; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4994 = 9'h1ba == _T_59801 ? _T_23089 : _GEN_4993; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4995 = 9'h1bb == _T_59801 ? _T_23089 : _GEN_4994; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4996 = 9'h1bc == _T_59801 ? _T_23089 : _GEN_4995; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4997 = 9'h1bd == _T_59801 ? _T_23089 : _GEN_4996; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4998 = 9'h1be == _T_59801 ? _T_23089 : _GEN_4997; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_4999 = 9'h1bf == _T_59801 ? _T_23089 : _GEN_4998; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5000 = 9'h1c0 == _T_59801 ? _T_23089 : _GEN_4999; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5001 = 9'h1c1 == _T_59801 ? _T_23089 : _GEN_5000; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5002 = 9'h1c2 == _T_59801 ? _T_23089 : _GEN_5001; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5003 = 9'h1c3 == _T_59801 ? _T_23089 : _GEN_5002; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5004 = 9'h1c4 == _T_59801 ? _T_23089 : _GEN_5003; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5005 = 9'h1c5 == _T_59801 ? _T_23089 : _GEN_5004; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5006 = 9'h1c6 == _T_59801 ? _T_23089 : _GEN_5005; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5007 = 9'h1c7 == _T_59801 ? _T_23089 : _GEN_5006; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5008 = 9'h1c8 == _T_59801 ? _T_23089 : _GEN_5007; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5009 = 9'h1c9 == _T_59801 ? _T_23089 : _GEN_5008; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5010 = 9'h1ca == _T_59801 ? _T_23089 : _GEN_5009; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5011 = 9'h1cb == _T_59801 ? _T_23089 : _GEN_5010; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5012 = 9'h1cc == _T_59801 ? _T_23089 : _GEN_5011; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5013 = 9'h1cd == _T_59801 ? _T_23089 : _GEN_5012; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5014 = 9'h1ce == _T_59801 ? _T_23089 : _GEN_5013; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5015 = 9'h1cf == _T_59801 ? _T_23089 : _GEN_5014; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5016 = 9'h1d0 == _T_59801 ? _T_23089 : _GEN_5015; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5017 = 9'h1d1 == _T_59801 ? _T_23089 : _GEN_5016; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5018 = 9'h1d2 == _T_59801 ? _T_23089 : _GEN_5017; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5019 = 9'h1d3 == _T_59801 ? _T_23089 : _GEN_5018; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5020 = 9'h1d4 == _T_59801 ? _T_23089 : _GEN_5019; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5021 = 9'h1d5 == _T_59801 ? _T_23089 : _GEN_5020; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5022 = 9'h1d6 == _T_59801 ? _T_23089 : _GEN_5021; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5023 = 9'h1d7 == _T_59801 ? _T_23089 : _GEN_5022; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5024 = 9'h1d8 == _T_59801 ? _T_23089 : _GEN_5023; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5025 = 9'h1d9 == _T_59801 ? _T_23089 : _GEN_5024; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5026 = 9'h1da == _T_59801 ? _T_23089 : _GEN_5025; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5027 = 9'h1db == _T_59801 ? _T_23089 : _GEN_5026; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5028 = 9'h1dc == _T_59801 ? _T_23089 : _GEN_5027; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5029 = 9'h1dd == _T_59801 ? _T_23089 : _GEN_5028; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5030 = 9'h1de == _T_59801 ? _T_23089 : _GEN_5029; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5031 = 9'h1df == _T_59801 ? _T_23089 : _GEN_5030; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5032 = 9'h1e0 == _T_59801 ? _T_23089 : _GEN_5031; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5033 = 9'h1e1 == _T_59801 ? _T_23089 : _GEN_5032; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5034 = 9'h1e2 == _T_59801 ? _T_23089 : _GEN_5033; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5035 = 9'h1e3 == _T_59801 ? _T_23089 : _GEN_5034; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5036 = 9'h1e4 == _T_59801 ? _T_23089 : _GEN_5035; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5037 = 9'h1e5 == _T_59801 ? _T_23089 : _GEN_5036; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5038 = 9'h1e6 == _T_59801 ? _T_23089 : _GEN_5037; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5039 = 9'h1e7 == _T_59801 ? _T_23089 : _GEN_5038; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5040 = 9'h1e8 == _T_59801 ? _T_23089 : _GEN_5039; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5041 = 9'h1e9 == _T_59801 ? _T_23089 : _GEN_5040; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5042 = 9'h1ea == _T_59801 ? _T_23089 : _GEN_5041; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5043 = 9'h1eb == _T_59801 ? _T_23089 : _GEN_5042; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5044 = 9'h1ec == _T_59801 ? _T_23089 : _GEN_5043; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5045 = 9'h1ed == _T_59801 ? _T_23089 : _GEN_5044; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5046 = 9'h1ee == _T_59801 ? _T_23089 : _GEN_5045; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5047 = 9'h1ef == _T_59801 ? _T_23089 : _GEN_5046; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5048 = 9'h1f0 == _T_59801 ? _T_23089 : _GEN_5047; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5049 = 9'h1f1 == _T_59801 ? _T_23089 : _GEN_5048; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5050 = 9'h1f2 == _T_59801 ? _T_23089 : _GEN_5049; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5051 = 9'h1f3 == _T_59801 ? _T_23089 : _GEN_5050; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5052 = 9'h1f4 == _T_59801 ? _T_23089 : _GEN_5051; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5053 = 9'h1f5 == _T_59801 ? _T_23089 : _GEN_5052; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5054 = 9'h1f6 == _T_59801 ? _T_23089 : _GEN_5053; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5055 = 9'h1f7 == _T_59801 ? _T_23089 : _GEN_5054; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5056 = 9'h1f8 == _T_59801 ? _T_23089 : _GEN_5055; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5057 = 9'h1f9 == _T_59801 ? _T_23089 : _GEN_5056; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5058 = 9'h1fa == _T_59801 ? _T_23089 : _GEN_5057; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5059 = 9'h1fb == _T_59801 ? _T_23089 : _GEN_5058; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5060 = 9'h1fc == _T_59801 ? _T_23089 : _GEN_5059; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5061 = 9'h1fd == _T_59801 ? _T_23089 : _GEN_5060; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5062 = 9'h1fe == _T_59801 ? _T_23089 : _GEN_5061; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5063 = 9'h1ff == _T_59801 ? _T_23089 : _GEN_5062; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@195917.4]
  assign _GEN_5065 = 9'h1 == _T_59801 ? 32'h380006f : 32'hc0006f; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5066 = 9'h2 == _T_59801 ? 32'h440006f : _GEN_5065; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5067 = 9'h3 == _T_59801 ? 32'hff0000f : _GEN_5066; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5068 = 9'h4 == _T_59801 ? 32'h7b241073 : _GEN_5067; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5069 = 9'h5 == _T_59801 ? 32'hf1402473 : _GEN_5068; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5070 = 9'h6 == _T_59801 ? 32'h10802023 : _GEN_5069; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5071 = 9'h7 == _T_59801 ? 32'h40044403 : _GEN_5070; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5072 = 9'h8 == _T_59801 ? 32'h347413 : _GEN_5071; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5073 = 9'h9 == _T_59801 ? 32'hfe0408e3 : _GEN_5072; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5074 = 9'ha == _T_59801 ? 32'h147413 : _GEN_5073; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5075 = 9'hb == _T_59801 ? 32'h40863 : _GEN_5074; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5076 = 9'hc == _T_59801 ? 32'h7b202473 : _GEN_5075; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5077 = 9'hd == _T_59801 ? 32'h10002223 : _GEN_5076; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5078 = 9'he == _T_59801 ? 32'h30000067 : _GEN_5077; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5079 = 9'hf == _T_59801 ? 32'hf1402473 : _GEN_5078; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5080 = 9'h10 == _T_59801 ? 32'h10802423 : _GEN_5079; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5081 = 9'h11 == _T_59801 ? 32'h7b202473 : _GEN_5080; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5082 = 9'h12 == _T_59801 ? 32'h7b200073 : _GEN_5081; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5083 = 9'h13 == _T_59801 ? 32'h10002623 : _GEN_5082; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5084 = 9'h14 == _T_59801 ? 32'h100073 : _GEN_5083; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5085 = 9'h15 == _T_59801 ? 32'h0 : _GEN_5084; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5086 = 9'h16 == _T_59801 ? 32'h0 : _GEN_5085; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5087 = 9'h17 == _T_59801 ? 32'h0 : _GEN_5086; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5088 = 9'h18 == _T_59801 ? 32'h0 : _GEN_5087; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5089 = 9'h19 == _T_59801 ? 32'h0 : _GEN_5088; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5090 = 9'h1a == _T_59801 ? 32'h0 : _GEN_5089; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5091 = 9'h1b == _T_59801 ? 32'h0 : _GEN_5090; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5092 = 9'h1c == _T_59801 ? 32'h0 : _GEN_5091; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5093 = 9'h1d == _T_59801 ? 32'h0 : _GEN_5092; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5094 = 9'h1e == _T_59801 ? 32'h0 : _GEN_5093; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5095 = 9'h1f == _T_59801 ? 32'h0 : _GEN_5094; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5096 = 9'h20 == _T_59801 ? 32'h0 : _GEN_5095; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5097 = 9'h21 == _T_59801 ? 32'h0 : _GEN_5096; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5098 = 9'h22 == _T_59801 ? 32'h0 : _GEN_5097; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5099 = 9'h23 == _T_59801 ? 32'h0 : _GEN_5098; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5100 = 9'h24 == _T_59801 ? 32'h0 : _GEN_5099; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5101 = 9'h25 == _T_59801 ? 32'h0 : _GEN_5100; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5102 = 9'h26 == _T_59801 ? 32'h0 : _GEN_5101; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5103 = 9'h27 == _T_59801 ? 32'h0 : _GEN_5102; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5104 = 9'h28 == _T_59801 ? 32'h0 : _GEN_5103; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5105 = 9'h29 == _T_59801 ? 32'h0 : _GEN_5104; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5106 = 9'h2a == _T_59801 ? 32'h0 : _GEN_5105; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5107 = 9'h2b == _T_59801 ? 32'h0 : _GEN_5106; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5108 = 9'h2c == _T_59801 ? 32'h0 : _GEN_5107; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5109 = 9'h2d == _T_59801 ? 32'h0 : _GEN_5108; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5110 = 9'h2e == _T_59801 ? 32'h0 : _GEN_5109; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5111 = 9'h2f == _T_59801 ? 32'h0 : _GEN_5110; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5112 = 9'h30 == _T_59801 ? 32'h0 : _GEN_5111; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5113 = 9'h31 == _T_59801 ? 32'h0 : _GEN_5112; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5114 = 9'h32 == _T_59801 ? 32'h0 : _GEN_5113; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5115 = 9'h33 == _T_59801 ? 32'h0 : _GEN_5114; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5116 = 9'h34 == _T_59801 ? 32'h0 : _GEN_5115; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5117 = 9'h35 == _T_59801 ? 32'h0 : _GEN_5116; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5118 = 9'h36 == _T_59801 ? 32'h0 : _GEN_5117; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5119 = 9'h37 == _T_59801 ? 32'h0 : _GEN_5118; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5120 = 9'h38 == _T_59801 ? 32'h0 : _GEN_5119; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5121 = 9'h39 == _T_59801 ? 32'h0 : _GEN_5120; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5122 = 9'h3a == _T_59801 ? 32'h0 : _GEN_5121; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5123 = 9'h3b == _T_59801 ? 32'h0 : _GEN_5122; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5124 = 9'h3c == _T_59801 ? 32'h0 : _GEN_5123; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5125 = 9'h3d == _T_59801 ? 32'h0 : _GEN_5124; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5126 = 9'h3e == _T_59801 ? 32'h0 : _GEN_5125; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5127 = 9'h3f == _T_59801 ? 32'h0 : _GEN_5126; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5128 = 9'h40 == _T_59801 ? 32'h0 : _GEN_5127; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5129 = 9'h41 == _T_59801 ? 32'h0 : _GEN_5128; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5130 = 9'h42 == _T_59801 ? 32'h0 : _GEN_5129; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5131 = 9'h43 == _T_59801 ? 32'h0 : _GEN_5130; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5132 = 9'h44 == _T_59801 ? 32'h0 : _GEN_5131; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5133 = 9'h45 == _T_59801 ? 32'h0 : _GEN_5132; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5134 = 9'h46 == _T_59801 ? 32'h0 : _GEN_5133; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5135 = 9'h47 == _T_59801 ? 32'h0 : _GEN_5134; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5136 = 9'h48 == _T_59801 ? 32'h0 : _GEN_5135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5137 = 9'h49 == _T_59801 ? 32'h0 : _GEN_5136; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5138 = 9'h4a == _T_59801 ? 32'h0 : _GEN_5137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5139 = 9'h4b == _T_59801 ? 32'h0 : _GEN_5138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5140 = 9'h4c == _T_59801 ? 32'h0 : _GEN_5139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5141 = 9'h4d == _T_59801 ? 32'h0 : _GEN_5140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5142 = 9'h4e == _T_59801 ? 32'h0 : _GEN_5141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5143 = 9'h4f == _T_59801 ? 32'h0 : _GEN_5142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5144 = 9'h50 == _T_59801 ? 32'h0 : _GEN_5143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5145 = 9'h51 == _T_59801 ? 32'h0 : _GEN_5144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5146 = 9'h52 == _T_59801 ? 32'h0 : _GEN_5145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5147 = 9'h53 == _T_59801 ? 32'h0 : _GEN_5146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5148 = 9'h54 == _T_59801 ? 32'h0 : _GEN_5147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5149 = 9'h55 == _T_59801 ? 32'h0 : _GEN_5148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5150 = 9'h56 == _T_59801 ? 32'h0 : _GEN_5149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5151 = 9'h57 == _T_59801 ? 32'h0 : _GEN_5150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5152 = 9'h58 == _T_59801 ? 32'h0 : _GEN_5151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5153 = 9'h59 == _T_59801 ? 32'h0 : _GEN_5152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5154 = 9'h5a == _T_59801 ? 32'h0 : _GEN_5153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5155 = 9'h5b == _T_59801 ? 32'h0 : _GEN_5154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5156 = 9'h5c == _T_59801 ? 32'h0 : _GEN_5155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5157 = 9'h5d == _T_59801 ? 32'h0 : _GEN_5156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5158 = 9'h5e == _T_59801 ? 32'h0 : _GEN_5157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5159 = 9'h5f == _T_59801 ? 32'h0 : _GEN_5158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5160 = 9'h60 == _T_59801 ? 32'h0 : _GEN_5159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5161 = 9'h61 == _T_59801 ? 32'h0 : _GEN_5160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5162 = 9'h62 == _T_59801 ? 32'h0 : _GEN_5161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5163 = 9'h63 == _T_59801 ? 32'h0 : _GEN_5162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5164 = 9'h64 == _T_59801 ? 32'h0 : _GEN_5163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5165 = 9'h65 == _T_59801 ? 32'h0 : _GEN_5164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5166 = 9'h66 == _T_59801 ? 32'h0 : _GEN_5165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5167 = 9'h67 == _T_59801 ? 32'h0 : _GEN_5166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5168 = 9'h68 == _T_59801 ? 32'h0 : _GEN_5167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5169 = 9'h69 == _T_59801 ? 32'h0 : _GEN_5168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5170 = 9'h6a == _T_59801 ? 32'h0 : _GEN_5169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5171 = 9'h6b == _T_59801 ? 32'h0 : _GEN_5170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5172 = 9'h6c == _T_59801 ? 32'h0 : _GEN_5171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5173 = 9'h6d == _T_59801 ? 32'h0 : _GEN_5172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5174 = 9'h6e == _T_59801 ? 32'h0 : _GEN_5173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5175 = 9'h6f == _T_59801 ? 32'h0 : _GEN_5174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5176 = 9'h70 == _T_59801 ? 32'h0 : _GEN_5175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5177 = 9'h71 == _T_59801 ? 32'h0 : _GEN_5176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5178 = 9'h72 == _T_59801 ? 32'h0 : _GEN_5177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5179 = 9'h73 == _T_59801 ? 32'h0 : _GEN_5178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5180 = 9'h74 == _T_59801 ? 32'h0 : _GEN_5179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5181 = 9'h75 == _T_59801 ? 32'h0 : _GEN_5180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5182 = 9'h76 == _T_59801 ? 32'h0 : _GEN_5181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5183 = 9'h77 == _T_59801 ? 32'h0 : _GEN_5182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5184 = 9'h78 == _T_59801 ? 32'h0 : _GEN_5183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5185 = 9'h79 == _T_59801 ? 32'h0 : _GEN_5184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5186 = 9'h7a == _T_59801 ? 32'h0 : _GEN_5185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5187 = 9'h7b == _T_59801 ? 32'h0 : _GEN_5186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5188 = 9'h7c == _T_59801 ? 32'h0 : _GEN_5187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5189 = 9'h7d == _T_59801 ? 32'h0 : _GEN_5188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5190 = 9'h7e == _T_59801 ? 32'h0 : _GEN_5189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5191 = 9'h7f == _T_59801 ? 32'h0 : _GEN_5190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5192 = 9'h80 == _T_59801 ? 32'h0 : _GEN_5191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5193 = 9'h81 == _T_59801 ? 32'h0 : _GEN_5192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5194 = 9'h82 == _T_59801 ? 32'h0 : _GEN_5193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5195 = 9'h83 == _T_59801 ? 32'h0 : _GEN_5194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5196 = 9'h84 == _T_59801 ? 32'h0 : _GEN_5195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5197 = 9'h85 == _T_59801 ? 32'h0 : _GEN_5196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5198 = 9'h86 == _T_59801 ? 32'h0 : _GEN_5197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5199 = 9'h87 == _T_59801 ? 32'h0 : _GEN_5198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5200 = 9'h88 == _T_59801 ? 32'h0 : _GEN_5199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5201 = 9'h89 == _T_59801 ? 32'h0 : _GEN_5200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5202 = 9'h8a == _T_59801 ? 32'h0 : _GEN_5201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5203 = 9'h8b == _T_59801 ? 32'h0 : _GEN_5202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5204 = 9'h8c == _T_59801 ? 32'h0 : _GEN_5203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5205 = 9'h8d == _T_59801 ? 32'h0 : _GEN_5204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5206 = 9'h8e == _T_59801 ? 32'h0 : _GEN_5205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5207 = 9'h8f == _T_59801 ? 32'h0 : _GEN_5206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5208 = 9'h90 == _T_59801 ? 32'h0 : _GEN_5207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5209 = 9'h91 == _T_59801 ? 32'h0 : _GEN_5208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5210 = 9'h92 == _T_59801 ? 32'h0 : _GEN_5209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5211 = 9'h93 == _T_59801 ? 32'h0 : _GEN_5210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5212 = 9'h94 == _T_59801 ? 32'h0 : _GEN_5211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5213 = 9'h95 == _T_59801 ? 32'h0 : _GEN_5212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5214 = 9'h96 == _T_59801 ? 32'h0 : _GEN_5213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5215 = 9'h97 == _T_59801 ? 32'h0 : _GEN_5214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5216 = 9'h98 == _T_59801 ? 32'h0 : _GEN_5215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5217 = 9'h99 == _T_59801 ? 32'h0 : _GEN_5216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5218 = 9'h9a == _T_59801 ? 32'h0 : _GEN_5217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5219 = 9'h9b == _T_59801 ? 32'h0 : _GEN_5218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5220 = 9'h9c == _T_59801 ? 32'h0 : _GEN_5219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5221 = 9'h9d == _T_59801 ? 32'h0 : _GEN_5220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5222 = 9'h9e == _T_59801 ? 32'h0 : _GEN_5221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5223 = 9'h9f == _T_59801 ? 32'h0 : _GEN_5222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5224 = 9'ha0 == _T_59801 ? 32'h0 : _GEN_5223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5225 = 9'ha1 == _T_59801 ? 32'h0 : _GEN_5224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5226 = 9'ha2 == _T_59801 ? 32'h0 : _GEN_5225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5227 = 9'ha3 == _T_59801 ? 32'h0 : _GEN_5226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5228 = 9'ha4 == _T_59801 ? 32'h0 : _GEN_5227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5229 = 9'ha5 == _T_59801 ? 32'h0 : _GEN_5228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5230 = 9'ha6 == _T_59801 ? 32'h0 : _GEN_5229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5231 = 9'ha7 == _T_59801 ? 32'h0 : _GEN_5230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5232 = 9'ha8 == _T_59801 ? 32'h0 : _GEN_5231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5233 = 9'ha9 == _T_59801 ? 32'h0 : _GEN_5232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5234 = 9'haa == _T_59801 ? 32'h0 : _GEN_5233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5235 = 9'hab == _T_59801 ? 32'h0 : _GEN_5234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5236 = 9'hac == _T_59801 ? 32'h0 : _GEN_5235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5237 = 9'had == _T_59801 ? 32'h0 : _GEN_5236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5238 = 9'hae == _T_59801 ? 32'h0 : _GEN_5237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5239 = 9'haf == _T_59801 ? 32'h0 : _GEN_5238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5240 = 9'hb0 == _T_59801 ? 32'h0 : _GEN_5239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5241 = 9'hb1 == _T_59801 ? 32'h0 : _GEN_5240; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5242 = 9'hb2 == _T_59801 ? 32'h0 : _GEN_5241; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5243 = 9'hb3 == _T_59801 ? 32'h0 : _GEN_5242; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5244 = 9'hb4 == _T_59801 ? 32'h0 : _GEN_5243; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5245 = 9'hb5 == _T_59801 ? 32'h0 : _GEN_5244; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5246 = 9'hb6 == _T_59801 ? 32'h0 : _GEN_5245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5247 = 9'hb7 == _T_59801 ? 32'h0 : _GEN_5246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5248 = 9'hb8 == _T_59801 ? 32'h0 : _GEN_5247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5249 = 9'hb9 == _T_59801 ? 32'h0 : _GEN_5248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5250 = 9'hba == _T_59801 ? 32'h0 : _GEN_5249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5251 = 9'hbb == _T_59801 ? 32'h0 : _GEN_5250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5252 = 9'hbc == _T_59801 ? 32'h0 : _GEN_5251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5253 = 9'hbd == _T_59801 ? 32'h0 : _GEN_5252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5254 = 9'hbe == _T_59801 ? 32'h0 : _GEN_5253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5255 = 9'hbf == _T_59801 ? 32'h0 : _GEN_5254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5256 = 9'hc0 == _T_59801 ? 32'h380006f : _GEN_5255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5257 = 9'hc1 == _T_59801 ? 32'h0 : _GEN_5256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5258 = 9'hc2 == _T_59801 ? 32'h0 : _GEN_5257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5259 = 9'hc3 == _T_59801 ? 32'h0 : _GEN_5258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5260 = 9'hc4 == _T_59801 ? 32'h0 : _GEN_5259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5261 = 9'hc5 == _T_59801 ? 32'h0 : _GEN_5260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5262 = 9'hc6 == _T_59801 ? 32'h0 : _GEN_5261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5263 = 9'hc7 == _T_59801 ? 32'h0 : _GEN_5262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5264 = 9'hc8 == _T_59801 ? 32'h0 : _GEN_5263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5265 = 9'hc9 == _T_59801 ? 32'h0 : _GEN_5264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5266 = 9'hca == _T_59801 ? 32'h0 : _GEN_5265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5267 = 9'hcb == _T_59801 ? 32'h0 : _GEN_5266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5268 = 9'hcc == _T_59801 ? 32'h0 : _GEN_5267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5269 = 9'hcd == _T_59801 ? 32'h0 : _GEN_5268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5270 = 9'hce == _T_59801 ? abstractGeneratedMem_0 : _GEN_5269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5271 = 9'hcf == _T_59801 ? abstractGeneratedMem_1 : _GEN_5270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5272 = 9'hd0 == _T_59801 ? _T_3906 : _GEN_5271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5273 = 9'hd1 == _T_59801 ? _T_3694 : _GEN_5272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5274 = 9'hd2 == _T_59801 ? _T_4012 : _GEN_5273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5275 = 9'hd3 == _T_59801 ? _T_4511 : _GEN_5274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5276 = 9'hd4 == _T_59801 ? _T_4879 : _GEN_5275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5277 = 9'hd5 == _T_59801 ? _T_3376 : _GEN_5276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5278 = 9'hd6 == _T_59801 ? _T_3588 : _GEN_5277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5279 = 9'hd7 == _T_59801 ? _T_4405 : _GEN_5278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5280 = 9'hd8 == _T_59801 ? _T_4748 : _GEN_5279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5281 = 9'hd9 == _T_59801 ? _T_3800 : _GEN_5280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5282 = 9'hda == _T_59801 ? _T_3245 : _GEN_5281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5283 = 9'hdb == _T_59801 ? _T_4642 : _GEN_5282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5284 = 9'hdc == _T_59801 ? _T_4299 : _GEN_5283; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5285 = 9'hdd == _T_59801 ? _T_4118 : _GEN_5284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5286 = 9'hde == _T_59801 ? _T_3482 : _GEN_5285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5287 = 9'hdf == _T_59801 ? _T_5116 : _GEN_5286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5288 = 9'he0 == _T_59801 ? _T_5010 : _GEN_5287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5289 = 9'he1 == _T_59801 ? 32'h0 : _GEN_5288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5290 = 9'he2 == _T_59801 ? 32'h0 : _GEN_5289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5291 = 9'he3 == _T_59801 ? 32'h0 : _GEN_5290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5292 = 9'he4 == _T_59801 ? 32'h0 : _GEN_5291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5293 = 9'he5 == _T_59801 ? 32'h0 : _GEN_5292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5294 = 9'he6 == _T_59801 ? 32'h0 : _GEN_5293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5295 = 9'he7 == _T_59801 ? 32'h0 : _GEN_5294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5296 = 9'he8 == _T_59801 ? 32'h0 : _GEN_5295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5297 = 9'he9 == _T_59801 ? 32'h0 : _GEN_5296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5298 = 9'hea == _T_59801 ? 32'h0 : _GEN_5297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5299 = 9'heb == _T_59801 ? 32'h0 : _GEN_5298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5300 = 9'hec == _T_59801 ? 32'h0 : _GEN_5299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5301 = 9'hed == _T_59801 ? 32'h0 : _GEN_5300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5302 = 9'hee == _T_59801 ? 32'h0 : _GEN_5301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5303 = 9'hef == _T_59801 ? 32'h0 : _GEN_5302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5304 = 9'hf0 == _T_59801 ? 32'h0 : _GEN_5303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5305 = 9'hf1 == _T_59801 ? 32'h0 : _GEN_5304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5306 = 9'hf2 == _T_59801 ? 32'h0 : _GEN_5305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5307 = 9'hf3 == _T_59801 ? 32'h0 : _GEN_5306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5308 = 9'hf4 == _T_59801 ? 32'h0 : _GEN_5307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5309 = 9'hf5 == _T_59801 ? 32'h0 : _GEN_5308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5310 = 9'hf6 == _T_59801 ? 32'h0 : _GEN_5309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5311 = 9'hf7 == _T_59801 ? 32'h0 : _GEN_5310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5312 = 9'hf8 == _T_59801 ? 32'h0 : _GEN_5311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5313 = 9'hf9 == _T_59801 ? 32'h0 : _GEN_5312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5314 = 9'hfa == _T_59801 ? 32'h0 : _GEN_5313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5315 = 9'hfb == _T_59801 ? 32'h0 : _GEN_5314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5316 = 9'hfc == _T_59801 ? 32'h0 : _GEN_5315; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5317 = 9'hfd == _T_59801 ? 32'h0 : _GEN_5316; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5318 = 9'hfe == _T_59801 ? 32'h0 : _GEN_5317; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5319 = 9'hff == _T_59801 ? 32'h0 : _GEN_5318; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5320 = 9'h100 == _T_59801 ? _T_40283 : _GEN_5319; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5321 = 9'h101 == _T_59801 ? _T_31622 : _GEN_5320; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5322 = 9'h102 == _T_59801 ? _T_53396 : _GEN_5321; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5323 = 9'h103 == _T_59801 ? _T_43912 : _GEN_5322; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5324 = 9'h104 == _T_59801 ? _T_37159 : _GEN_5323; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5325 = 9'h105 == _T_59801 ? _T_33106 : _GEN_5324; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5326 = 9'h106 == _T_59801 ? _T_55541 : _GEN_5325; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5327 = 9'h107 == _T_59801 ? _T_50615 : _GEN_5326; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5328 = 9'h108 == _T_59801 ? _T_42827 : _GEN_5327; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5329 = 9'h109 == _T_59801 ? _T_35332 : _GEN_5328; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5330 = 9'h10a == _T_59801 ? _T_41661 : _GEN_5329; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5331 = 9'h10b == _T_59801 ? _T_48389 : _GEN_5330; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5332 = 9'h10c == _T_59801 ? _T_56707 : _GEN_5331; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5333 = 9'h10d == _T_59801 ? _T_30350 : _GEN_5332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5334 = 9'h10e == _T_59801 ? _T_36417 : _GEN_5333; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5335 = 9'h10f == _T_59801 ? _T_46138 : _GEN_5334; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5336 = 9'h110 == _T_59801 ? _T_54481 : _GEN_5335; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5337 = 9'h111 == _T_59801 ? _T_55859 : _GEN_5336; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5338 = 9'h112 == _T_59801 ? _T_45184 : _GEN_5337; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5339 = 9'h113 == _T_59801 ? _T_37926 : _GEN_5338; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5340 = 9'h114 == _T_59801 ? _T_29714 : _GEN_5339; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5341 = 9'h115 == _T_59801 ? _T_58191 : _GEN_5340; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5342 = 9'h116 == _T_59801 ? _T_47753 : _GEN_5341; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5343 = 9'h117 == _T_59801 ? _T_42933 : _GEN_5342; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5344 = 9'h118 == _T_59801 ? _T_34590 : _GEN_5343; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5345 = 9'h119 == _T_59801 ? _T_43806 : _GEN_5344; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5346 = 9'h11a == _T_59801 ? _T_50191 : _GEN_5345; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5347 = 9'h11b == _T_59801 ? _T_57343 : _GEN_5346; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5348 = 9'h11c == _T_59801 ? _T_32470 : _GEN_5347; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5349 = 9'h11d == _T_59801 ? _T_39117 : _GEN_5348; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5350 = 9'h11e == _T_59801 ? _T_43594 : _GEN_5349; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5351 = 9'h11f == _T_59801 ? _T_54905 : _GEN_5350; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5352 = 9'h120 == _T_59801 ? _T_31198 : _GEN_5351; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5353 = 9'h121 == _T_59801 ? _T_32788 : _GEN_5352; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5354 = 9'h122 == _T_59801 ? _T_53926 : _GEN_5353; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5355 = 9'h123 == _T_59801 ? _T_43700 : _GEN_5354; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5356 = 9'h124 == _T_59801 ? _T_35887 : _GEN_5355; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5357 = 9'h125 == _T_59801 ? _T_34802 : _GEN_5356; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5358 = 9'h126 == _T_59801 ? _T_56389 : _GEN_5357; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5359 = 9'h127 == _T_59801 ? _T_50085 : _GEN_5358; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5360 = 9'h128 == _T_59801 ? _T_43064 : _GEN_5359; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5361 = 9'h129 == _T_59801 ? _T_37477 : _GEN_5360; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5362 = 9'h12a == _T_59801 ? _T_42297 : _GEN_5361; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5363 = 9'h12b == _T_59801 ? _T_48283 : _GEN_5362; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5364 = 9'h12c == _T_59801 ? _T_55011 : _GEN_5363; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5365 = 9'h12d == _T_59801 ? _T_31304 : _GEN_5364; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5366 = 9'h12e == _T_59801 ? _T_37053 : _GEN_5365; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5367 = 9'h12f == _T_59801 ? _T_46032 : _GEN_5366; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5368 = 9'h130 == _T_59801 ? _T_53290 : _GEN_5367; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5369 = 9'h131 == _T_59801 ? _T_56071 : _GEN_5368; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5370 = 9'h132 == _T_59801 ? _T_48177 : _GEN_5369; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5371 = 9'h133 == _T_59801 ? _T_35781 : _GEN_5370; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5372 = 9'h134 == _T_59801 ? _T_29820 : _GEN_5371; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5373 = 9'h135 == _T_59801 ? _T_59145 : _GEN_5372; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5374 = 9'h136 == _T_59801 ? _T_50721 : _GEN_5373; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5375 = 9'h137 == _T_59801 ? _T_41979 : _GEN_5374; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5376 = 9'h138 == _T_59801 ? _T_35650 : _GEN_5375; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5377 = 9'h139 == _T_59801 ? _T_44442 : _GEN_5376; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5378 = 9'h13a == _T_59801 ? _T_51912 : _GEN_5377; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5379 = 9'h13b == _T_59801 ? _T_55223 : _GEN_5378; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5380 = 9'h13c == _T_59801 ? _T_33000 : _GEN_5379; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5381 = 9'h13d == _T_59801 ? _T_39435 : _GEN_5380; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5382 = 9'h13e == _T_59801 ? _T_45714 : _GEN_5381; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5383 = 9'h13f == _T_59801 ? _T_53184 : _GEN_5382; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5384 = 9'h140 == _T_59801 ? _T_31410 : _GEN_5383; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5385 = 9'h141 == _T_59801 ? _T_33636 : _GEN_5384; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5386 = 9'h142 == _T_59801 ? _T_58615 : _GEN_5385; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5387 = 9'h143 == _T_59801 ? _T_46880 : _GEN_5386; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5388 = 9'h144 == _T_59801 ? _T_39011 : _GEN_5387; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5389 = 9'h145 == _T_59801 ? _T_32682 : _GEN_5388; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5390 = 9'h146 == _T_59801 ? _T_56283 : _GEN_5389; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5391 = 9'h147 == _T_59801 ? _T_50403 : _GEN_5390; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5392 = 9'h148 == _T_59801 ? _T_40071 : _GEN_5391; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5393 = 9'h149 == _T_59801 ? _T_38481 : _GEN_5392; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5394 = 9'h14a == _T_59801 ? _T_47329 : _GEN_5393; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5395 = 9'h14b == _T_59801 ? _T_50852 : _GEN_5394; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5396 = 9'h14c == _T_59801 ? _T_57767 : _GEN_5395; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5397 = 9'h14d == _T_59801 ? _T_28866 : _GEN_5396; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5398 = 9'h14e == _T_59801 ? _T_36947 : _GEN_5397; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5399 = 9'h14f == _T_59801 ? _T_44760 : _GEN_5398; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5400 = 9'h150 == _T_59801 ? _T_51700 : _GEN_5399; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5401 = 9'h151 == _T_59801 ? _T_58827 : _GEN_5400; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5402 = 9'h152 == _T_59801 ? _T_51382 : _GEN_5401; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5403 = 9'h153 == _T_59801 ? _T_40495 : _GEN_5402; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5404 = 9'h154 == _T_59801 ? _T_30880 : _GEN_5403; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5405 = 9'h155 == _T_59801 ? _T_56495 : _GEN_5404; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5406 = 9'h156 == _T_59801 ? _T_49661 : _GEN_5405; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5407 = 9'h157 == _T_59801 ? _T_41555 : _GEN_5406; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5408 = 9'h158 == _T_59801 ? _T_32046 : _GEN_5407; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5409 = 9'h159 == _T_59801 ? _T_46668 : _GEN_5408; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5410 = 9'h15a == _T_59801 ? _T_54693 : _GEN_5409; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5411 = 9'h15b == _T_59801 ? _T_28760 : _GEN_5410; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5412 = 9'h15c == _T_59801 ? _T_34166 : _GEN_5411; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5413 = 9'h15d == _T_59801 ? _T_37265 : _GEN_5412; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5414 = 9'h15e == _T_59801 ? _T_44866 : _GEN_5413; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5415 = 9'h15f == _T_59801 ? _T_53502 : _GEN_5414; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5416 = 9'h160 == _T_59801 ? _T_29290 : _GEN_5415; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5417 = 9'h161 == _T_59801 ? _T_34272 : _GEN_5416; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5418 = 9'h162 == _T_59801 ? _T_59039 : _GEN_5417; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5419 = 9'h163 == _T_59801 ? _T_49767 : _GEN_5418; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5420 = 9'h164 == _T_59801 ? _T_39753 : _GEN_5419; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5421 = 9'h165 == _T_59801 ? _T_32152 : _GEN_5420; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5422 = 9'h166 == _T_59801 ? _T_56813 : _GEN_5421; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5423 = 9'h167 == _T_59801 ? _T_51594 : _GEN_5422; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5424 = 9'h168 == _T_59801 ? _T_41767 : _GEN_5423; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5425 = 9'h169 == _T_59801 ? _T_38244 : _GEN_5424; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5426 = 9'h16a == _T_59801 ? _T_45502 : _GEN_5425; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5427 = 9'h16b == _T_59801 ? _T_52442 : _GEN_5426; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5428 = 9'h16c == _T_59801 ? _T_59781 : _GEN_5427; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5429 = 9'h16d == _T_59801 ? _T_28548 : _GEN_5428; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5430 = 9'h16e == _T_59801 ? _T_36841 : _GEN_5429; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5431 = 9'h16f == _T_59801 ? _T_46774 : _GEN_5430; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5432 = 9'h170 == _T_59801 ? _T_52972 : _GEN_5431; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5433 = 9'h171 == _T_59801 ? _T_58509 : _GEN_5432; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5434 = 9'h172 == _T_59801 ? _T_51064 : _GEN_5433; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5435 = 9'h173 == _T_59801 ? _T_41343 : _GEN_5434; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5436 = 9'h174 == _T_59801 ? _T_31834 : _GEN_5435; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5437 = 9'h175 == _T_59801 ? _T_55965 : _GEN_5436; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5438 = 9'h176 == _T_59801 ? _T_49237 : _GEN_5437; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5439 = 9'h177 == _T_59801 ? _T_43276 : _GEN_5438; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5440 = 9'h178 == _T_59801 ? _T_33742 : _GEN_5439; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5441 = 9'h179 == _T_59801 ? _T_45396 : _GEN_5440; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5442 = 9'h17a == _T_59801 ? _T_54032 : _GEN_5441; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5443 = 9'h17b == _T_59801 ? _T_30032 : _GEN_5442; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5444 = 9'h17c == _T_59801 ? _T_36099 : _GEN_5443; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5445 = 9'h17d == _T_59801 ? _T_36629 : _GEN_5444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5446 = 9'h17e == _T_59801 ? _T_44336 : _GEN_5445; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5447 = 9'h17f == _T_59801 ? _T_54587 : _GEN_5446; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5448 = 9'h180 == _T_59801 ? _T_30562 : _GEN_5447; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5449 = 9'h181 == _T_59801 ? _T_30456 : _GEN_5448; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5450 = 9'h182 == _T_59801 ? _T_51806 : _GEN_5449; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5451 = 9'h183 == _T_59801 ? _T_46456 : _GEN_5450; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5452 = 9'h184 == _T_59801 ? _T_39647 : _GEN_5451; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5453 = 9'h185 == _T_59801 ? _T_31728 : _GEN_5452; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5454 = 9'h186 == _T_59801 ? _T_53608 : _GEN_5453; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5455 = 9'h187 == _T_59801 ? _T_44124 : _GEN_5454; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5456 = 9'h188 == _T_59801 ? _T_37371 : _GEN_5455; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5457 = 9'h189 == _T_59801 ? _T_41025 : _GEN_5456; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5458 = 9'h18a == _T_59801 ? _T_48071 : _GEN_5457; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5459 = 9'h18b == _T_59801 ? _T_57555 : _GEN_5458; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5460 = 9'h18c == _T_59801 ? _T_35014 : _GEN_5459; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5461 = 9'h18d == _T_59801 ? _T_34484 : _GEN_5460; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5462 = 9'h18e == _T_59801 ? _T_42085 : _GEN_5461; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5463 = 9'h18f == _T_59801 ? _T_47647 : _GEN_5462; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5464 = 9'h190 == _T_59801 ? _T_57131 : _GEN_5463; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5465 = 9'h191 == _T_59801 ? _T_53714 : _GEN_5464; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5466 = 9'h192 == _T_59801 ? _T_43488 : _GEN_5465; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5467 = 9'h193 == _T_59801 ? _T_39541 : _GEN_5466; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5468 = 9'h194 == _T_59801 ? _T_30986 : _GEN_5467; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5469 = 9'h195 == _T_59801 ? _T_55647 : _GEN_5468; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5470 = 9'h196 == _T_59801 ? _T_44972 : _GEN_5469; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5471 = 9'h197 == _T_59801 ? _T_37714 : _GEN_5470; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5472 = 9'h198 == _T_59801 ? _T_29396 : _GEN_5471; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5473 = 9'h199 == _T_59801 ? _T_50509 : _GEN_5472; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5474 = 9'h19a == _T_59801 ? _T_55435 : _GEN_5473; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5475 = 9'h19b == _T_59801 ? _T_35120 : _GEN_5474; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5476 = 9'h19c == _T_59801 ? _T_42403 : _GEN_5475; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5477 = 9'h19d == _T_59801 ? _T_44018 : _GEN_5476; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5478 = 9'h19e == _T_59801 ? _T_50297 : _GEN_5477; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5479 = 9'h19f == _T_59801 ? _T_57449 : _GEN_5478; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5480 = 9'h1a0 == _T_59801 ? _T_32576 : _GEN_5479; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5481 = 9'h1a1 == _T_59801 ? _T_31092 : _GEN_5480; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5482 = 9'h1a2 == _T_59801 ? _T_53820 : _GEN_5481; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5483 = 9'h1a3 == _T_59801 ? _T_45290 : _GEN_5482; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5484 = 9'h1a4 == _T_59801 ? _T_39859 : _GEN_5483; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5485 = 9'h1a5 == _T_59801 ? _T_32364 : _GEN_5484; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5486 = 9'h1a6 == _T_59801 ? _T_55753 : _GEN_5485; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5487 = 9'h1a7 == _T_59801 ? _T_43382 : _GEN_5486; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5488 = 9'h1a8 == _T_59801 ? _T_37583 : _GEN_5487; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5489 = 9'h1a9 == _T_59801 ? _T_42509 : _GEN_5488; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5490 = 9'h1aa == _T_59801 ? _T_49025 : _GEN_5489; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5491 = 9'h1ab == _T_59801 ? _T_57873 : _GEN_5490; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5492 = 9'h1ac == _T_59801 ? _T_35226 : _GEN_5491; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5493 = 9'h1ad == _T_59801 ? _T_37820 : _GEN_5492; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5494 = 9'h1ae == _T_59801 ? _T_42721 : _GEN_5493; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5495 = 9'h1af == _T_59801 ? _T_48707 : _GEN_5494; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5496 = 9'h1b0 == _T_59801 ? _T_55329 : _GEN_5495; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5497 = 9'h1b1 == _T_59801 ? _T_54138 : _GEN_5496; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5498 = 9'h1b2 == _T_59801 ? _T_45926 : _GEN_5497; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5499 = 9'h1b3 == _T_59801 ? _T_38375 : _GEN_5498; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5500 = 9'h1b4 == _T_59801 ? _T_31516 : _GEN_5499; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5501 = 9'h1b5 == _T_59801 ? _T_56919 : _GEN_5500; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5502 = 9'h1b6 == _T_59801 ? _T_48601 : _GEN_5501; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5503 = 9'h1b7 == _T_59801 ? _T_36311 : _GEN_5502; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5504 = 9'h1b8 == _T_59801 ? _T_30138 : _GEN_5503; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5505 = 9'h1b9 == _T_59801 ? _T_50958 : _GEN_5504; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5506 = 9'h1ba == _T_59801 ? _T_58297 : _GEN_5505; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5507 = 9'h1bb == _T_59801 ? _T_33530 : _GEN_5506; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5508 = 9'h1bc == _T_59801 ? _T_43170 : _GEN_5507; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5509 = 9'h1bd == _T_59801 ? _T_44230 : _GEN_5508; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5510 = 9'h1be == _T_59801 ? _T_52018 : _GEN_5509; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5511 = 9'h1bf == _T_59801 ? _T_55117 : _GEN_5510; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5512 = 9'h1c0 == _T_59801 ? _T_32894 : _GEN_5511; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5513 = 9'h1c1 == _T_59801 ? _T_29926 : _GEN_5512; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5514 = 9'h1c2 == _T_59801 ? _T_52336 : _GEN_5513; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5515 = 9'h1c3 == _T_59801 ? _T_45608 : _GEN_5514; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5516 = 9'h1c4 == _T_59801 ? _T_35993 : _GEN_5515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5517 = 9'h1c5 == _T_59801 ? _T_34908 : _GEN_5516; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5518 = 9'h1c6 == _T_59801 ? _T_59675 : _GEN_5517; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5519 = 9'h1c7 == _T_59801 ? _T_47859 : _GEN_5518; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5520 = 9'h1c8 == _T_59801 ? _T_38905 : _GEN_5519; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5521 = 9'h1c9 == _T_59801 ? _T_41237 : _GEN_5520; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5522 = 9'h1ca == _T_59801 ? _T_49873 : _GEN_5521; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5523 = 9'h1cb == _T_59801 ? _T_58085 : _GEN_5522; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5524 = 9'h1cc == _T_59801 ? _T_32258 : _GEN_5523; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5525 = 9'h1cd == _T_59801 ? _T_38693 : _GEN_5524; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5526 = 9'h1ce == _T_59801 ? _T_47435 : _GEN_5525; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5527 = 9'h1cf == _T_59801 ? _T_51276 : _GEN_5526; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5528 = 9'h1d0 == _T_59801 ? _T_57661 : _GEN_5527; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5529 = 9'h1d1 == _T_59801 ? _T_52230 : _GEN_5528; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5530 = 9'h1d2 == _T_59801 ? _T_44654 : _GEN_5529; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5531 = 9'h1d3 == _T_59801 ? _T_38032 : _GEN_5530; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5532 = 9'h1d4 == _T_59801 ? _T_29078 : _GEN_5531; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5533 = 9'h1d5 == _T_59801 ? _T_58933 : _GEN_5532; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5534 = 9'h1d6 == _T_59801 ? _T_51488 : _GEN_5533; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5535 = 9'h1d7 == _T_59801 ? _T_40177 : _GEN_5534; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5536 = 9'h1d8 == _T_59801 ? _T_30774 : _GEN_5535; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5537 = 9'h1d9 == _T_59801 ? _T_48813 : _GEN_5536; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5538 = 9'h1da == _T_59801 ? _T_57025 : _GEN_5537; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5539 = 9'h1db == _T_59801 ? _T_33318 : _GEN_5538; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5540 = 9'h1dc == _T_59801 ? _T_40601 : _GEN_5539; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5541 = 9'h1dd == _T_59801 ? _T_46350 : _GEN_5540; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5542 = 9'h1de == _T_59801 ? _T_54375 : _GEN_5541; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5543 = 9'h1df == _T_59801 ? _T_28654 : _GEN_5542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5544 = 9'h1e0 == _T_59801 ? _T_34378 : _GEN_5543; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5545 = 9'h1e1 == _T_59801 ? _T_29184 : _GEN_5544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5546 = 9'h1e2 == _T_59801 ? _T_52548 : _GEN_5545; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5547 = 9'h1e3 == _T_59801 ? _T_47092 : _GEN_5546; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5548 = 9'h1e4 == _T_59801 ? _T_38138 : _GEN_5547; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5549 = 9'h1e5 == _T_59801 ? _T_33954 : _GEN_5548; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5550 = 9'h1e6 == _T_59801 ? _T_58721 : _GEN_5549; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5551 = 9'h1e7 == _T_59801 ? _T_49449 : _GEN_5550; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5552 = 9'h1e8 == _T_59801 ? _T_40389 : _GEN_5551; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5553 = 9'h1e9 == _T_59801 ? _T_40813 : _GEN_5552; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5554 = 9'h1ea == _T_59801 ? _T_48919 : _GEN_5553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5555 = 9'h1eb == _T_59801 ? _T_59357 : _GEN_5554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5556 = 9'h1ec == _T_59801 ? _T_33424 : _GEN_5555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5557 = 9'h1ed == _T_59801 ? _T_38799 : _GEN_5556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5558 = 9'h1ee == _T_59801 ? _T_46562 : _GEN_5557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5559 = 9'h1ef == _T_59801 ? _T_52760 : _GEN_5558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5560 = 9'h1f0 == _T_59801 ? _T_59569 : _GEN_5559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5561 = 9'h1f1 == _T_59801 ? _T_52124 : _GEN_5560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5562 = 9'h1f2 == _T_59801 ? _T_44548 : _GEN_5561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5563 = 9'h1f3 == _T_59801 ? _T_39965 : _GEN_5562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5564 = 9'h1f4 == _T_59801 ? _T_30668 : _GEN_5563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5565 = 9'h1f5 == _T_59801 ? _T_58403 : _GEN_5564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5566 = 9'h1f6 == _T_59801 ? _T_51170 : _GEN_5565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5567 = 9'h1f7 == _T_59801 ? _T_41449 : _GEN_5566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5568 = 9'h1f8 == _T_59801 ? _T_31940 : _GEN_5567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5569 = 9'h1f9 == _T_59801 ? _T_48495 : _GEN_5568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5570 = 9'h1fa == _T_59801 ? _T_56601 : _GEN_5569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5571 = 9'h1fb == _T_59801 ? _T_35438 : _GEN_5570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5572 = 9'h1fc == _T_59801 ? _T_41873 : _GEN_5571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5573 = 9'h1fd == _T_59801 ? _T_45820 : _GEN_5572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5574 = 9'h1fe == _T_59801 ? _T_54244 : _GEN_5573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _GEN_5575 = 9'h1ff == _T_59801 ? _T_30244 : _GEN_5574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@196433.4]
  assign _T_76327 = goReg == 1'h0; // @[Debug.scala 1020:18:shc.marmotcaravel.MarmotCaravelConfig.fir@196638.10]
  assign _T_76328 = _T_76327 & hartHaltedWrEn; // @[Debug.scala 1020:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196639.10]
  assign _T_76329 = hartHaltedId == selectedHartReg; // @[Debug.scala 1020:95:shc.marmotcaravel.MarmotCaravelConfig.fir@196640.10]
  assign _T_76330 = _T_76328 & _T_76329; // @[Debug.scala 1020:48:shc.marmotcaravel.MarmotCaravelConfig.fir@196641.10]
  assign _T_76335 = ctrlStateReg == 2'h3; // @[Debug.scala 1028:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196659.10]
  assign _T_76338 = reset == 1'h0; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196663.12]
  assign _T_76341 = hartExceptionWrEn == 1'h0; // @[Debug.scala 1042:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196681.4]
  assign _T_76343 = _T_76341 | _T_76326; // @[Debug.scala 1042:33:shc.marmotcaravel.MarmotCaravelConfig.fir@196683.4]
  assign _T_76345 = _T_76343 | reset; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@196685.4]
  assign _T_76346 = _T_76345 == 1'h0; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@196686.4]
  assign auto_tl_in_a_ready = auto_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121093.4]
  assign auto_tl_in_d_valid = auto_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121093.4]
  assign auto_tl_in_d_bits_opcode = {{2'd0}, _T_23037}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121093.4]
  assign auto_tl_in_d_bits_size = _T_23039[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121093.4]
  assign auto_tl_in_d_bits_source = _T_23039[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121093.4]
  assign auto_tl_in_d_bits_data = _GEN_5063 ? _GEN_5575 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121093.4]
  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121092.4]
  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121092.4]
  assign auto_dmi_in_d_bits_opcode = {{2'd0}, _T_2720}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121092.4]
  assign auto_dmi_in_d_bits_size = _T_2722[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121092.4]
  assign auto_dmi_in_d_bits_source = _T_2722[2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121092.4]
  assign auto_dmi_in_d_bits_data = _GEN_282 ? _GEN_314 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@121092.4]
  assign io_innerCtrl_ready = 1'h1; // @[Debug.scala 465:24:shc.marmotcaravel.MarmotCaravelConfig.fir@121290.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121016.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121017.4]
  assign TLMonitor_io_in_a_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_param = auto_dmi_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_size = auto_dmi_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_source = auto_dmi_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_dmi_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_d_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_2720}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_d_bits_size = _T_2722[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_io_in_d_bits_source = _T_2722[2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121050.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121055.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@121056.4]
  assign TLMonitor_1_io_in_a_ready = auto_tl_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_d_valid = auto_tl_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_23037}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_d_bits_size = _T_23039[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign TLMonitor_1_io_in_d_bits_source = _T_23039[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@121089.4]
  assign _GEN_5685 = _T_1429 == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  assign _GEN_5686 = goAbstract == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  assign _GEN_5687 = _GEN_5685 & _GEN_5686; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  assign _GEN_5688 = _GEN_5687 & hartGoingWrEn; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@126466.12]
  assign _GEN_5693 = ABSTRACTCSWrEnLegal == 1'h0; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  assign _GEN_5694 = _T_76325 == 1'h0; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  assign _GEN_5695 = _GEN_5693 & _GEN_5694; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  assign _GEN_5696 = _GEN_5695 & _T_76326; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  assign _GEN_5697 = _GEN_5696 & hartExceptionWrEn; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.14]
  assign _GEN_5706 = _T_76326 == 1'h0; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196665.14]
  assign _GEN_5707 = _GEN_5695 & _GEN_5706; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196665.14]
  assign _GEN_5708 = _GEN_5707 & _T_76335; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@196665.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@126466.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@126467.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@138770.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@138771.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@196651.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@196652.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@196665.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@196666.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@196688.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@196689.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SynchronizerShiftReg_w55_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@196844.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@196845.4]
  input  [54:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@196847.4]
  output [54:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@196847.4]
);
  reg [54:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@196852.4]
  reg [63:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@196854.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@197320.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197321.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197322.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output [8:0]  io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input  [8:0]  io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input  [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197323.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197330.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197330.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197330.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197330.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197330.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197342.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197342.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197342.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197342.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
  wire [54:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
  wire [54:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197394.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197394.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197394.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197394.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197394.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197403.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197403.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197403.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197403.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197403.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197410.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197410.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197410.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197413.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197413.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197413.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197413.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197416.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197416.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197416.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197416.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@197327.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197325.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197326.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197431.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197328.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197337.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197338.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197347.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197349.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197350.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197351.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire [2:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire  deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire [8:0] deq_bits_nxt_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire [3:0] deq_bits_nxt_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197357.4]
  wire [12:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197358.4]
  wire [45:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197359.4]
  wire [2:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197360.4]
  wire [5:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197361.4]
  wire [8:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197362.4]
  wire [54:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197367.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197369.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197400.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@197420.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197330.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@197342.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@197353.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@197394.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@197403.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@197410.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197413.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@197416.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@197445.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@197327.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197325.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197326.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197431.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197328.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197337.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197338.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197347.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197349.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197350.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197351.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_param = valid ? 3'h0 : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_size = valid ? 2'h2 : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_source = valid ? 1'h0 : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_address = valid ? io_async_mem_0_address : io_deq_bits_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_mask = valid ? io_async_mem_0_mask : io_deq_bits_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign deq_bits_nxt_corrupt = valid ? 1'h0 : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197352.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197357.4]
  assign _T_70 = {deq_bits_nxt_address,deq_bits_nxt_mask}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197358.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197359.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197360.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197361.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197362.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197367.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197369.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197400.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@197420.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@197402.4]
  assign io_deq_bits_opcode = _T_79[54:52]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197393.4]
  assign io_deq_bits_param = _T_79[51:49]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197392.4]
  assign io_deq_bits_size = _T_79[48:47]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197391.4]
  assign io_deq_bits_source = _T_79[46]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197390.4]
  assign io_deq_bits_address = _T_79[45:37]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197389.4]
  assign io_deq_bits_mask = _T_79[36:33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197388.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197387.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197386.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@197409.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197428.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197434.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197332.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197333.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197334.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197335.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197344.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197345.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@197346.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197355.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@197364.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197396.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197397.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197398.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197399.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197405.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197406.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197407.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197408.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197411.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197412.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197422.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197414.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197415.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197426.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197429.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197417.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197418.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197430.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197447.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197448.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197449.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197450.4]
endmodule
module AsyncQueueSource_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198037.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198038.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198039.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output        io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198060.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198060.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198060.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198060.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198082.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198082.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198082.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198082.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198082.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198091.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198091.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198091.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198091.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198091.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198106.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198106.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198106.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198109.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198109.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198109.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198109.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198112.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198112.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198112.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198112.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
  reg [31:0] _RAND_0;
  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
  reg [31:0] _RAND_1;
  reg  mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
  reg [31:0] _RAND_2;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
  reg [31:0] _RAND_3;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198045.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198042.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@198043.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198127.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198046.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198055.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198056.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198065.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198067.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198068.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@198069.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198088.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198116.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.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@198060.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@198082.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@198091.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@198106.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198109.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@198112.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@198045.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198042.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@198043.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198127.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198046.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198055.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198056.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198065.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198067.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198068.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@198069.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198088.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198116.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198090.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198105.4]
  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198103.4]
  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198102.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198124.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198130.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198050.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198051.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198052.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198053.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198062.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198063.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198064.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198084.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198085.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198087.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198093.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198094.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198095.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198096.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198107.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198108.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198118.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198110.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198111.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198122.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198125.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198113.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198114.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198126.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@198132.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198133.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198134.4]
  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input  [8:0]  auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [8:0]  auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198135.4]
);
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [8:0] AsyncQueueSink_io_deq_bits_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [3:0] AsyncQueueSink_io_deq_bits_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [8:0] AsyncQueueSink_io_async_mem_0_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [3:0] AsyncQueueSink_io_async_mem_0_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198157.4]
  AsyncQueueSink_2 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.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@198157.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@198145.4]
  assign auto_in_a_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_a_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_in_d_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign auto_out_a_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_address = AsyncQueueSink_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_mask = AsyncQueueSink_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_a_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign auto_out_d_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198147.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198148.4]
  assign AsyncQueueSink_io_deq_ready = auto_out_a_ready; // @[AsyncCrossing.scala 57:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198156.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198155.4]
  assign AsyncQueueSink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198155.4]
  assign AsyncQueueSink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198155.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198155.4]
  assign AsyncQueueSink_io_async_widx = auto_in_a_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198153.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198151.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198150.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198158.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198159.4]
  assign AsyncQueueSource_io_enq_valid = auto_out_d_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198161.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198160.4]
  assign AsyncQueueSource_io_enq_bits_size = auto_out_d_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198160.4]
  assign AsyncQueueSource_io_enq_bits_source = auto_out_d_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198160.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_out_d_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198160.4]
  assign AsyncQueueSource_io_async_ridx = auto_in_d_ridx; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198163.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198163.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198163.4]
endmodule
module SynchronizerShiftReg_w12_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198340.4]
  input  [11:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
  output [11:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
);
  reg [11:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198347.4]
  reg [31:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198349.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@198815.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198816.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198817.4]
  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  output       io_deq_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  output [9:0] io_deq_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  output       io_deq_bits_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  input        io_async_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  input  [9:0] io_async_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  input        io_async_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  output       io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  input        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  output       io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  input        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  input        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
  output       io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198818.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198825.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198825.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198825.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198825.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198825.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
  wire [11:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
  wire [11:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198878.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198878.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198878.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198878.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198878.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198885.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198885.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198885.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198888.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198888.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198888.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198888.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198920.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198920.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198920.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198920.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198920.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198820.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@198821.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198906.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198823.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198832.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198833.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198842.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198844.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198845.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
  wire  deq_bits_nxt_resumereq; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  wire [9:0] deq_bits_nxt_hartsel; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  wire  deq_bits_nxt_ackhavereset; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  wire [10:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198852.4]
  wire [11:0] _T_74; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198857.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@198859.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198875.4]
  wire  _T_80; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198895.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198825.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@198837.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@198848.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@198869.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@198878.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@198885.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198888.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@198891.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@198920.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@198820.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@198821.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198906.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198823.4]
  assign _T_63 = ridx_bin_io_q + io_deq_valid; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198832.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198833.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198842.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198844.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198845.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
  assign deq_bits_nxt_resumereq = valid ? io_async_mem_0_resumereq : io_deq_bits_resumereq; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  assign deq_bits_nxt_hartsel = valid ? io_async_mem_0_hartsel : io_deq_bits_hartsel; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  assign deq_bits_nxt_ackhavereset = valid ? io_async_mem_0_ackhavereset : io_deq_bits_ackhavereset; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  assign _T_69 = {deq_bits_nxt_resumereq,deq_bits_nxt_hartsel}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198852.4]
  assign _T_74 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198857.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@198859.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198875.4]
  assign _T_80 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198895.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198877.4]
  assign io_deq_bits_resumereq = _T_74[11]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198868.4]
  assign io_deq_bits_hartsel = _T_74[10:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198867.4]
  assign io_deq_bits_ackhavereset = _T_74[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198866.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@198884.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198903.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@198909.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198827.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198828.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198829.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198830.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198839.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198840.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198841.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198850.4]
  assign deq_bits_reg_io_d = {_T_69,deq_bits_nxt_ackhavereset}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198854.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198871.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198872.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198873.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198880.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198881.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198882.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198883.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198886.4]
  assign AsyncValidSync_reset = reset | _T_80; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198887.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198897.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
  assign AsyncValidSync_1_reset = reset | _T_80; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198890.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198901.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198904.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198892.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198893.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198905.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198922.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198923.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198924.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198925.4]
endmodule
module ResetCatchAndSync_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199048.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199049.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199050.4]
  output  io_sync_reset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199051.4]
);
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@199057.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@199057.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@199057.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@199057.4]
  wire  _T_7; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@199062.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@199064.4]
  AsyncResetSynchronizerShiftReg_w1_d3_i0 AsyncResetSynchronizerShiftReg_w1_d3_i0 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@199057.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@199062.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@199064.4]
  assign io_sync_reset = ~ _T_7; // @[ResetCatchAndSync.scala 28:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199067.4]
  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199059.4]
  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199060.4]
  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d = 1'h1; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@199061.4]
endmodule
module TLDebugModuleInnerAsync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199069.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199070.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199071.4]
  input  [2:0]  auto_dmiXing_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [8:0]  auto_dmiXing_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [3:0]  auto_dmiXing_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [31:0] auto_dmiXing_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmiXing_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmiXing_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmiXing_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [2:0]  auto_dmiXing_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [1:0]  auto_dmiXing_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [31:0] auto_dmiXing_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmiXing_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmiXing_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmiXing_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmiXing_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmInner_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmInner_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [2:0]  auto_dmInner_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [2:0]  auto_dmInner_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [1:0]  auto_dmInner_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [5:0]  auto_dmInner_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [11:0] auto_dmInner_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [3:0]  auto_dmInner_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input  [31:0] auto_dmInner_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmInner_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         auto_dmInner_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output        auto_dmInner_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [2:0]  auto_dmInner_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [1:0]  auto_dmInner_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [5:0]  auto_dmInner_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  output [31:0] auto_dmInner_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199072.4]
  input         io_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  input         io_innerCtrl_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  input  [9:0]  io_innerCtrl_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  input         io_innerCtrl_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  output        io_innerCtrl_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  input         io_innerCtrl_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  output        io_innerCtrl_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  input         io_innerCtrl_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  input         io_innerCtrl_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  output        io_innerCtrl_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
);
  wire  dmInner_clock; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_reset; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_tl_in_a_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_tl_in_a_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [2:0] dmInner_auto_tl_in_a_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [2:0] dmInner_auto_tl_in_a_bits_param; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [1:0] dmInner_auto_tl_in_a_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [5:0] dmInner_auto_tl_in_a_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [11:0] dmInner_auto_tl_in_a_bits_address; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [3:0] dmInner_auto_tl_in_a_bits_mask; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [31:0] dmInner_auto_tl_in_a_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_tl_in_a_bits_corrupt; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_tl_in_d_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_tl_in_d_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [2:0] dmInner_auto_tl_in_d_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [1:0] dmInner_auto_tl_in_d_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [5:0] dmInner_auto_tl_in_d_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [31:0] dmInner_auto_tl_in_d_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_a_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_a_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [2:0] dmInner_auto_dmi_in_a_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [2:0] dmInner_auto_dmi_in_a_bits_param; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [1:0] dmInner_auto_dmi_in_a_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_a_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [8:0] dmInner_auto_dmi_in_a_bits_address; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [3:0] dmInner_auto_dmi_in_a_bits_mask; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [31:0] dmInner_auto_dmi_in_a_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_a_bits_corrupt; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_d_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_d_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [2:0] dmInner_auto_dmi_in_d_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [1:0] dmInner_auto_dmi_in_d_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_auto_dmi_in_d_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [31:0] dmInner_auto_dmi_in_d_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_io_dmactive; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_io_innerCtrl_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_io_innerCtrl_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_io_innerCtrl_bits_resumereq; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire [9:0] dmInner_io_innerCtrl_bits_hartsel; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmInner_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.4]
  wire  dmiXing_clock; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_reset; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [2:0] dmiXing_auto_in_a_mem_0_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [8:0] dmiXing_auto_in_a_mem_0_address; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [3:0] dmiXing_auto_in_a_mem_0_mask; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [31:0] dmiXing_auto_in_a_mem_0_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_a_ridx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_a_widx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_a_safe_ridx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_a_safe_widx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_a_safe_source_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_a_safe_sink_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [2:0] dmiXing_auto_in_d_mem_0_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [1:0] dmiXing_auto_in_d_mem_0_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_mem_0_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [31:0] dmiXing_auto_in_d_mem_0_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_ridx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_widx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_safe_ridx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_safe_widx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_safe_source_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_in_d_safe_sink_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_a_ready; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_a_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [2:0] dmiXing_auto_out_a_bits_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [2:0] dmiXing_auto_out_a_bits_param; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [1:0] dmiXing_auto_out_a_bits_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_a_bits_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [8:0] dmiXing_auto_out_a_bits_address; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [3:0] dmiXing_auto_out_a_bits_mask; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [31:0] dmiXing_auto_out_a_bits_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_a_bits_corrupt; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_d_ready; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_d_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [2:0] dmiXing_auto_out_d_bits_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [1:0] dmiXing_auto_out_d_bits_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  dmiXing_auto_out_d_bits_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire [31:0] dmiXing_auto_out_d_bits_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199086.4]
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_deq_bits_resumereq; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire [9:0] AsyncQueueSink_io_deq_bits_hartsel; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_deq_bits_ackhavereset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_mem_0_resumereq; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire [9:0] AsyncQueueSink_io_async_mem_0_hartsel; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@199096.4]
  wire  dmactiveSync_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199108.4]
  wire  dmactiveSync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199108.4]
  wire  dmactiveSync_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199108.4]
  TLDebugModuleInner dmInner ( // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199079.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@199086.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@199096.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@199108.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@199095.4]
  assign auto_dmiXing_in_a_safe_ridx_valid = dmiXing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.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@199095.4]
  assign auto_dmiXing_in_d_mem_0_opcode = dmiXing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign auto_dmiXing_in_d_mem_0_size = dmiXing_auto_in_d_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign auto_dmiXing_in_d_mem_0_source = dmiXing_auto_in_d_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign auto_dmiXing_in_d_mem_0_data = dmiXing_auto_in_d_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign auto_dmiXing_in_d_widx = dmiXing_auto_in_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign auto_dmiXing_in_d_safe_widx_valid = dmiXing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.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@199095.4]
  assign auto_dmInner_tl_in_a_ready = dmInner_auto_tl_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign auto_dmInner_tl_in_d_valid = dmInner_auto_tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign auto_dmInner_tl_in_d_bits_opcode = dmInner_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign auto_dmInner_tl_in_d_bits_size = dmInner_auto_tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign auto_dmInner_tl_in_d_bits_source = dmInner_auto_tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign auto_dmInner_tl_in_d_bits_data = dmInner_auto_tl_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign io_innerCtrl_ridx = AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199104.4]
  assign io_innerCtrl_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199102.4]
  assign io_innerCtrl_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199099.4]
  assign dmInner_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199084.4]
  assign dmInner_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199085.4]
  assign dmInner_auto_tl_in_a_valid = auto_dmInner_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_opcode = auto_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_param = auto_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_size = auto_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_source = auto_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_address = auto_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_mask = auto_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_data = auto_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_a_bits_corrupt = auto_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_tl_in_d_ready = auto_dmInner_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199093.4]
  assign dmInner_auto_dmi_in_a_valid = dmiXing_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_opcode = dmiXing_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_param = dmiXing_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_size = dmiXing_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_source = dmiXing_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_address = dmiXing_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_mask = dmiXing_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_data = dmiXing_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_a_bits_corrupt = dmiXing_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_auto_dmi_in_d_ready = dmiXing_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmInner_io_dmactive = ~ dmactiveSync_io_sync_reset; // @[Debug.scala 1072:32:shc.marmotcaravel.MarmotCaravelConfig.fir@199114.4]
  assign dmInner_io_innerCtrl_valid = AsyncQueueSink_io_deq_valid; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@199106.4]
  assign dmInner_io_innerCtrl_bits_resumereq = AsyncQueueSink_io_deq_bits_resumereq; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@199106.4]
  assign dmInner_io_innerCtrl_bits_hartsel = AsyncQueueSink_io_deq_bits_hartsel; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@199106.4]
  assign dmInner_io_innerCtrl_bits_ackhavereset = AsyncQueueSink_io_deq_bits_ackhavereset; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@199106.4]
  assign dmiXing_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199090.4]
  assign dmiXing_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199091.4]
  assign dmiXing_auto_in_a_mem_0_opcode = auto_dmiXing_in_a_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign dmiXing_auto_in_a_mem_0_address = auto_dmiXing_in_a_mem_0_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign dmiXing_auto_in_a_mem_0_mask = auto_dmiXing_in_a_mem_0_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign dmiXing_auto_in_a_mem_0_data = auto_dmiXing_in_a_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign dmiXing_auto_in_a_widx = auto_dmiXing_in_a_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign dmiXing_auto_in_a_safe_widx_valid = auto_dmiXing_in_a_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.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@199095.4]
  assign dmiXing_auto_in_d_ridx = auto_dmiXing_in_d_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.4]
  assign dmiXing_auto_in_d_safe_ridx_valid = auto_dmiXing_in_d_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199095.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@199095.4]
  assign dmiXing_auto_out_a_ready = dmInner_auto_dmi_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmiXing_auto_out_d_valid = dmInner_auto_dmi_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmiXing_auto_out_d_bits_opcode = dmInner_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmiXing_auto_out_d_bits_size = dmInner_auto_dmi_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmiXing_auto_out_d_bits_source = dmInner_auto_dmi_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign dmiXing_auto_out_d_bits_data = dmInner_auto_dmi_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199098.4]
  assign AsyncQueueSink_io_async_mem_0_resumereq = io_innerCtrl_mem_0_resumereq; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199105.4]
  assign AsyncQueueSink_io_async_mem_0_hartsel = io_innerCtrl_mem_0_hartsel; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199105.4]
  assign AsyncQueueSink_io_async_mem_0_ackhavereset = io_innerCtrl_mem_0_ackhavereset; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199105.4]
  assign AsyncQueueSink_io_async_widx = io_innerCtrl_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199103.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = io_innerCtrl_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199101.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = io_innerCtrl_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199100.4]
  assign dmactiveSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199110.4]
  assign dmactiveSync_reset = ~ io_dmactive; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199111.4]
endmodule
module TLDebugModule( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199117.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199118.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199119.4]
  output        auto_dmInner_dmInner_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input         auto_dmInner_dmInner_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [1:0]  auto_dmInner_dmInner_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [5:0]  auto_dmInner_dmInner_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [11:0] auto_dmInner_dmInner_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [3:0]  auto_dmInner_dmInner_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input  [31:0] auto_dmInner_dmInner_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input         auto_dmInner_dmInner_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  input         auto_dmInner_dmInner_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output        auto_dmInner_dmInner_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output [2:0]  auto_dmInner_dmInner_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output [1:0]  auto_dmInner_dmInner_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output [5:0]  auto_dmInner_dmInner_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output [31:0] auto_dmInner_dmInner_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output        auto_dmOuter_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199120.4]
  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  output        io_dmi_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input         io_dmi_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input  [6:0]  io_dmi_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input  [31:0] io_dmi_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input  [1:0]  io_dmi_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input         io_dmi_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  output        io_dmi_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  output [31:0] io_dmi_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  output [1:0]  io_dmi_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input         io_dmi_dmiClock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
  input         io_dmi_dmiReset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199121.4]
);
  wire  dmOuter_clock; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_reset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [2:0] dmOuter_auto_asource_out_a_mem_0_opcode; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [8:0] dmOuter_auto_asource_out_a_mem_0_address; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [3:0] dmOuter_auto_asource_out_a_mem_0_mask; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [31:0] dmOuter_auto_asource_out_a_mem_0_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_a_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_a_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_a_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_a_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_a_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_a_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [2:0] dmOuter_auto_asource_out_d_mem_0_opcode; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [1:0] dmOuter_auto_asource_out_d_mem_0_size; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_mem_0_source; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [31:0] dmOuter_auto_asource_out_d_mem_0_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_auto_intsource_out_sync_0; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_dmi_req_ready; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_dmi_req_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [6:0] dmOuter_io_dmi_req_bits_addr; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [31:0] dmOuter_io_dmi_req_bits_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [1:0] dmOuter_io_dmi_req_bits_op; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_dmi_resp_ready; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_dmi_resp_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [31:0] dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [1:0] dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire [9:0] dmOuter_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmOuter_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.4]
  wire  dmInner_clock; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_reset; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [2:0] dmInner_auto_dmiXing_in_a_mem_0_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [8:0] dmInner_auto_dmiXing_in_a_mem_0_address; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [3:0] dmInner_auto_dmiXing_in_a_mem_0_mask; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [31:0] dmInner_auto_dmiXing_in_a_mem_0_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_a_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_a_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_a_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_a_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_a_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [2:0] dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [1:0] dmInner_auto_dmiXing_in_d_mem_0_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_mem_0_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [31:0] dmInner_auto_dmiXing_in_d_mem_0_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmiXing_in_d_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmInner_tl_in_a_ready; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmInner_tl_in_a_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_param; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [1:0] dmInner_auto_dmInner_tl_in_a_bits_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [5:0] dmInner_auto_dmInner_tl_in_a_bits_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [11:0] dmInner_auto_dmInner_tl_in_a_bits_address; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [3:0] dmInner_auto_dmInner_tl_in_a_bits_mask; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [31:0] dmInner_auto_dmInner_tl_in_a_bits_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmInner_tl_in_a_bits_corrupt; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmInner_tl_in_d_ready; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_auto_dmInner_tl_in_d_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [2:0] dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [1:0] dmInner_auto_dmInner_tl_in_d_bits_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [5:0] dmInner_auto_dmInner_tl_in_d_bits_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [31:0] dmInner_auto_dmInner_tl_in_d_bits_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_dmactive; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire [9:0] dmInner_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  wire  dmInner_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199134.4]
  TLDebugModuleOuterAsync dmOuter ( // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199127.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@199134.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@199143.4]
  assign auto_dmInner_dmInner_tl_in_d_valid = dmInner_auto_dmInner_tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199143.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@199143.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@199143.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@199143.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@199143.4]
  assign auto_dmOuter_intsource_out_sync_0 = dmOuter_auto_intsource_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199142.4]
  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 1115:13:shc.marmotcaravel.MarmotCaravelConfig.fir@199152.4]
  assign io_dmi_dmi_req_ready = dmOuter_io_dmi_req_ready; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign io_dmi_dmi_resp_valid = dmOuter_io_dmi_resp_valid; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign io_dmi_dmi_resp_bits_data = dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign io_dmi_dmi_resp_bits_resp = dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign dmOuter_clock = io_dmi_dmiClock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199132.4 Debug.scala 1107:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199147.4]
  assign dmOuter_reset = io_dmi_dmiReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199133.4 Debug.scala 1106:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199146.4]
  assign dmOuter_auto_asource_out_a_ridx = dmInner_auto_dmiXing_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@199141.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@199141.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@199141.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@199141.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@199141.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@199141.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@199141.4]
  assign dmOuter_auto_asource_out_d_widx = dmInner_auto_dmiXing_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@199141.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@199141.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@199141.4]
  assign dmOuter_io_dmi_req_valid = io_dmi_dmi_req_valid; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign dmOuter_io_dmi_req_bits_addr = io_dmi_dmi_req_bits_addr; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign dmOuter_io_dmi_req_bits_data = io_dmi_dmi_req_bits_data; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign dmOuter_io_dmi_req_bits_op = io_dmi_dmi_req_bits_op; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign dmOuter_io_dmi_resp_ready = io_dmi_dmi_resp_ready; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199145.4]
  assign dmOuter_io_innerCtrl_ridx = dmInner_io_innerCtrl_ridx; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmOuter_io_innerCtrl_safe_ridx_valid = dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmOuter_io_innerCtrl_safe_sink_reset_n = dmInner_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmInner_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199139.4]
  assign dmInner_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199140.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@199141.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@199141.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@199141.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@199141.4]
  assign dmInner_auto_dmiXing_in_a_widx = dmOuter_auto_asource_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@199141.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@199141.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@199141.4]
  assign dmInner_auto_dmiXing_in_d_ridx = dmOuter_auto_asource_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@199141.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@199141.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@199141.4]
  assign dmInner_auto_dmInner_tl_in_a_valid = auto_dmInner_dmInner_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199143.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@199143.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@199143.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@199143.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@199143.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@199143.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@199143.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@199143.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@199143.4]
  assign dmInner_auto_dmInner_tl_in_d_ready = auto_dmInner_dmInner_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199143.4]
  assign dmInner_io_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 1110:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199149.4]
  assign dmInner_io_innerCtrl_mem_0_resumereq = dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmInner_io_innerCtrl_mem_0_hartsel = dmOuter_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmInner_io_innerCtrl_mem_0_ackhavereset = dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmInner_io_innerCtrl_widx = dmOuter_io_innerCtrl_widx; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmInner_io_innerCtrl_safe_widx_valid = dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
  assign dmInner_io_innerCtrl_safe_source_reset_n = dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199148.4]
endmodule
module TLMonitor_56( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  input         io_in_e_valid // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201001.4]
  wire [26:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@199198.6]
  wire [11:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@199199.6]
  wire [11:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@199200.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.6]
  wire [31:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@199202.6]
  wire  _T_35; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199204.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@199205.6]
  wire [1:0] _T_38; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@199207.6]
  wire  _T_39; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@199208.6]
  wire  _T_40; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199209.6]
  wire  _T_41; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199210.6]
  wire  _T_42; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199211.6]
  wire  _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199213.6]
  wire  _T_45; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199214.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199216.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199217.6]
  wire  _T_49; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199218.6]
  wire  _T_50; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199219.6]
  wire  _T_51; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199220.6]
  wire  _T_52; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199221.6]
  wire  _T_53; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199222.6]
  wire  _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199223.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199224.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199225.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199226.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199227.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199228.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199229.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199230.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199231.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199232.6]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199233.6]
  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199234.6]
  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199235.6]
  wire [32:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199239.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199251.6]
  wire [31:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199254.8]
  wire [32:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199255.8]
  wire [32:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199256.8]
  wire [32:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199257.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199258.8]
  wire [31:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199259.8]
  wire [32:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199260.8]
  wire [32:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199261.8]
  wire [32:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199262.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199263.8]
  wire [31:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199264.8]
  wire [32:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199265.8]
  wire [32:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199266.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199267.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199268.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199269.8]
  wire [32:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199270.8]
  wire [32:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199271.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199272.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199273.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199274.8]
  wire [32:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199275.8]
  wire [32:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199276.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199277.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199278.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199279.8]
  wire [32:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199280.8]
  wire [32:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199281.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199282.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199283.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199284.8]
  wire [32:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199285.8]
  wire [32:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199286.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199287.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199288.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199289.8]
  wire [32:0] _T_116; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199290.8]
  wire [32:0] _T_117; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199291.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199292.8]
  wire  _T_119; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199293.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199294.8]
  wire [32:0] _T_121; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199295.8]
  wire [32:0] _T_122; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199296.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199297.8]
  wire  _T_124; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199298.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199299.8]
  wire [32:0] _T_126; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199300.8]
  wire [32:0] _T_127; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199301.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199302.8]
  wire  _T_129; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199303.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199304.8]
  wire [32:0] _T_131; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199305.8]
  wire [32:0] _T_132; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199306.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199307.8]
  wire  _T_134; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199308.8]
  wire [32:0] _T_137; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199311.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199312.8]
  wire  _T_139; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199313.8]
  wire [31:0] _T_140; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199314.8]
  wire [32:0] _T_141; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199315.8]
  wire [32:0] _T_142; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199316.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199317.8]
  wire  _T_144; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199318.8]
  wire [31:0] _T_145; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199319.8]
  wire [32:0] _T_146; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199320.8]
  wire [32:0] _T_147; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199321.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199322.8]
  wire  _T_149; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199323.8]
  wire [31:0] _T_150; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199324.8]
  wire [32:0] _T_151; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199325.8]
  wire [32:0] _T_152; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199326.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199327.8]
  wire  _T_154; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199328.8]
  wire  _T_155; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199329.8]
  wire  _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199330.8]
  wire  _T_157; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199331.8]
  wire  _T_158; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199332.8]
  wire  _T_173; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199347.8]
  wire  _T_182; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199368.8]
  wire  _T_183; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199369.8]
  wire  _T_185; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199375.8]
  wire  _T_186; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199376.8]
  wire  _T_187; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199381.8]
  wire  _T_189; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199383.8]
  wire  _T_190; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199384.8]
  wire [3:0] _T_191; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@199389.8]
  wire  _T_192; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199390.8]
  wire  _T_194; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199392.8]
  wire  _T_195; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199393.8]
  wire  _T_200; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199407.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199545.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199547.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199548.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199571.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199574.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199582.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199584.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199657.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199658.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199659.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199660.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199661.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199662.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199663.8]
  wire  _T_418; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199664.8]
  wire  _T_419; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199665.8]
  wire  _T_420; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199666.8]
  wire  _T_421; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199667.8]
  wire  _T_422; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199668.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199669.8]
  wire  _T_424; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199670.8]
  wire  _T_426; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199672.8]
  wire  _T_428; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199674.8]
  wire  _T_429; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199675.8]
  wire  _T_436; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199694.8]
  wire  _T_438; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199696.8]
  wire  _T_439; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199697.8]
  wire  _T_440; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199702.8]
  wire  _T_442; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199704.8]
  wire  _T_443; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199705.8]
  wire  _T_448; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199719.6]
  wire  _T_526; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199798.8]
  wire  _T_527; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199799.8]
  wire  _T_528; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199800.8]
  wire  _T_529; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199801.8]
  wire  _T_530; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199802.8]
  wire  _T_531; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199803.8]
  wire  _T_532; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199804.8]
  wire  _T_533; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199805.8]
  wire  _T_534; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199806.8]
  wire  _T_549; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199821.8]
  wire  _T_552; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199824.8]
  wire  _T_553; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199825.8]
  wire  _T_568; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199861.6]
  wire  _T_641; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199935.8]
  wire  _T_642; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199936.8]
  wire  _T_643; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199937.8]
  wire  _T_644; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199938.8]
  wire  _T_645; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199939.8]
  wire  _T_646; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199940.8]
  wire  _T_647; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199941.8]
  wire  _T_648; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199942.8]
  wire  _T_669; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199963.8]
  wire  _T_672; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199966.8]
  wire  _T_673; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199967.8]
  wire [3:0] _T_684; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199994.8]
  wire [3:0] _T_685; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199995.8]
  wire  _T_686; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@199996.8]
  wire  _T_688; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199998.8]
  wire  _T_689; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199999.8]
  wire  _T_690; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200005.6]
  wire  _T_692; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200008.8]
  wire  _T_764; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200080.8]
  wire  _T_765; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200081.8]
  wire  _T_766; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200082.8]
  wire  _T_767; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200083.8]
  wire  _T_768; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200084.8]
  wire  _T_769; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200085.8]
  wire  _T_770; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200086.8]
  wire  _T_771; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200087.8]
  wire  _T_772; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@200088.8]
  wire  _T_789; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200105.8]
  wire  _T_790; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200106.8]
  wire  _T_797; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@200125.8]
  wire  _T_799; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200127.8]
  wire  _T_800; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200128.8]
  wire  _T_805; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200142.6]
  wire  _T_912; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@200262.8]
  wire  _T_914; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200264.8]
  wire  _T_915; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200265.8]
  wire  _T_920; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200279.6]
  wire  _T_1019; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200379.8]
  wire  _T_1020; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200380.8]
  wire  _T_1035; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200418.6]
  wire  _T_1037; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200420.6]
  wire  _T_1038; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200421.6]
  wire  _T_1048; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200431.6]
  wire  _T_1052; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200440.8]
  wire  _T_1054; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200442.8]
  wire  _T_1055; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200443.8]
  wire  _T_1056; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200448.8]
  wire  _T_1058; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200450.8]
  wire  _T_1059; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200451.8]
  wire  _T_1060; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200456.8]
  wire  _T_1062; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200458.8]
  wire  _T_1063; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200459.8]
  wire  _T_1064; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200464.8]
  wire  _T_1066; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200466.8]
  wire  _T_1067; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200467.8]
  wire  _T_1068; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200473.6]
  wire  _T_1079; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@200497.8]
  wire  _T_1081; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200499.8]
  wire  _T_1082; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200500.8]
  wire  _T_1083; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200505.8]
  wire  _T_1085; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200507.8]
  wire  _T_1086; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200508.8]
  wire  _T_1096; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200531.6]
  wire  _T_1116; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@200572.8]
  wire  _T_1118; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200574.8]
  wire  _T_1119; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200575.8]
  wire  _T_1125; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200590.6]
  wire  _T_1142; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200625.6]
  wire  _T_1160; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200661.6]
  wire  _T_1181; // @[Monitor.scala 342:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200705.4]
  wire  _T_1183; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200707.4]
  wire  _T_1184; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200708.4]
  wire  _T_1185; // @[Monitor.scala 343:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200713.4]
  wire  _T_1187; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200715.4]
  wire  _T_1188; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200716.4]
  wire  _T_1189; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200721.4]
  wire [9:0] _T_1194; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200726.4]
  wire  _T_1195; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@200727.4]
  wire  _T_1196; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200728.4]
  reg [9:0] _T_1199; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200730.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1200; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200731.4]
  wire [10:0] _T_1201; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200732.4]
  wire [9:0] _T_1202; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200733.4]
  wire  _T_1203; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200734.4]
  reg [2:0] _T_1212; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200745.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1214; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200746.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1216; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200747.4]
  reg [31:0] _RAND_3;
  reg [31:0] _T_1220; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200749.4]
  reg [31:0] _RAND_4;
  wire  _T_1221; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200750.4]
  wire  _T_1222; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@200751.4]
  wire  _T_1223; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200753.6]
  wire  _T_1225; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200755.6]
  wire  _T_1226; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200756.6]
  wire  _T_1227; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200761.6]
  wire  _T_1229; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200763.6]
  wire  _T_1230; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200764.6]
  wire  _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200769.6]
  wire  _T_1233; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200771.6]
  wire  _T_1234; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200772.6]
  wire  _T_1239; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200785.6]
  wire  _T_1241; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200787.6]
  wire  _T_1242; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200788.6]
  wire  _T_1244; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@200795.4]
  wire  _T_1245; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200803.4]
  wire [26:0] _T_1247; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@200805.4]
  wire [11:0] _T_1248; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@200806.4]
  wire [11:0] _T_1249; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@200807.4]
  wire [9:0] _T_1250; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200808.4]
  wire  _T_1251; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200809.4]
  reg [9:0] _T_1254; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200811.4]
  reg [31:0] _RAND_5;
  wire [10:0] _T_1255; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200812.4]
  wire [10:0] _T_1256; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200813.4]
  wire [9:0] _T_1257; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200814.4]
  wire  _T_1258; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200815.4]
  reg [2:0] _T_1267; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200826.4]
  reg [31:0] _RAND_6;
  reg [1:0] _T_1269; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200827.4]
  reg [31:0] _RAND_7;
  reg [3:0] _T_1271; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200828.4]
  reg [31:0] _RAND_8;
  reg  _T_1275; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200830.4]
  reg [31:0] _RAND_9;
  reg  _T_1277; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200831.4]
  reg [31:0] _RAND_10;
  wire  _T_1278; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200832.4]
  wire  _T_1279; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@200833.4]
  wire  _T_1280; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200835.6]
  wire  _T_1282; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200837.6]
  wire  _T_1283; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200838.6]
  wire  _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200843.6]
  wire  _T_1286; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200845.6]
  wire  _T_1287; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200846.6]
  wire  _T_1288; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200851.6]
  wire  _T_1290; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200853.6]
  wire  _T_1291; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200854.6]
  wire  _T_1296; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200867.6]
  wire  _T_1298; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200869.6]
  wire  _T_1299; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200870.6]
  wire  _T_1300; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200875.6]
  wire  _T_1302; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200877.6]
  wire  _T_1303; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200878.6]
  wire  _T_1305; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@200885.4]
  reg  _T_1307; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200894.4]
  reg [31:0] _RAND_11;
  reg [9:0] _T_1318; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200904.4]
  reg [31:0] _RAND_12;
  wire [10:0] _T_1319; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200905.4]
  wire [10:0] _T_1320; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200906.4]
  wire [9:0] _T_1321; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200907.4]
  wire  _T_1322; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200908.4]
  reg [9:0] _T_1339; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200927.4]
  reg [31:0] _RAND_13;
  wire [10:0] _T_1340; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200928.4]
  wire [10:0] _T_1341; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200929.4]
  wire [9:0] _T_1342; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200930.4]
  wire  _T_1343; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200931.4]
  wire  _T_1354; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200946.4]
  wire [1:0] _T_1356; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@200949.6]
  wire  _T_1357; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@200951.6]
  wire  _T_1359; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200953.6]
  wire  _T_1361; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200955.6]
  wire  _T_1362; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200956.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@200948.4]
  wire  _T_1367; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200967.4]
  wire  _T_1369; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200969.4]
  wire  _T_1370; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@200970.4]
  wire  _T_1352; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@200942.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@200944.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200950.6]
  wire  _T_1372; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@200974.6]
  wire  _T_1373; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@200975.6]
  wire  _T_1376; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200978.6]
  wire  _T_1377; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200979.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@200971.4]
  wire  _T_1364; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@200962.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@200964.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200973.6]
  wire  _T_1378; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@200985.4]
  wire  _T_1380; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@200987.4]
  wire  _T_1381; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@200988.4]
  wire  _T_1383; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200990.4]
  wire  _T_1384; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200991.4]
  wire  _T_1385; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200996.4]
  wire  _T_1386; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@200997.4]
  wire  _T_1387; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200998.4]
  reg [31:0] _T_1389; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201000.4]
  reg [31:0] _RAND_14;
  wire  _T_1391; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@201004.4]
  wire  _T_1392; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201005.4]
  wire  _T_1393; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201006.4]
  wire  _T_1394; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@201007.4]
  wire  _T_1395; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201008.4]
  wire  _T_1397; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201010.4]
  wire  _T_1398; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201011.4]
  wire [31:0] _T_1400; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201017.4]
  wire  _T_1403; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201021.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199349.10]
  wire  _GEN_31; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199505.10]
  wire  _GEN_45; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199677.10]
  wire  _GEN_53; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199827.10]
  wire  _GEN_61; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199969.10]
  wire  _GEN_69; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200108.10]
  wire  _GEN_77; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200245.10]
  wire  _GEN_85; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200382.10]
  wire  _GEN_91; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200445.10]
  wire  _GEN_99; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200486.10]
  wire  _GEN_109; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200544.10]
  wire  _GEN_119; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200604.10]
  wire  _GEN_123; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200639.10]
  wire  _GEN_127; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200675.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201001.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@199198.6]
  assign _T_30 = _T_29[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@199199.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@199200.6]
  assign _GEN_18 = {{20'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.6]
  assign _T_33 = _T_32 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@199202.6]
  assign _T_35 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199204.6]
  assign _T_36 = 2'h1 << _T_35; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@199205.6]
  assign _T_38 = _T_36 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@199207.6]
  assign _T_39 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@199208.6]
  assign _T_40 = _T_38[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199209.6]
  assign _T_41 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199210.6]
  assign _T_42 = _T_41 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199211.6]
  assign _T_44 = _T_40 & _T_42; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199213.6]
  assign _T_45 = _T_39 | _T_44; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199214.6]
  assign _T_47 = _T_40 & _T_41; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199216.6]
  assign _T_48 = _T_39 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199217.6]
  assign _T_49 = _T_38[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199218.6]
  assign _T_50 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199219.6]
  assign _T_51 = _T_50 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199220.6]
  assign _T_52 = _T_42 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199221.6]
  assign _T_53 = _T_49 & _T_52; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199222.6]
  assign _T_54 = _T_45 | _T_53; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199223.6]
  assign _T_55 = _T_42 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199224.6]
  assign _T_56 = _T_49 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199225.6]
  assign _T_57 = _T_45 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199226.6]
  assign _T_58 = _T_41 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199227.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199228.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199229.6]
  assign _T_61 = _T_41 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199230.6]
  assign _T_62 = _T_49 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@199231.6]
  assign _T_63 = _T_48 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199232.6]
  assign _T_64 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199233.6]
  assign _T_65 = {_T_63,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199234.6]
  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199235.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199239.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199251.6]
  assign _T_80 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199254.8]
  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199255.8]
  assign _T_82 = $signed(_T_81) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199256.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199257.8]
  assign _T_84 = $signed(_T_83) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199258.8]
  assign _T_85 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199259.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199260.8]
  assign _T_87 = $signed(_T_86) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199261.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199262.8]
  assign _T_89 = $signed(_T_88) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199263.8]
  assign _T_90 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199264.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199265.8]
  assign _T_92 = $signed(_T_91) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199266.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199267.8]
  assign _T_94 = $signed(_T_93) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199268.8]
  assign _T_95 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199269.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199270.8]
  assign _T_97 = $signed(_T_96) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199271.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199272.8]
  assign _T_99 = $signed(_T_98) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199273.8]
  assign _T_100 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199274.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199275.8]
  assign _T_102 = $signed(_T_101) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199276.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199277.8]
  assign _T_104 = $signed(_T_103) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199278.8]
  assign _T_105 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199279.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199280.8]
  assign _T_107 = $signed(_T_106) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199281.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199282.8]
  assign _T_109 = $signed(_T_108) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199283.8]
  assign _T_110 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199284.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199285.8]
  assign _T_112 = $signed(_T_111) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199286.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199287.8]
  assign _T_114 = $signed(_T_113) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199288.8]
  assign _T_115 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199289.8]
  assign _T_116 = {1'b0,$signed(_T_115)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199290.8]
  assign _T_117 = $signed(_T_116) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199291.8]
  assign _T_118 = $signed(_T_117); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199292.8]
  assign _T_119 = $signed(_T_118) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199293.8]
  assign _T_120 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199294.8]
  assign _T_121 = {1'b0,$signed(_T_120)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199295.8]
  assign _T_122 = $signed(_T_121) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199296.8]
  assign _T_123 = $signed(_T_122); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199297.8]
  assign _T_124 = $signed(_T_123) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199298.8]
  assign _T_125 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199299.8]
  assign _T_126 = {1'b0,$signed(_T_125)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199300.8]
  assign _T_127 = $signed(_T_126) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199301.8]
  assign _T_128 = $signed(_T_127); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199302.8]
  assign _T_129 = $signed(_T_128) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199303.8]
  assign _T_130 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199304.8]
  assign _T_131 = {1'b0,$signed(_T_130)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199305.8]
  assign _T_132 = $signed(_T_131) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199306.8]
  assign _T_133 = $signed(_T_132); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199307.8]
  assign _T_134 = $signed(_T_133) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199308.8]
  assign _T_137 = $signed(_T_70) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199311.8]
  assign _T_138 = $signed(_T_137); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199312.8]
  assign _T_139 = $signed(_T_138) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199313.8]
  assign _T_140 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199314.8]
  assign _T_141 = {1'b0,$signed(_T_140)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199315.8]
  assign _T_142 = $signed(_T_141) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199316.8]
  assign _T_143 = $signed(_T_142); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199317.8]
  assign _T_144 = $signed(_T_143) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199318.8]
  assign _T_145 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199319.8]
  assign _T_146 = {1'b0,$signed(_T_145)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199320.8]
  assign _T_147 = $signed(_T_146) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199321.8]
  assign _T_148 = $signed(_T_147); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199322.8]
  assign _T_149 = $signed(_T_148) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199323.8]
  assign _T_150 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199324.8]
  assign _T_151 = {1'b0,$signed(_T_150)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199325.8]
  assign _T_152 = $signed(_T_151) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199326.8]
  assign _T_153 = $signed(_T_152); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199327.8]
  assign _T_154 = $signed(_T_153) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199328.8]
  assign _T_155 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199329.8]
  assign _T_156 = _T_155 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199330.8]
  assign _T_157 = _T_156 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199331.8]
  assign _T_158 = _T_157 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199332.8]
  assign _T_173 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199347.8]
  assign _T_182 = _T_39 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199368.8]
  assign _T_183 = _T_182 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199369.8]
  assign _T_185 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199375.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199376.8]
  assign _T_187 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199381.8]
  assign _T_189 = _T_187 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199383.8]
  assign _T_190 = _T_189 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199384.8]
  assign _T_191 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@199389.8]
  assign _T_192 = _T_191 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199390.8]
  assign _T_194 = _T_192 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199392.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199393.8]
  assign _T_200 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199407.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199545.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199547.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199548.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199571.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199574.8]
  assign _T_336 = _T_328 & _T_84; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199582.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199584.8]
  assign _T_411 = _T_89 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199657.8]
  assign _T_412 = _T_411 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199658.8]
  assign _T_413 = _T_412 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199659.8]
  assign _T_414 = _T_413 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199660.8]
  assign _T_415 = _T_414 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199661.8]
  assign _T_416 = _T_415 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199662.8]
  assign _T_417 = _T_416 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199663.8]
  assign _T_418 = _T_417 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199664.8]
  assign _T_419 = _T_418 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199665.8]
  assign _T_420 = _T_419 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199666.8]
  assign _T_421 = _T_420 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199667.8]
  assign _T_422 = _T_421 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199668.8]
  assign _T_423 = _T_422 | _T_154; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199669.8]
  assign _T_424 = _T_338 & _T_423; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199670.8]
  assign _T_426 = _T_336 | _T_424; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199672.8]
  assign _T_428 = _T_426 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199674.8]
  assign _T_429 = _T_428 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199675.8]
  assign _T_436 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199694.8]
  assign _T_438 = _T_436 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199696.8]
  assign _T_439 = _T_438 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199697.8]
  assign _T_440 = io_in_a_bits_mask == _T_66; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199702.8]
  assign _T_442 = _T_440 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199704.8]
  assign _T_443 = _T_442 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199705.8]
  assign _T_448 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199719.6]
  assign _T_526 = _T_413 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199798.8]
  assign _T_527 = _T_526 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199799.8]
  assign _T_528 = _T_527 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199800.8]
  assign _T_529 = _T_528 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199801.8]
  assign _T_530 = _T_529 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199802.8]
  assign _T_531 = _T_530 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199803.8]
  assign _T_532 = _T_531 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199804.8]
  assign _T_533 = _T_532 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199805.8]
  assign _T_534 = _T_338 & _T_533; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199806.8]
  assign _T_549 = _T_336 | _T_534; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199821.8]
  assign _T_552 = _T_549 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199824.8]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199825.8]
  assign _T_568 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@199861.6]
  assign _T_641 = _T_413 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199935.8]
  assign _T_642 = _T_641 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199936.8]
  assign _T_643 = _T_642 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199937.8]
  assign _T_644 = _T_643 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199938.8]
  assign _T_645 = _T_644 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199939.8]
  assign _T_646 = _T_645 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199940.8]
  assign _T_647 = _T_646 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@199941.8]
  assign _T_648 = _T_338 & _T_647; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@199942.8]
  assign _T_669 = _T_336 | _T_648; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199963.8]
  assign _T_672 = _T_669 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199966.8]
  assign _T_673 = _T_672 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199967.8]
  assign _T_684 = ~ _T_66; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199994.8]
  assign _T_685 = io_in_a_bits_mask & _T_684; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@199995.8]
  assign _T_686 = _T_685 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@199996.8]
  assign _T_688 = _T_686 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199998.8]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199999.8]
  assign _T_690 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200005.6]
  assign _T_692 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200008.8]
  assign _T_764 = _T_158 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200080.8]
  assign _T_765 = _T_764 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200081.8]
  assign _T_766 = _T_765 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200082.8]
  assign _T_767 = _T_766 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200083.8]
  assign _T_768 = _T_767 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200084.8]
  assign _T_769 = _T_768 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200085.8]
  assign _T_770 = _T_769 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200086.8]
  assign _T_771 = _T_770 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200087.8]
  assign _T_772 = _T_692 & _T_771; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@200088.8]
  assign _T_789 = _T_772 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200105.8]
  assign _T_790 = _T_789 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200106.8]
  assign _T_797 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@200125.8]
  assign _T_799 = _T_797 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200127.8]
  assign _T_800 = _T_799 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200128.8]
  assign _T_805 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200142.6]
  assign _T_912 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@200262.8]
  assign _T_914 = _T_912 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200264.8]
  assign _T_915 = _T_914 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200265.8]
  assign _T_920 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200279.6]
  assign _T_1019 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200379.8]
  assign _T_1020 = _T_1019 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200380.8]
  assign _T_1035 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200418.6]
  assign _T_1037 = _T_1035 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200420.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200421.6]
  assign _T_1048 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200431.6]
  assign _T_1052 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200440.8]
  assign _T_1054 = _T_1052 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200442.8]
  assign _T_1055 = _T_1054 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200443.8]
  assign _T_1056 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200448.8]
  assign _T_1058 = _T_1056 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200450.8]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200451.8]
  assign _T_1060 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200456.8]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200458.8]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200459.8]
  assign _T_1064 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200464.8]
  assign _T_1066 = _T_1064 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200466.8]
  assign _T_1067 = _T_1066 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200467.8]
  assign _T_1068 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200473.6]
  assign _T_1079 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@200497.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200499.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200500.8]
  assign _T_1083 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200505.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200507.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200508.8]
  assign _T_1096 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200531.6]
  assign _T_1116 = _T_1064 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@200572.8]
  assign _T_1118 = _T_1116 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200574.8]
  assign _T_1119 = _T_1118 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200575.8]
  assign _T_1125 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200590.6]
  assign _T_1142 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200625.6]
  assign _T_1160 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200661.6]
  assign _T_1181 = io_in_c_valid == 1'h0; // @[Monitor.scala 342:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200705.4]
  assign _T_1183 = _T_1181 | reset; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200707.4]
  assign _T_1184 = _T_1183 == 1'h0; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200708.4]
  assign _T_1185 = io_in_e_valid == 1'h0; // @[Monitor.scala 343:15:shc.marmotcaravel.MarmotCaravelConfig.fir@200713.4]
  assign _T_1187 = _T_1185 | reset; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200715.4]
  assign _T_1188 = _T_1187 == 1'h0; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200716.4]
  assign _T_1189 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200721.4]
  assign _T_1194 = _T_31[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200726.4]
  assign _T_1195 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@200727.4]
  assign _T_1196 = _T_1195 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200728.4]
  assign _T_1200 = _T_1199 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200731.4]
  assign _T_1201 = $unsigned(_T_1200); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200732.4]
  assign _T_1202 = _T_1201[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200733.4]
  assign _T_1203 = _T_1199 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200734.4]
  assign _T_1221 = _T_1203 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200750.4]
  assign _T_1222 = io_in_a_valid & _T_1221; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@200751.4]
  assign _T_1223 = io_in_a_bits_opcode == _T_1212; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200753.6]
  assign _T_1225 = _T_1223 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200755.6]
  assign _T_1226 = _T_1225 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200756.6]
  assign _T_1227 = io_in_a_bits_param == _T_1214; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200761.6]
  assign _T_1229 = _T_1227 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200763.6]
  assign _T_1230 = _T_1229 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200764.6]
  assign _T_1231 = io_in_a_bits_size == _T_1216; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200769.6]
  assign _T_1233 = _T_1231 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200771.6]
  assign _T_1234 = _T_1233 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200772.6]
  assign _T_1239 = io_in_a_bits_address == _T_1220; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200785.6]
  assign _T_1241 = _T_1239 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200787.6]
  assign _T_1242 = _T_1241 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200788.6]
  assign _T_1244 = _T_1189 & _T_1203; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@200795.4]
  assign _T_1245 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200803.4]
  assign _T_1247 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@200805.4]
  assign _T_1248 = _T_1247[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@200806.4]
  assign _T_1249 = ~ _T_1248; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@200807.4]
  assign _T_1250 = _T_1249[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200808.4]
  assign _T_1251 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200809.4]
  assign _T_1255 = _T_1254 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200812.4]
  assign _T_1256 = $unsigned(_T_1255); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200813.4]
  assign _T_1257 = _T_1256[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200814.4]
  assign _T_1258 = _T_1254 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200815.4]
  assign _T_1278 = _T_1258 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@200832.4]
  assign _T_1279 = io_in_d_valid & _T_1278; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@200833.4]
  assign _T_1280 = io_in_d_bits_opcode == _T_1267; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200835.6]
  assign _T_1282 = _T_1280 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200837.6]
  assign _T_1283 = _T_1282 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200838.6]
  assign _T_1284 = io_in_d_bits_param == _T_1269; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200843.6]
  assign _T_1286 = _T_1284 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200845.6]
  assign _T_1287 = _T_1286 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200846.6]
  assign _T_1288 = io_in_d_bits_size == _T_1271; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200851.6]
  assign _T_1290 = _T_1288 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200853.6]
  assign _T_1291 = _T_1290 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200854.6]
  assign _T_1296 = io_in_d_bits_sink == _T_1275; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200867.6]
  assign _T_1298 = _T_1296 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200869.6]
  assign _T_1299 = _T_1298 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200870.6]
  assign _T_1300 = io_in_d_bits_denied == _T_1277; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@200875.6]
  assign _T_1302 = _T_1300 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200877.6]
  assign _T_1303 = _T_1302 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200878.6]
  assign _T_1305 = _T_1245 & _T_1258; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@200885.4]
  assign _T_1319 = _T_1318 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200905.4]
  assign _T_1320 = $unsigned(_T_1319); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200906.4]
  assign _T_1321 = _T_1320[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200907.4]
  assign _T_1322 = _T_1318 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200908.4]
  assign _T_1340 = _T_1339 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200928.4]
  assign _T_1341 = $unsigned(_T_1340); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200929.4]
  assign _T_1342 = _T_1341[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@200930.4]
  assign _T_1343 = _T_1339 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@200931.4]
  assign _T_1354 = _T_1189 & _T_1322; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200946.4]
  assign _T_1356 = 2'h1 << 1'h0; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@200949.6]
  assign _T_1357 = _T_1307 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@200951.6]
  assign _T_1359 = _T_1357 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200953.6]
  assign _T_1361 = _T_1359 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200955.6]
  assign _T_1362 = _T_1361 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200956.6]
  assign _GEN_15 = _T_1354 ? _T_1356 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@200948.4]
  assign _T_1367 = _T_1245 & _T_1343; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200967.4]
  assign _T_1369 = _T_1048 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200969.4]
  assign _T_1370 = _T_1367 & _T_1369; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@200970.4]
  assign _T_1352 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@200942.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@200944.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200950.6]
  assign _T_1372 = _T_1352 | _T_1307; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@200974.6]
  assign _T_1373 = _T_1372 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@200975.6]
  assign _T_1376 = _T_1373 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200978.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200979.6]
  assign _GEN_16 = _T_1370 ? _T_1356 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@200971.4]
  assign _T_1364 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@200962.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@200964.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200973.6]
  assign _T_1378 = _T_1352 != _T_1364; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@200985.4]
  assign _T_1380 = _T_1352 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@200987.4]
  assign _T_1381 = _T_1378 | _T_1380; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@200988.4]
  assign _T_1383 = _T_1381 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200990.4]
  assign _T_1384 = _T_1383 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200991.4]
  assign _T_1385 = _T_1307 | _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@200996.4]
  assign _T_1386 = ~ _T_1364; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@200997.4]
  assign _T_1387 = _T_1385 & _T_1386; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200998.4]
  assign _T_1391 = _T_1307 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@201004.4]
  assign _T_1392 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201005.4]
  assign _T_1393 = _T_1391 | _T_1392; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201006.4]
  assign _T_1394 = _T_1389 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@201007.4]
  assign _T_1395 = _T_1393 | _T_1394; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201008.4]
  assign _T_1397 = _T_1395 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201010.4]
  assign _T_1398 = _T_1397 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201011.4]
  assign _T_1400 = _T_1389 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201017.4]
  assign _T_1403 = _T_1189 | _T_1245; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201021.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199349.10]
  assign _GEN_31 = io_in_a_valid & _T_200; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199505.10]
  assign _GEN_45 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199677.10]
  assign _GEN_53 = io_in_a_valid & _T_448; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199827.10]
  assign _GEN_61 = io_in_a_valid & _T_568; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199969.10]
  assign _GEN_69 = io_in_a_valid & _T_690; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200108.10]
  assign _GEN_77 = io_in_a_valid & _T_805; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200245.10]
  assign _GEN_85 = io_in_a_valid & _T_920; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200382.10]
  assign _GEN_91 = io_in_d_valid & _T_1048; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200445.10]
  assign _GEN_99 = io_in_d_valid & _T_1068; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200486.10]
  assign _GEN_109 = io_in_d_valid & _T_1096; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200544.10]
  assign _GEN_119 = io_in_d_valid & _T_1125; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200604.10]
  assign _GEN_123 = io_in_d_valid & _T_1142; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200639.10]
  assign _GEN_127 = io_in_d_valid & _T_1160; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200675.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_1199 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1212 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1214 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1216 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1220 = _RAND_4[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1254 = _RAND_5[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1267 = _RAND_6[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1269 = _RAND_7[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1271 = _RAND_8[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1275 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1277 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1307 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1318 = _RAND_12[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1339 = _RAND_13[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1389 = _RAND_14[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1199 <= 10'h0;
    end else begin
      if (_T_1189) begin
        if (_T_1203) begin
          if (_T_1196) begin
            _T_1199 <= _T_1194;
          end else begin
            _T_1199 <= 10'h0;
          end
        end else begin
          _T_1199 <= _T_1202;
        end
      end
    end
    if (_T_1244) begin
      _T_1212 <= io_in_a_bits_opcode;
    end
    if (_T_1244) begin
      _T_1214 <= io_in_a_bits_param;
    end
    if (_T_1244) begin
      _T_1216 <= io_in_a_bits_size;
    end
    if (_T_1244) begin
      _T_1220 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1254 <= 10'h0;
    end else begin
      if (_T_1245) begin
        if (_T_1258) begin
          if (_T_1251) begin
            _T_1254 <= _T_1250;
          end else begin
            _T_1254 <= 10'h0;
          end
        end else begin
          _T_1254 <= _T_1257;
        end
      end
    end
    if (_T_1305) begin
      _T_1267 <= io_in_d_bits_opcode;
    end
    if (_T_1305) begin
      _T_1269 <= io_in_d_bits_param;
    end
    if (_T_1305) begin
      _T_1271 <= io_in_d_bits_size;
    end
    if (_T_1305) begin
      _T_1275 <= io_in_d_bits_sink;
    end
    if (_T_1305) begin
      _T_1277 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1307 <= 1'h0;
    end else begin
      _T_1307 <= _T_1387;
    end
    if (reset) begin
      _T_1318 <= 10'h0;
    end else begin
      if (_T_1189) begin
        if (_T_1322) begin
          if (_T_1196) begin
            _T_1318 <= _T_1194;
          end else begin
            _T_1318 <= 10'h0;
          end
        end else begin
          _T_1318 <= _T_1321;
        end
      end
    end
    if (reset) begin
      _T_1339 <= 10'h0;
    end else begin
      if (_T_1245) begin
        if (_T_1343) begin
          if (_T_1251) begin
            _T_1339 <= _T_1250;
          end else begin
            _T_1339 <= 10'h0;
          end
        end else begin
          _T_1339 <= _T_1342;
        end
      end
    end
    if (reset) begin
      _T_1389 <= 32'h0;
    end else begin
      if (_T_1403) begin
        _T_1389 <= 32'h0;
      end else begin
        _T_1389 <= _T_1400;
      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@199190.8]
        end
    `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@199191.8]
        end
    `ifdef STOP_COND
      end
    `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@199248.8]
        end
    `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@199249.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_173) 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@199349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_173) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_173) 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@199356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_173) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199357.10]
        end
    `ifdef STOP_COND
      end
    `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@199363.10]
        end
    `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@199364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_183) 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@199371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_183) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_186) 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@199378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_186) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_190) 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@199386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_190) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@199395.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199396.10]
        end
    `ifdef STOP_COND
      end
    `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@199403.10]
        end
    `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@199404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_173) 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@199505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_173) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_173) 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@199512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_173) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199513.10]
        end
    `ifdef STOP_COND
      end
    `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@199519.10]
        end
    `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@199520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_183) 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@199527.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_183) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_186) 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@199534.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_186) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_190) 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@199542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_190) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_316) 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@199550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_195) 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@199559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_195) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199560.10]
        end
    `ifdef STOP_COND
      end
    `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@199567.10]
        end
    `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@199568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_429) 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@199677.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_429) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199678.10]
        end
    `ifdef STOP_COND
      end
    `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@199684.10]
        end
    `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@199685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_186) 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@199691.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_186) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_439) 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@199699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_439) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_443) 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@199707.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_443) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199708.10]
        end
    `ifdef STOP_COND
      end
    `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@199715.10]
        end
    `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@199716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_553) 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@199827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_553) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199828.10]
        end
    `ifdef STOP_COND
      end
    `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@199834.10]
        end
    `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@199835.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 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@199841.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_439) 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@199849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_439) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_443) 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@199857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_443) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_673) 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@199969.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_673) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199970.10]
        end
    `ifdef STOP_COND
      end
    `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@199976.10]
        end
    `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@199977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_186) 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@199983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_186) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_439) 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@199991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_439) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_689) 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@200001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_689) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_790) 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@200108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_790) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200109.10]
        end
    `ifdef STOP_COND
      end
    `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@200115.10]
        end
    `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@200116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_186) 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@200122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_186) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_800) 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@200130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_800) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_443) 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@200138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_443) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_790) 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@200245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_790) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200246.10]
        end
    `ifdef STOP_COND
      end
    `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@200252.10]
        end
    `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@200253.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_186) 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@200259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_186) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_915) 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@200267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_915) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_443) 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@200275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_443) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_1020) 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@200382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_1020) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200383.10]
        end
    `ifdef STOP_COND
      end
    `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@200389.10]
        end
    `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@200390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_186) 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@200396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_186) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_443) 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@200404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_443) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200405.10]
        end
    `ifdef STOP_COND
      end
    `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@200412.10]
        end
    `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@200413.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_1038) 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@200423.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_1038) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200424.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@200437.10]
        end
    `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@200438.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1055) 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@200445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1055) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1059) 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@200453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1059) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1063) 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@200461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1063) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1067) 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@200469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1067) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@200479.10]
        end
    `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@200480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_173) 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@200486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_173) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1055) 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@200494.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1055) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200495.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1082) 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@200502.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1082) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1086) 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@200510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1086) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1063) 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@200518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1063) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@200527.10]
        end
    `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@200528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@200537.10]
        end
    `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@200538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_173) 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@200544.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_173) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1055) 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@200552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1055) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1082) 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@200560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1082) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1086) 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@200568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1086) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1119) 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@200577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1119) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@200586.10]
        end
    `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@200587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@200596.10]
        end
    `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@200597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_1059) 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@200604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_1059) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_1063) 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@200612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_1063) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@200621.10]
        end
    `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@200622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@200631.10]
        end
    `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@200632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_1059) 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@200639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_1059) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_1119) 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@200648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_1119) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@200657.10]
        end
    `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@200658.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@200667.10]
        end
    `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@200668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_127 & _T_1059) 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@200675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_127 & _T_1059) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_127 & _T_1063) 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@200683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_127 & _T_1063) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@200692.10]
        end
    `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@200693.10]
        end
    `ifdef STOP_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@200702.6]
        end
    `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@200703.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1184) 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@200710.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1184) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200711.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1188) 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@200718.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1188) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200719.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1222 & _T_1226) 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@200758.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1222 & _T_1226) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200759.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1222 & _T_1230) 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@200766.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1222 & _T_1230) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200767.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1222 & _T_1234) 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@200774.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1222 & _T_1234) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200775.8]
        end
    `ifdef STOP_COND
      end
    `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@200782.8]
        end
    `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@200783.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1222 & _T_1242) 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@200790.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1222 & _T_1242) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200791.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1283) 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@200840.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1283) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200841.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1287) 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@200848.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1287) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200849.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1291) 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@200856.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1291) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200857.8]
        end
    `ifdef STOP_COND
      end
    `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@200864.8]
        end
    `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@200865.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1299) 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@200872.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1299) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200873.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1303) 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@200880.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1303) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@200881.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1354 & _T_1362) 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@200958.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1354 & _T_1362) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200959.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1370 & _T_1377) 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@200981.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1370 & _T_1377) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200982.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1384) 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@200993.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1384) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@200994.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1398) 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@201013.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1398) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201014.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_57( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201033.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201034.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201035.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201036.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@202859.4]
  wire [26:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@201056.6]
  wire [11:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@201057.6]
  wire [11:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201058.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201059.6]
  wire [31:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201059.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201060.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201063.6]
  wire [32:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201097.6]
  wire [31:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201112.8]
  wire [32:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201113.8]
  wire [32:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201114.8]
  wire [32:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201115.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201116.8]
  wire [31:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201117.8]
  wire [32:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201118.8]
  wire [32:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201119.8]
  wire [32:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201120.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201121.8]
  wire [31:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201122.8]
  wire [32:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201123.8]
  wire [32:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201124.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201125.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201126.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201127.8]
  wire [32:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201128.8]
  wire [32:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201129.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201130.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201131.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201132.8]
  wire [32:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201133.8]
  wire [32:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201134.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201135.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201136.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201137.8]
  wire [32:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201138.8]
  wire [32:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201139.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201140.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201141.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201142.8]
  wire [32:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201143.8]
  wire [32:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201144.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201145.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201146.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201147.8]
  wire [32:0] _T_116; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201148.8]
  wire [32:0] _T_117; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201149.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201150.8]
  wire  _T_119; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201151.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201152.8]
  wire [32:0] _T_121; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201153.8]
  wire [32:0] _T_122; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201154.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.8]
  wire  _T_124; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201157.8]
  wire [32:0] _T_126; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201158.8]
  wire [32:0] _T_127; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201159.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201160.8]
  wire  _T_129; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201161.8]
  wire [31:0] _T_130; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201162.8]
  wire [32:0] _T_131; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201163.8]
  wire [32:0] _T_132; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201165.8]
  wire  _T_134; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201166.8]
  wire [32:0] _T_137; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201169.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201170.8]
  wire  _T_139; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201171.8]
  wire [31:0] _T_140; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201172.8]
  wire [32:0] _T_141; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201173.8]
  wire [32:0] _T_142; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201174.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201175.8]
  wire  _T_144; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201176.8]
  wire [31:0] _T_145; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201177.8]
  wire [32:0] _T_146; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201178.8]
  wire [32:0] _T_147; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201179.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201180.8]
  wire  _T_149; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201181.8]
  wire [31:0] _T_150; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201182.8]
  wire [32:0] _T_151; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.8]
  wire [32:0] _T_152; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201184.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201185.8]
  wire  _T_154; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201186.8]
  wire  _T_173; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201205.8]
  wire  _T_185; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201233.8]
  wire  _T_186; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201234.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201515.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201516.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201517.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201518.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201519.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201520.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201521.8]
  wire  _T_418; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201522.8]
  wire  _T_419; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201523.8]
  wire  _T_420; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201524.8]
  wire  _T_421; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201525.8]
  wire  _T_422; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201526.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201527.8]
  wire  _T_426; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201530.8]
  wire  _T_428; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201532.8]
  wire  _T_429; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201533.8]
  wire  _T_1035; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@202276.6]
  wire  _T_1037; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202278.6]
  wire  _T_1038; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202279.6]
  wire  _T_1048; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202289.6]
  wire  _T_1052; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202298.8]
  wire  _T_1054; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202300.8]
  wire  _T_1055; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202301.8]
  wire  _T_1056; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202306.8]
  wire  _T_1058; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202308.8]
  wire  _T_1059; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202309.8]
  wire  _T_1060; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202314.8]
  wire  _T_1062; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202316.8]
  wire  _T_1063; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202317.8]
  wire  _T_1064; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202322.8]
  wire  _T_1066; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202324.8]
  wire  _T_1067; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202325.8]
  wire  _T_1068; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202331.6]
  wire  _T_1079; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202355.8]
  wire  _T_1081; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202357.8]
  wire  _T_1082; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202358.8]
  wire  _T_1083; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202363.8]
  wire  _T_1085; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202365.8]
  wire  _T_1086; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202366.8]
  wire  _T_1096; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202389.6]
  wire  _T_1116; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202430.8]
  wire  _T_1118; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202432.8]
  wire  _T_1119; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202433.8]
  wire  _T_1125; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202448.6]
  wire  _T_1142; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202483.6]
  wire  _T_1160; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202519.6]
  wire  _T_1189; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202579.4]
  reg [9:0] _T_1199; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202588.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1200; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202589.4]
  wire [10:0] _T_1201; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202590.4]
  wire [9:0] _T_1202; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202591.4]
  wire  _T_1203; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202592.4]
  reg [31:0] _T_1220; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202607.4]
  reg [31:0] _RAND_1;
  wire  _T_1221; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202608.4]
  wire  _T_1222; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202609.4]
  wire  _T_1239; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202643.6]
  wire  _T_1241; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202645.6]
  wire  _T_1242; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202646.6]
  wire  _T_1244; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202653.4]
  wire  _T_1245; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202661.4]
  wire [26:0] _T_1247; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@202663.4]
  wire [11:0] _T_1248; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@202664.4]
  wire [11:0] _T_1249; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202665.4]
  wire [9:0] _T_1250; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@202666.4]
  wire  _T_1251; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202667.4]
  reg [9:0] _T_1254; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202669.4]
  reg [31:0] _RAND_2;
  wire [10:0] _T_1255; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202670.4]
  wire [10:0] _T_1256; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202671.4]
  wire [9:0] _T_1257; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202672.4]
  wire  _T_1258; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202673.4]
  reg [2:0] _T_1267; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202684.4]
  reg [31:0] _RAND_3;
  reg [1:0] _T_1269; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202685.4]
  reg [31:0] _RAND_4;
  reg [3:0] _T_1271; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202686.4]
  reg [31:0] _RAND_5;
  reg  _T_1275; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202688.4]
  reg [31:0] _RAND_6;
  reg  _T_1277; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202689.4]
  reg [31:0] _RAND_7;
  wire  _T_1278; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202690.4]
  wire  _T_1279; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202691.4]
  wire  _T_1280; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202693.6]
  wire  _T_1282; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202695.6]
  wire  _T_1283; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202696.6]
  wire  _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202701.6]
  wire  _T_1286; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202703.6]
  wire  _T_1287; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202704.6]
  wire  _T_1288; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202709.6]
  wire  _T_1290; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202711.6]
  wire  _T_1291; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202712.6]
  wire  _T_1296; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202725.6]
  wire  _T_1298; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202727.6]
  wire  _T_1299; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202728.6]
  wire  _T_1300; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202733.6]
  wire  _T_1302; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202735.6]
  wire  _T_1303; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202736.6]
  wire  _T_1305; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202743.4]
  reg  _T_1307; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202752.4]
  reg [31:0] _RAND_8;
  reg [9:0] _T_1318; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202762.4]
  reg [31:0] _RAND_9;
  wire [10:0] _T_1319; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202763.4]
  wire [10:0] _T_1320; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202764.4]
  wire [9:0] _T_1321; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202765.4]
  wire  _T_1322; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202766.4]
  reg [9:0] _T_1339; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202785.4]
  reg [31:0] _RAND_10;
  wire [10:0] _T_1340; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202786.4]
  wire [10:0] _T_1341; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202787.4]
  wire [9:0] _T_1342; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202788.4]
  wire  _T_1343; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202789.4]
  wire  _T_1354; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202804.4]
  wire  _T_1357; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@202809.6]
  wire  _T_1359; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202811.6]
  wire  _T_1361; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202813.6]
  wire  _T_1362; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202814.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@202806.4]
  wire  _T_1367; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202825.4]
  wire  _T_1369; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@202827.4]
  wire  _T_1370; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@202828.4]
  wire  _T_1352; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202800.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@202802.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202808.6]
  wire  _T_1372; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202832.6]
  wire  _T_1373; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@202833.6]
  wire  _T_1376; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202836.6]
  wire  _T_1377; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202837.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@202829.4]
  wire  _T_1364; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202820.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@202822.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202831.6]
  wire  _T_1378; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202843.4]
  wire  _T_1380; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202845.4]
  wire  _T_1381; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202846.4]
  wire  _T_1383; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202848.4]
  wire  _T_1384; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202849.4]
  wire  _T_1385; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202854.4]
  wire  _T_1386; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202855.4]
  wire  _T_1387; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202856.4]
  reg [31:0] _T_1389; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202858.4]
  reg [31:0] _RAND_11;
  wire  _T_1391; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202862.4]
  wire  _T_1392; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202863.4]
  wire  _T_1393; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202864.4]
  wire  _T_1394; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@202865.4]
  wire  _T_1395; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@202866.4]
  wire  _T_1397; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202868.4]
  wire  _T_1398; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202869.4]
  wire [31:0] _T_1400; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202875.4]
  wire  _T_1403; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202879.4]
  wire  _GEN_19; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202303.10]
  wire  _GEN_27; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202344.10]
  wire  _GEN_37; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202402.10]
  wire  _GEN_47; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202462.10]
  wire  _GEN_51; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202497.10]
  wire  _GEN_55; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202533.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@202859.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 27'hfff << 4'h6; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@201056.6]
  assign _T_30 = _T_29[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@201057.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201058.6]
  assign _GEN_18 = {{20'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201059.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201059.6]
  assign _T_33 = _T_32 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201060.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201063.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201097.6]
  assign _T_80 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201112.8]
  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201113.8]
  assign _T_82 = $signed(_T_81) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201114.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201115.8]
  assign _T_84 = $signed(_T_83) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201116.8]
  assign _T_85 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201117.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201118.8]
  assign _T_87 = $signed(_T_86) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201119.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201120.8]
  assign _T_89 = $signed(_T_88) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201121.8]
  assign _T_90 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201122.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201123.8]
  assign _T_92 = $signed(_T_91) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201124.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201125.8]
  assign _T_94 = $signed(_T_93) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201126.8]
  assign _T_95 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201127.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201128.8]
  assign _T_97 = $signed(_T_96) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201129.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201130.8]
  assign _T_99 = $signed(_T_98) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201131.8]
  assign _T_100 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201132.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201133.8]
  assign _T_102 = $signed(_T_101) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201134.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201135.8]
  assign _T_104 = $signed(_T_103) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201136.8]
  assign _T_105 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201137.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201138.8]
  assign _T_107 = $signed(_T_106) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201139.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201140.8]
  assign _T_109 = $signed(_T_108) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201141.8]
  assign _T_110 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201142.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201143.8]
  assign _T_112 = $signed(_T_111) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201144.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201145.8]
  assign _T_114 = $signed(_T_113) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201146.8]
  assign _T_115 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201147.8]
  assign _T_116 = {1'b0,$signed(_T_115)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201148.8]
  assign _T_117 = $signed(_T_116) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201149.8]
  assign _T_118 = $signed(_T_117); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201150.8]
  assign _T_119 = $signed(_T_118) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201151.8]
  assign _T_120 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201152.8]
  assign _T_121 = {1'b0,$signed(_T_120)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201153.8]
  assign _T_122 = $signed(_T_121) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201154.8]
  assign _T_123 = $signed(_T_122); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.8]
  assign _T_124 = $signed(_T_123) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.8]
  assign _T_125 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201157.8]
  assign _T_126 = {1'b0,$signed(_T_125)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201158.8]
  assign _T_127 = $signed(_T_126) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201159.8]
  assign _T_128 = $signed(_T_127); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201160.8]
  assign _T_129 = $signed(_T_128) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201161.8]
  assign _T_130 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201162.8]
  assign _T_131 = {1'b0,$signed(_T_130)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201163.8]
  assign _T_132 = $signed(_T_131) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.8]
  assign _T_133 = $signed(_T_132); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201165.8]
  assign _T_134 = $signed(_T_133) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201166.8]
  assign _T_137 = $signed(_T_70) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201169.8]
  assign _T_138 = $signed(_T_137); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201170.8]
  assign _T_139 = $signed(_T_138) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201171.8]
  assign _T_140 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201172.8]
  assign _T_141 = {1'b0,$signed(_T_140)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201173.8]
  assign _T_142 = $signed(_T_141) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201174.8]
  assign _T_143 = $signed(_T_142); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201175.8]
  assign _T_144 = $signed(_T_143) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201176.8]
  assign _T_145 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201177.8]
  assign _T_146 = {1'b0,$signed(_T_145)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201178.8]
  assign _T_147 = $signed(_T_146) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201179.8]
  assign _T_148 = $signed(_T_147); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201180.8]
  assign _T_149 = $signed(_T_148) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201181.8]
  assign _T_150 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201182.8]
  assign _T_151 = {1'b0,$signed(_T_150)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.8]
  assign _T_152 = $signed(_T_151) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201184.8]
  assign _T_153 = $signed(_T_152); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201185.8]
  assign _T_154 = $signed(_T_153) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201186.8]
  assign _T_173 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201205.8]
  assign _T_185 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201233.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201234.8]
  assign _T_411 = _T_89 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201515.8]
  assign _T_412 = _T_411 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201516.8]
  assign _T_413 = _T_412 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201517.8]
  assign _T_414 = _T_413 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201518.8]
  assign _T_415 = _T_414 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201519.8]
  assign _T_416 = _T_415 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201520.8]
  assign _T_417 = _T_416 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201521.8]
  assign _T_418 = _T_417 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201522.8]
  assign _T_419 = _T_418 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201523.8]
  assign _T_420 = _T_419 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201524.8]
  assign _T_421 = _T_420 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201525.8]
  assign _T_422 = _T_421 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201526.8]
  assign _T_423 = _T_422 | _T_154; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201527.8]
  assign _T_426 = _T_84 | _T_423; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201530.8]
  assign _T_428 = _T_426 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201532.8]
  assign _T_429 = _T_428 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201533.8]
  assign _T_1035 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@202276.6]
  assign _T_1037 = _T_1035 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202278.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202279.6]
  assign _T_1048 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202289.6]
  assign _T_1052 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202298.8]
  assign _T_1054 = _T_1052 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202300.8]
  assign _T_1055 = _T_1054 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202301.8]
  assign _T_1056 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202306.8]
  assign _T_1058 = _T_1056 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202308.8]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202309.8]
  assign _T_1060 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202314.8]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202316.8]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202317.8]
  assign _T_1064 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202322.8]
  assign _T_1066 = _T_1064 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202324.8]
  assign _T_1067 = _T_1066 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202325.8]
  assign _T_1068 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202331.6]
  assign _T_1079 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202355.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202357.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202358.8]
  assign _T_1083 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202363.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202365.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202366.8]
  assign _T_1096 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202389.6]
  assign _T_1116 = _T_1064 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202430.8]
  assign _T_1118 = _T_1116 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202432.8]
  assign _T_1119 = _T_1118 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202433.8]
  assign _T_1125 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202448.6]
  assign _T_1142 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202483.6]
  assign _T_1160 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202519.6]
  assign _T_1189 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202579.4]
  assign _T_1200 = _T_1199 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202589.4]
  assign _T_1201 = $unsigned(_T_1200); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202590.4]
  assign _T_1202 = _T_1201[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202591.4]
  assign _T_1203 = _T_1199 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202592.4]
  assign _T_1221 = _T_1203 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202608.4]
  assign _T_1222 = io_in_a_valid & _T_1221; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202609.4]
  assign _T_1239 = io_in_a_bits_address == _T_1220; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202643.6]
  assign _T_1241 = _T_1239 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202645.6]
  assign _T_1242 = _T_1241 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202646.6]
  assign _T_1244 = _T_1189 & _T_1203; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202653.4]
  assign _T_1245 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202661.4]
  assign _T_1247 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@202663.4]
  assign _T_1248 = _T_1247[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@202664.4]
  assign _T_1249 = ~ _T_1248; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202665.4]
  assign _T_1250 = _T_1249[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@202666.4]
  assign _T_1251 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202667.4]
  assign _T_1255 = _T_1254 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202670.4]
  assign _T_1256 = $unsigned(_T_1255); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202671.4]
  assign _T_1257 = _T_1256[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202672.4]
  assign _T_1258 = _T_1254 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202673.4]
  assign _T_1278 = _T_1258 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202690.4]
  assign _T_1279 = io_in_d_valid & _T_1278; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202691.4]
  assign _T_1280 = io_in_d_bits_opcode == _T_1267; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202693.6]
  assign _T_1282 = _T_1280 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202695.6]
  assign _T_1283 = _T_1282 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202696.6]
  assign _T_1284 = io_in_d_bits_param == _T_1269; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202701.6]
  assign _T_1286 = _T_1284 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202703.6]
  assign _T_1287 = _T_1286 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202704.6]
  assign _T_1288 = io_in_d_bits_size == _T_1271; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202709.6]
  assign _T_1290 = _T_1288 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202711.6]
  assign _T_1291 = _T_1290 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202712.6]
  assign _T_1296 = io_in_d_bits_sink == _T_1275; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202725.6]
  assign _T_1298 = _T_1296 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202727.6]
  assign _T_1299 = _T_1298 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202728.6]
  assign _T_1300 = io_in_d_bits_denied == _T_1277; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202733.6]
  assign _T_1302 = _T_1300 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202735.6]
  assign _T_1303 = _T_1302 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202736.6]
  assign _T_1305 = _T_1245 & _T_1258; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202743.4]
  assign _T_1319 = _T_1318 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202763.4]
  assign _T_1320 = $unsigned(_T_1319); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202764.4]
  assign _T_1321 = _T_1320[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202765.4]
  assign _T_1322 = _T_1318 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202766.4]
  assign _T_1340 = _T_1339 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202786.4]
  assign _T_1341 = $unsigned(_T_1340); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202787.4]
  assign _T_1342 = _T_1341[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202788.4]
  assign _T_1343 = _T_1339 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202789.4]
  assign _T_1354 = _T_1189 & _T_1322; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202804.4]
  assign _T_1357 = _T_1307 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@202809.6]
  assign _T_1359 = _T_1357 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202811.6]
  assign _T_1361 = _T_1359 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202813.6]
  assign _T_1362 = _T_1361 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202814.6]
  assign _GEN_15 = _T_1354 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@202806.4]
  assign _T_1367 = _T_1245 & _T_1343; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202825.4]
  assign _T_1369 = _T_1048 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@202827.4]
  assign _T_1370 = _T_1367 & _T_1369; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@202828.4]
  assign _T_1352 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202800.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@202802.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202808.6]
  assign _T_1372 = _T_1352 | _T_1307; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202832.6]
  assign _T_1373 = _T_1372 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@202833.6]
  assign _T_1376 = _T_1373 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202836.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202837.6]
  assign _GEN_16 = _T_1370 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@202829.4]
  assign _T_1364 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202820.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@202822.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202831.6]
  assign _T_1378 = _T_1352 != _T_1364; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202843.4]
  assign _T_1380 = _T_1352 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202845.4]
  assign _T_1381 = _T_1378 | _T_1380; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202846.4]
  assign _T_1383 = _T_1381 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202848.4]
  assign _T_1384 = _T_1383 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202849.4]
  assign _T_1385 = _T_1307 | _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202854.4]
  assign _T_1386 = ~ _T_1364; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202855.4]
  assign _T_1387 = _T_1385 & _T_1386; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202856.4]
  assign _T_1391 = _T_1307 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202862.4]
  assign _T_1392 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202863.4]
  assign _T_1393 = _T_1391 | _T_1392; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202864.4]
  assign _T_1394 = _T_1389 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@202865.4]
  assign _T_1395 = _T_1393 | _T_1394; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@202866.4]
  assign _T_1397 = _T_1395 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202868.4]
  assign _T_1398 = _T_1397 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202869.4]
  assign _T_1400 = _T_1389 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202875.4]
  assign _T_1403 = _T_1189 | _T_1245; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202879.4]
  assign _GEN_19 = io_in_d_valid & _T_1048; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202303.10]
  assign _GEN_27 = io_in_d_valid & _T_1068; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202344.10]
  assign _GEN_37 = io_in_d_valid & _T_1096; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202402.10]
  assign _GEN_47 = io_in_d_valid & _T_1125; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202462.10]
  assign _GEN_51 = io_in_d_valid & _T_1142; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202497.10]
  assign _GEN_55 = io_in_d_valid & _T_1160; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202533.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_1199 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1220 = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1254 = _RAND_2[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1267 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1269 = _RAND_4[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1271 = _RAND_5[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1275 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1277 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1307 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1318 = _RAND_9[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1339 = _RAND_10[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1389 = _RAND_11[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1199 <= 10'h0;
    end else begin
      if (_T_1189) begin
        if (_T_1203) begin
          _T_1199 <= 10'h0;
        end else begin
          _T_1199 <= _T_1202;
        end
      end
    end
    if (_T_1244) begin
      _T_1220 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1254 <= 10'h0;
    end else begin
      if (_T_1245) begin
        if (_T_1258) begin
          if (_T_1251) begin
            _T_1254 <= _T_1250;
          end else begin
            _T_1254 <= 10'h0;
          end
        end else begin
          _T_1254 <= _T_1257;
        end
      end
    end
    if (_T_1305) begin
      _T_1267 <= io_in_d_bits_opcode;
    end
    if (_T_1305) begin
      _T_1269 <= io_in_d_bits_param;
    end
    if (_T_1305) begin
      _T_1271 <= io_in_d_bits_size;
    end
    if (_T_1305) begin
      _T_1275 <= io_in_d_bits_sink;
    end
    if (_T_1305) begin
      _T_1277 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1307 <= 1'h0;
    end else begin
      _T_1307 <= _T_1387;
    end
    if (reset) begin
      _T_1318 <= 10'h0;
    end else begin
      if (_T_1189) begin
        if (_T_1322) begin
          _T_1318 <= 10'h0;
        end else begin
          _T_1318 <= _T_1321;
        end
      end
    end
    if (reset) begin
      _T_1339 <= 10'h0;
    end else begin
      if (_T_1245) begin
        if (_T_1343) begin
          if (_T_1251) begin
            _T_1339 <= _T_1250;
          end else begin
            _T_1339 <= 10'h0;
          end
        end else begin
          _T_1339 <= _T_1342;
        end
      end
    end
    if (reset) begin
      _T_1389 <= 32'h0;
    end else begin
      if (_T_1403) begin
        _T_1389 <= 32'h0;
      end else begin
        _T_1389 <= _T_1400;
      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@201048.8]
        end
    `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@201049.8]
        end
    `ifdef STOP_COND
      end
    `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@201106.8]
        end
    `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@201107.8]
        end
    `ifdef STOP_COND
      end
    `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@201207.10]
        end
    `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@201208.10]
        end
    `ifdef STOP_COND
      end
    `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@201214.10]
        end
    `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@201215.10]
        end
    `ifdef STOP_COND
      end
    `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@201221.10]
        end
    `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@201222.10]
        end
    `ifdef STOP_COND
      end
    `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@201229.10]
        end
    `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@201230.10]
        end
    `ifdef STOP_COND
      end
    `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@201236.10]
        end
    `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@201237.10]
        end
    `ifdef STOP_COND
      end
    `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@201244.10]
        end
    `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@201245.10]
        end
    `ifdef STOP_COND
      end
    `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@201253.10]
        end
    `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@201254.10]
        end
    `ifdef STOP_COND
      end
    `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@201261.10]
        end
    `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@201262.10]
        end
    `ifdef STOP_COND
      end
    `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@201363.10]
        end
    `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@201364.10]
        end
    `ifdef STOP_COND
      end
    `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@201370.10]
        end
    `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@201371.10]
        end
    `ifdef STOP_COND
      end
    `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@201377.10]
        end
    `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@201378.10]
        end
    `ifdef STOP_COND
      end
    `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@201385.10]
        end
    `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@201386.10]
        end
    `ifdef STOP_COND
      end
    `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@201392.10]
        end
    `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@201393.10]
        end
    `ifdef STOP_COND
      end
    `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@201400.10]
        end
    `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@201401.10]
        end
    `ifdef STOP_COND
      end
    `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@201408.10]
        end
    `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@201409.10]
        end
    `ifdef STOP_COND
      end
    `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@201417.10]
        end
    `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@201418.10]
        end
    `ifdef STOP_COND
      end
    `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@201425.10]
        end
    `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@201426.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_429) 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@201535.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_429) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201536.10]
        end
    `ifdef STOP_COND
      end
    `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@201542.10]
        end
    `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@201543.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_186) 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@201549.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_186) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@201550.10]
        end
    `ifdef STOP_COND
      end
    `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@201557.10]
        end
    `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@201558.10]
        end
    `ifdef STOP_COND
      end
    `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@201565.10]
        end
    `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@201566.10]
        end
    `ifdef STOP_COND
      end
    `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@201573.10]
        end
    `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@201574.10]
        end
    `ifdef STOP_COND
      end
    `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@201685.10]
        end
    `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@201686.10]
        end
    `ifdef STOP_COND
      end
    `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@201692.10]
        end
    `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@201693.10]
        end
    `ifdef STOP_COND
      end
    `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@201699.10]
        end
    `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@201700.10]
        end
    `ifdef STOP_COND
      end
    `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@201707.10]
        end
    `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@201708.10]
        end
    `ifdef STOP_COND
      end
    `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@201715.10]
        end
    `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@201716.10]
        end
    `ifdef STOP_COND
      end
    `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@201827.10]
        end
    `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@201828.10]
        end
    `ifdef STOP_COND
      end
    `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@201834.10]
        end
    `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@201835.10]
        end
    `ifdef STOP_COND
      end
    `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@201841.10]
        end
    `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@201842.10]
        end
    `ifdef STOP_COND
      end
    `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@201849.10]
        end
    `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@201850.10]
        end
    `ifdef STOP_COND
      end
    `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@201859.10]
        end
    `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@201860.10]
        end
    `ifdef STOP_COND
      end
    `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@201966.10]
        end
    `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@201967.10]
        end
    `ifdef STOP_COND
      end
    `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@201973.10]
        end
    `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@201974.10]
        end
    `ifdef STOP_COND
      end
    `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@201980.10]
        end
    `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@201981.10]
        end
    `ifdef STOP_COND
      end
    `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@201988.10]
        end
    `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@201989.10]
        end
    `ifdef STOP_COND
      end
    `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@201996.10]
        end
    `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@201997.10]
        end
    `ifdef STOP_COND
      end
    `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@202103.10]
        end
    `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@202104.10]
        end
    `ifdef STOP_COND
      end
    `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@202110.10]
        end
    `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@202111.10]
        end
    `ifdef STOP_COND
      end
    `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@202117.10]
        end
    `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@202118.10]
        end
    `ifdef STOP_COND
      end
    `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@202125.10]
        end
    `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@202126.10]
        end
    `ifdef STOP_COND
      end
    `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@202133.10]
        end
    `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@202134.10]
        end
    `ifdef STOP_COND
      end
    `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@202240.10]
        end
    `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@202241.10]
        end
    `ifdef STOP_COND
      end
    `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@202247.10]
        end
    `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@202248.10]
        end
    `ifdef STOP_COND
      end
    `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@202254.10]
        end
    `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@202255.10]
        end
    `ifdef STOP_COND
      end
    `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@202262.10]
        end
    `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@202263.10]
        end
    `ifdef STOP_COND
      end
    `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@202270.10]
        end
    `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@202271.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_1038) 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@202281.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_1038) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202282.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@202295.10]
        end
    `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@202296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1055) 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@202303.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1055) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1059) 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@202311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1059) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1063) 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@202319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1063) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1067) 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@202327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1067) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@202337.10]
        end
    `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@202338.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_173) 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@202344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_173) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1055) 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@202352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1055) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1082) 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@202360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1082) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1086) 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@202368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1086) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1063) 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@202376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1063) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@202385.10]
        end
    `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@202386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@202395.10]
        end
    `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@202396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_173) 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@202402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_173) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1055) 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@202410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1055) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1082) 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@202418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1082) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1086) 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@202426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1086) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1119) 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@202435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1119) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@202444.10]
        end
    `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@202445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@202454.10]
        end
    `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@202455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_47 & _T_1059) 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@202462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_47 & _T_1059) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_47 & _T_1063) 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@202470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_47 & _T_1063) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@202479.10]
        end
    `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@202480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@202489.10]
        end
    `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@202490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_51 & _T_1059) 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@202497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_51 & _T_1059) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_51 & _T_1119) 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@202506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_51 & _T_1119) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@202515.10]
        end
    `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@202516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@202525.10]
        end
    `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@202526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_55 & _T_1059) 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@202533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_55 & _T_1059) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_55 & _T_1063) 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@202541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_55 & _T_1063) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@202550.10]
        end
    `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@202551.10]
        end
    `ifdef STOP_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@202560.6]
        end
    `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@202561.6]
        end
    `ifdef STOP_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@202568.6]
        end
    `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@202569.6]
        end
    `ifdef STOP_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@202576.6]
        end
    `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@202577.6]
        end
    `ifdef STOP_COND
      end
    `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@202616.8]
        end
    `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@202617.8]
        end
    `ifdef STOP_COND
      end
    `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@202624.8]
        end
    `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@202625.8]
        end
    `ifdef STOP_COND
      end
    `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@202632.8]
        end
    `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@202633.8]
        end
    `ifdef STOP_COND
      end
    `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@202640.8]
        end
    `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@202641.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1222 & _T_1242) 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@202648.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1222 & _T_1242) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202649.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1283) 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@202698.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1283) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202699.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1287) 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@202706.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1287) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202707.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1291) 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@202714.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1291) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202715.8]
        end
    `ifdef STOP_COND
      end
    `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@202722.8]
        end
    `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@202723.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1299) 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@202730.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1299) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202731.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1279 & _T_1303) 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@202738.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1279 & _T_1303) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@202739.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1354 & _T_1362) 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@202816.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1354 & _T_1362) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202817.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1370 & _T_1377) 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@202839.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1370 & _T_1377) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202840.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1384) 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@202851.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1384) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@202852.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1398) 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@202871.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1398) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202872.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202884.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202885.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202886.4]
  output        auto_in_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_in_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [31:0] auto_in_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_in_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_in_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [2:0]  auto_in_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [3:0]  auto_in_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [31:0] auto_in_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_in_1_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_in_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_in_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [2:0]  auto_in_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [2:0]  auto_in_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [3:0]  auto_in_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [31:0] auto_in_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [3:0]  auto_in_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [31:0] auto_in_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_in_0_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_in_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_in_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [2:0]  auto_in_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [3:0]  auto_in_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_in_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [31:0] auto_in_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_in_0_e_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202887.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_c_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_io_in_e_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire [31:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire [3:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  TLMonitor_1_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.4]
  wire  requestDOI_0_1; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203038.4]
  wire [26:0] _T_786; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203040.4]
  wire [11:0] _T_787; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203041.4]
  wire [11:0] _T_788; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203042.4]
  wire [9:0] _T_789; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203043.4]
  wire  _T_790; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203044.4]
  wire  _T_791; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203045.4]
  wire  _T_969; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203138.4]
  wire  _T_970; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203139.4]
  reg [9:0] _T_1015; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203158.4]
  reg [31:0] _RAND_0;
  wire  _T_1016; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203159.4]
  wire  _T_1017; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203160.4]
  wire [1:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203161.4]
  wire  _T_1020; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203163.4]
  wire  _T_1022; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203165.4]
  wire  _T_1023; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203166.4]
  reg [1:0] _T_1026; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@203172.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_1027; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203173.4]
  wire [1:0] _T_1028; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203174.4]
  wire [3:0] _T_1029; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203175.4]
  wire [2:0] _T_1030; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203176.4]
  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203177.4]
  wire [3:0] _T_1031; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203177.4]
  wire [2:0] _T_1033; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203179.4]
  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203180.4]
  wire [3:0] _T_1034; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203180.4]
  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203181.4]
  wire [3:0] _T_1035; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203181.4]
  wire [1:0] _T_1036; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203182.4]
  wire [1:0] _T_1037; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203183.4]
  wire [1:0] _T_1038; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203184.4]
  wire [1:0] _T_1039; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203185.4]
  wire  _T_1040; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203186.4]
  wire  _T_1041; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203187.4]
  wire [1:0] _T_1042; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203189.6]
  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203190.6]
  wire [2:0] _T_1043; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203190.6]
  wire [1:0] _T_1044; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203191.6]
  wire [1:0] _T_1045; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203192.6]
  wire  _T_1048; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203197.4]
  wire  _T_1049; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203198.4]
  wire  _T_1058; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203203.4]
  wire  _T_1059; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203204.4]
  wire  _T_1069; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203210.4]
  wire  _T_1071; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203212.4]
  wire  _T_1074; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203215.4]
  wire  _T_1075; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203216.4]
  wire  _T_1078; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203219.4]
  wire  _T_1079; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203220.4]
  wire  _T_1080; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203225.4]
  wire  _T_1081; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203226.4]
  wire  _T_1083; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203228.4]
  wire  _T_1085; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203230.4]
  wire  _T_1086; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203231.4]
  reg  _T_1111_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203249.4]
  reg [31:0] _RAND_2;
  wire  _T_1142; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203258.4]
  reg  _T_1111_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203249.4]
  reg [31:0] _RAND_3;
  wire  _T_1143; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203259.4]
  wire  _T_1144; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203260.4]
  wire  out_0_a_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203263.4]
  wire  _T_1090; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203239.4]
  wire [9:0] _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203240.4]
  wire [10:0] _T_1091; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203240.4]
  wire [10:0] _T_1092; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203241.4]
  wire [9:0] _T_1093; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203242.4]
  wire  _T_1122_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203250.4]
  wire  _T_1122_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203250.4]
  wire  _T_1130_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203252.4]
  wire  _T_1130_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203252.4]
  wire [32:0] _T_1149; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203265.4]
  wire [35:0] _T_1150; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203266.4]
  wire [68:0] _T_1151; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203267.4]
  wire [4:0] _T_1152; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203268.4]
  wire [5:0] _T_1153; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203269.4]
  wire [10:0] _T_1154; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203270.4]
  wire [79:0] _T_1155; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203271.4]
  wire [79:0] _T_1156; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203272.4]
  wire [35:0] _T_1158; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203274.4]
  wire [68:0] _T_1159; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203275.4]
  wire [79:0] _T_1163; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203279.4]
  wire [79:0] _T_1164; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203280.4]
  wire [79:0] _T_1165; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203281.4]
  TLMonitor_56 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202896.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_57 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202933.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@203038.4]
  assign _T_786 = 27'hfff << auto_in_0_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203040.4]
  assign _T_787 = _T_786[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203041.4]
  assign _T_788 = ~ _T_787; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203042.4]
  assign _T_789 = _T_788[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203043.4]
  assign _T_790 = auto_in_0_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203044.4]
  assign _T_791 = _T_790 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203045.4]
  assign _T_969 = auto_out_d_bits_source ? auto_in_0_d_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203138.4]
  assign _T_970 = requestDOI_0_1 ? auto_in_1_d_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203139.4]
  assign _T_1016 = _T_1015 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203159.4]
  assign _T_1017 = _T_1016 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203160.4]
  assign _T_1018 = {auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203161.4]
  assign _T_1020 = _T_1018 == _T_1018; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203163.4]
  assign _T_1022 = _T_1020 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203165.4]
  assign _T_1023 = _T_1022 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203166.4]
  assign _T_1027 = ~ _T_1026; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203173.4]
  assign _T_1028 = _T_1018 & _T_1027; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203174.4]
  assign _T_1029 = {_T_1028,_T_1018}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203175.4]
  assign _T_1030 = _T_1029[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203176.4]
  assign _GEN_1 = {{1'd0}, _T_1030}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203177.4]
  assign _T_1031 = _T_1029 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203177.4]
  assign _T_1033 = _T_1031[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203179.4]
  assign _GEN_2 = {{2'd0}, _T_1026}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203180.4]
  assign _T_1034 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203180.4]
  assign _GEN_3 = {{1'd0}, _T_1033}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203181.4]
  assign _T_1035 = _GEN_3 | _T_1034; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203181.4]
  assign _T_1036 = _T_1035[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203182.4]
  assign _T_1037 = _T_1035[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203183.4]
  assign _T_1038 = _T_1036 & _T_1037; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203184.4]
  assign _T_1039 = ~ _T_1038; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203185.4]
  assign _T_1040 = _T_1018 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203186.4]
  assign _T_1041 = _T_1017 & _T_1040; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203187.4]
  assign _T_1042 = _T_1039 & _T_1018; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203189.6]
  assign _GEN_4 = {{1'd0}, _T_1042}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203190.6]
  assign _T_1043 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203190.6]
  assign _T_1044 = _T_1043[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203191.6]
  assign _T_1045 = _T_1042 | _T_1044; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203192.6]
  assign _T_1048 = _T_1039[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203197.4]
  assign _T_1049 = _T_1039[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203198.4]
  assign _T_1058 = _T_1048 & auto_in_0_a_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203203.4]
  assign _T_1059 = _T_1049 & auto_in_1_a_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203204.4]
  assign _T_1069 = _T_1058 | _T_1059; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203210.4]
  assign _T_1071 = _T_1058 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203212.4]
  assign _T_1074 = _T_1059 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203215.4]
  assign _T_1075 = _T_1071 | _T_1074; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203216.4]
  assign _T_1078 = _T_1075 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203219.4]
  assign _T_1079 = _T_1078 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203220.4]
  assign _T_1080 = auto_in_0_a_valid | auto_in_1_a_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203225.4]
  assign _T_1081 = _T_1080 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203226.4]
  assign _T_1083 = _T_1081 | _T_1069; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203228.4]
  assign _T_1085 = _T_1083 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203230.4]
  assign _T_1086 = _T_1085 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203231.4]
  assign _T_1142 = _T_1111_0 ? auto_in_0_a_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203258.4]
  assign _T_1143 = _T_1111_1 ? auto_in_1_a_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203259.4]
  assign _T_1144 = _T_1142 | _T_1143; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203260.4]
  assign out_0_a_valid = _T_1016 ? _T_1080 : _T_1144; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203263.4]
  assign _T_1090 = auto_out_a_ready & out_0_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203239.4]
  assign _GEN_5 = {{9'd0}, _T_1090}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203240.4]
  assign _T_1091 = _T_1015 - _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203240.4]
  assign _T_1092 = $unsigned(_T_1091); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203241.4]
  assign _T_1093 = _T_1092[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203242.4]
  assign _T_1122_0 = _T_1016 ? _T_1058 : _T_1111_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203250.4]
  assign _T_1122_1 = _T_1016 ? _T_1059 : _T_1111_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203250.4]
  assign _T_1130_0 = _T_1016 ? _T_1048 : _T_1111_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203252.4]
  assign _T_1130_1 = _T_1016 ? _T_1049 : _T_1111_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203252.4]
  assign _T_1149 = {auto_in_0_a_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203265.4]
  assign _T_1150 = {auto_in_0_a_bits_address,auto_in_0_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203266.4]
  assign _T_1151 = {_T_1150,_T_1149}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203267.4]
  assign _T_1152 = {auto_in_0_a_bits_size,1'h1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203268.4]
  assign _T_1153 = {auto_in_0_a_bits_opcode,auto_in_0_a_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203269.4]
  assign _T_1154 = {_T_1153,_T_1152}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203270.4]
  assign _T_1155 = {_T_1154,_T_1151}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203271.4]
  assign _T_1156 = _T_1122_0 ? _T_1155 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203272.4]
  assign _T_1158 = {auto_in_1_a_bits_address,4'hf}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203274.4]
  assign _T_1159 = {_T_1158,33'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203275.4]
  assign _T_1163 = {11'h40c,_T_1159}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203279.4]
  assign _T_1164 = _T_1122_1 ? _T_1163 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203280.4]
  assign _T_1165 = _T_1156 | _T_1164; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203281.4]
  assign auto_in_1_a_ready = auto_out_a_ready & _T_1130_1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202974.4]
  assign auto_in_1_d_valid = auto_out_d_valid & requestDOI_0_1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202974.4]
  assign auto_in_1_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202974.4]
  assign auto_in_1_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202974.4]
  assign auto_in_1_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202974.4]
  assign auto_in_1_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202974.4]
  assign auto_in_0_a_ready = auto_out_a_ready & _T_1130_0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202973.4]
  assign auto_in_0_d_valid = auto_out_d_valid & auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202973.4]
  assign auto_in_0_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202973.4]
  assign auto_in_0_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202973.4]
  assign auto_in_0_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202973.4]
  assign auto_in_0_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202973.4]
  assign auto_out_a_valid = _T_1016 ? _T_1080 : _T_1144; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_opcode = _T_1165[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_param = _T_1165[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_size = _T_1165[73:70]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_source = _T_1165[69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_address = _T_1165[68:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_mask = _T_1165[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_data = _T_1165[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_a_bits_corrupt = _T_1165[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign auto_out_d_ready = _T_969 | _T_970; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202972.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202898.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202899.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready & _T_1130_0; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_a_valid = auto_in_0_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_0_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_0_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_0_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_0_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_0_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_c_valid = auto_in_0_c_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_ready = auto_in_0_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_io_in_e_valid = auto_in_0_e_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202932.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202935.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@202936.4]
  assign TLMonitor_1_io_in_a_ready = auto_out_a_ready & _T_1130_1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_a_valid = auto_in_1_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_a_bits_address = auto_in_1_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_ready = auto_in_1_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.4]
  assign TLMonitor_1_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202969.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@203168.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@203169.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@203222.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@203223.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@203233.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@203234.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203309.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203310.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203311.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [31:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [2:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [27:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [2:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
  input  [31:0] auto_out_0_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203312.4]
);
  reg [3:0] _T_951; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203546.4]
  reg [31:0] _RAND_0;
  wire  _T_952; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203547.4]
  wire [1:0] _T_954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203549.4]
  reg [1:0] _T_962; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@203560.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_963; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203561.4]
  wire [1:0] _T_964; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203562.4]
  wire [3:0] _T_965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203563.4]
  wire [2:0] _T_966; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203564.4]
  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203565.4]
  wire [3:0] _T_967; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203565.4]
  wire [2:0] _T_969; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203567.4]
  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203568.4]
  wire [3:0] _T_970; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203568.4]
  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203569.4]
  wire [3:0] _T_971; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203569.4]
  wire [1:0] _T_972; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203570.4]
  wire [1:0] _T_973; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203571.4]
  wire [1:0] _T_974; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203572.4]
  wire [1:0] _T_975; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203573.4]
  wire  _T_984; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203585.4]
  wire  _T_994; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203591.4]
  reg  _T_1047_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203637.4]
  reg [31:0] _RAND_2;
  wire  _T_1058_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203638.4]
  wire [4:0] _T_1089; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire [3:0] _T_1088; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203656.4]
  wire [8:0] _T_1090; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203658.4]
  wire [32:0] _T_1085; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire [34:0] _T_1087; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire [43:0] _T_1091; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire [43:0] _T_1092; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203660.4]
  wire  _T_985; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203586.4]
  wire  _T_995; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203592.4]
  reg  _T_1047_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203637.4]
  reg [31:0] _RAND_3;
  wire  _T_1058_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203638.4]
  wire [4:0] _T_1097; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire [3:0] _T_1096; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203664.4]
  wire [8:0] _T_1098; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203666.4]
  wire [32:0] _T_1093; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire [34:0] _T_1095; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire [43:0] _T_1099; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire [43:0] _T_1100; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203668.4]
  wire [43:0] _T_1101; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire [32:0] _T_679; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203363.4]
  wire [32:0] _T_680; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203364.4]
  wire [32:0] _T_681; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203365.4]
  wire  requestAIO_0_0; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@203366.4]
  wire [31:0] _T_683; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203368.4]
  wire [32:0] _T_684; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203369.4]
  wire [32:0] _T_685; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203370.4]
  wire [32:0] _T_686; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203371.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@203372.4]
  wire [12:0] _T_754; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203450.4]
  wire [5:0] _T_755; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203451.4]
  wire [5:0] _T_756; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203452.4]
  wire [3:0] _T_757; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203453.4]
  wire  _T_758; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203454.4]
  wire [3:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203455.4]
  wire [12:0] _T_760; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203457.4]
  wire [5:0] _T_761; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203458.4]
  wire [5:0] _T_762; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203459.4]
  wire [3:0] _T_763; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203460.4]
  wire  _T_764; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203461.4]
  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203462.4]
  wire  _T_795; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203473.4]
  wire  _T_796; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203474.4]
  wire  _T_953; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203548.4]
  wire  _T_956; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203551.4]
  wire  _T_958; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203553.4]
  wire  _T_959; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203554.4]
  wire  _T_976; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203574.4]
  wire  _T_977; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203575.4]
  wire [1:0] _T_978; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203577.6]
  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203578.6]
  wire [2:0] _T_979; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203578.6]
  wire [1:0] _T_980; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203579.6]
  wire [1:0] _T_981; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203580.6]
  wire  _T_1005; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203598.4]
  wire  _T_1007; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203600.4]
  wire  _T_1010; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203603.4]
  wire  _T_1011; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203604.4]
  wire  _T_1014; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203607.4]
  wire  _T_1015; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203608.4]
  wire  _T_1016; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203613.4]
  wire  _T_1017; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203614.4]
  wire  _T_1019; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203616.4]
  wire  _T_1021; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203618.4]
  wire  _T_1022; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203619.4]
  wire [3:0] _T_1023; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@203624.4]
  wire [3:0] _T_1024; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@203625.4]
  wire [3:0] _T_1025; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@203626.4]
  wire  _T_1078; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203646.4]
  wire  _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203647.4]
  wire  _T_1080; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203648.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203651.4]
  wire  _T_1026; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203627.4]
  wire [3:0] _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203628.4]
  wire [4:0] _T_1027; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203628.4]
  wire [4:0] _T_1028; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203629.4]
  wire [3:0] _T_1029; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203630.4]
  wire  _T_1066_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203640.4]
  wire  _T_1066_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203640.4]
  assign _T_952 = _T_951 == 4'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203547.4]
  assign _T_954 = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203549.4]
  assign _T_963 = ~ _T_962; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203561.4]
  assign _T_964 = _T_954 & _T_963; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203562.4]
  assign _T_965 = {_T_964,_T_954}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203563.4]
  assign _T_966 = _T_965[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203564.4]
  assign _GEN_1 = {{1'd0}, _T_966}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203565.4]
  assign _T_967 = _T_965 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203565.4]
  assign _T_969 = _T_967[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203567.4]
  assign _GEN_2 = {{2'd0}, _T_962}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203568.4]
  assign _T_970 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203568.4]
  assign _GEN_3 = {{1'd0}, _T_969}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203569.4]
  assign _T_971 = _GEN_3 | _T_970; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203569.4]
  assign _T_972 = _T_971[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203570.4]
  assign _T_973 = _T_971[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203571.4]
  assign _T_974 = _T_972 & _T_973; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203572.4]
  assign _T_975 = ~ _T_974; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203573.4]
  assign _T_984 = _T_975[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203585.4]
  assign _T_994 = _T_984 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203591.4]
  assign _T_1058_0 = _T_952 ? _T_994 : _T_1047_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203638.4]
  assign _T_1089 = {auto_out_0_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_1088 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203656.4]
  assign _T_1090 = {_T_1089,_T_1088}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203658.4]
  assign _T_1085 = {auto_out_0_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_1087 = {2'h0,_T_1085}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_1091 = {_T_1090,_T_1087}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_1092 = _T_1058_0 ? _T_1091 : 44'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203660.4]
  assign _T_985 = _T_975[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203586.4]
  assign _T_995 = _T_985 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203592.4]
  assign _T_1058_1 = _T_952 ? _T_995 : _T_1047_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203638.4]
  assign _T_1097 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_1096 = {auto_out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203664.4]
  assign _T_1098 = {_T_1097,_T_1096}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203666.4]
  assign _T_1093 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_1095 = {2'h0,_T_1093}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_1099 = {_T_1098,_T_1095}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_1100 = _T_1058_1 ? _T_1099 : 44'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203668.4]
  assign _T_1101 = _T_1092 | _T_1100; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign _T_679 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203363.4]
  assign _T_680 = $signed(_T_679) & $signed(33'sh80000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203364.4]
  assign _T_681 = $signed(_T_680); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203365.4]
  assign requestAIO_0_0 = $signed(_T_681) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@203366.4]
  assign _T_683 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203368.4]
  assign _T_684 = {1'b0,$signed(_T_683)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203369.4]
  assign _T_685 = $signed(_T_684) & $signed(33'sh80000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203370.4]
  assign _T_686 = $signed(_T_685); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203371.4]
  assign requestAIO_0_1 = $signed(_T_686) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@203372.4]
  assign _T_754 = 13'h3f << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203450.4]
  assign _T_755 = _T_754[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203451.4]
  assign _T_756 = ~ _T_755; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203452.4]
  assign _T_757 = _T_756[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203453.4]
  assign _T_758 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203454.4]
  assign beatsDO_0 = _T_758 ? _T_757 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203455.4]
  assign _T_760 = 13'h3f << auto_out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203457.4]
  assign _T_761 = _T_760[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203458.4]
  assign _T_762 = ~ _T_761; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203459.4]
  assign _T_763 = _T_762[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203460.4]
  assign _T_764 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203461.4]
  assign beatsDO_1 = _T_764 ? _T_763 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203462.4]
  assign _T_795 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203473.4]
  assign _T_796 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203474.4]
  assign _T_953 = _T_952 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203548.4]
  assign _T_956 = _T_954 == _T_954; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203551.4]
  assign _T_958 = _T_956 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203553.4]
  assign _T_959 = _T_958 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@203554.4]
  assign _T_976 = _T_954 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203574.4]
  assign _T_977 = _T_953 & _T_976; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@203575.4]
  assign _T_978 = _T_975 & _T_954; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203577.6]
  assign _GEN_4 = {{1'd0}, _T_978}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203578.6]
  assign _T_979 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203578.6]
  assign _T_980 = _T_979[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203579.6]
  assign _T_981 = _T_978 | _T_980; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203580.6]
  assign _T_1005 = _T_994 | _T_995; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203598.4]
  assign _T_1007 = _T_994 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203600.4]
  assign _T_1010 = _T_995 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203603.4]
  assign _T_1011 = _T_1007 | _T_1010; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203604.4]
  assign _T_1014 = _T_1011 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203607.4]
  assign _T_1015 = _T_1014 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203608.4]
  assign _T_1016 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203613.4]
  assign _T_1017 = _T_1016 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203614.4]
  assign _T_1019 = _T_1017 | _T_1005; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203616.4]
  assign _T_1021 = _T_1019 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203618.4]
  assign _T_1022 = _T_1021 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203619.4]
  assign _T_1023 = _T_994 ? beatsDO_0 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@203624.4]
  assign _T_1024 = _T_995 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@203625.4]
  assign _T_1025 = _T_1023 | _T_1024; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@203626.4]
  assign _T_1078 = _T_1047_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203646.4]
  assign _T_1079 = _T_1047_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203647.4]
  assign _T_1080 = _T_1078 | _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@203648.4]
  assign in_0_d_valid = _T_952 ? _T_1016 : _T_1080; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203651.4]
  assign _T_1026 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203627.4]
  assign _GEN_5 = {{3'd0}, _T_1026}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203628.4]
  assign _T_1027 = _T_951 - _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203628.4]
  assign _T_1028 = $unsigned(_T_1027); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203629.4]
  assign _T_1029 = _T_1028[3:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203630.4]
  assign _T_1066_0 = _T_952 ? _T_984 : _T_1047_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203640.4]
  assign _T_1066_1 = _T_952 ? _T_985 : _T_1047_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203640.4]
  assign auto_in_a_ready = _T_795 | _T_796; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_valid = _T_952 ? _T_1016 : _T_1080; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_opcode = _T_1101[43:41]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_param = _T_1101[40:39]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_size = _T_1101[38:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_source = _T_1101[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_sink = _T_1101[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_denied = _T_1101[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_data = _T_1101[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_in_d_bits_corrupt = _T_1101[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203325.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_1066_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203324.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address[27:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_1066_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203323.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@203556.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@203557.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@203610.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@203611.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@203621.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@203622.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module IntXbar_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203691.2]
  input   auto_int_in_2_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  input   auto_int_in_1_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  input   auto_int_in_1_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  input   auto_int_in_0_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
  output  auto_int_out_3 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203694.4]
);
  assign auto_int_out_0 = auto_int_in_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
  assign auto_int_out_1 = auto_int_in_1_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
  assign auto_int_out_2 = auto_int_in_1_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
  assign auto_int_out_3 = auto_int_in_2_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
endmodule
module Arbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203716.2]
  input         io_in_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [31:0] io_in_0_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input         io_in_2_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [31:0] io_in_2_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input         io_in_3_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [31:0] io_in_3_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  output        io_in_4_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input         io_in_4_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [31:0] io_in_4_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  output        io_in_5_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input         io_in_5_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [31:0] io_in_5_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [7:0]  io_in_5_bits_idx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  output        io_in_7_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input         io_in_7_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input  [31:0] io_in_7_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  input         io_out_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  output        io_out_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
  output [31:0] io_out_bits_addr // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203719.4]
);
  wire [31:0] _GEN_16; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203743.4]
  wire [31:0] _GEN_22; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203751.4]
  wire  _GEN_23; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203751.4]
  wire [31:0] _GEN_28; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203759.4]
  wire  _GEN_29; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203759.4]
  wire  _T_210; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203784.4]
  wire  _T_211; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203785.4]
  wire  _T_212; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203786.4]
  wire  _T_218; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@203792.4]
  wire  _T_219; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@203793.4]
  wire  _T_230; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203812.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@203743.4]
  assign _GEN_22 = io_in_3_valid ? io_in_3_bits_addr : _GEN_16; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203751.4]
  assign _GEN_23 = io_in_3_valid ? 1'h1 : io_in_4_valid; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203751.4]
  assign _GEN_28 = io_in_2_valid ? io_in_2_bits_addr : _GEN_22; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203759.4]
  assign _GEN_29 = io_in_2_valid ? 1'h1 : _GEN_23; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203759.4]
  assign _T_210 = io_in_0_valid | io_in_2_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203784.4]
  assign _T_211 = _T_210 | io_in_3_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203785.4]
  assign _T_212 = _T_211 | io_in_4_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203786.4]
  assign _T_218 = _T_211 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@203792.4]
  assign _T_219 = _T_212 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@203793.4]
  assign _T_230 = _T_219 == 1'h0; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203812.4]
  assign io_in_4_ready = _T_218 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.4]
  assign io_in_5_ready = _T_219 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203807.4]
  assign io_in_7_ready = _T_219 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203811.4]
  assign io_out_valid = _T_230 | io_in_7_valid; // @[Arbiter.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203814.4]
  assign io_out_bits_write = io_in_0_valid ? 1'h1 : _GEN_29; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203726.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203733.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203741.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203749.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203757.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203765.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203773.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203781.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@203725.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203732.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203740.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203748.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203756.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203764.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203772.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203780.6]
endmodule
module DCacheDataArray( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203816.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203817.4]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203819.4]
  input  [13:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203819.4]
  input         io_req_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203819.4]
  input  [31:0] io_req_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203819.4]
  input  [3:0]  io_req_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203819.4]
  output [31:0] io_resp_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203819.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@203830.4]
  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_wdata_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_wdata_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_rdata_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire [7:0] data_arrays_0_RW0_rdata_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  data_arrays_0_RW0_wmask_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  data_arrays_0_RW0_wmask_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.4]
  wire  _T_27; // @[DCache.scala 57:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203834.4]
  wire  _T_54; // @[DCache.scala 61:42:shc.marmotcaravel.MarmotCaravelConfig.fir@203860.4]
  wire  _T_55; // @[DCache.scala 61:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203861.4]
  wire [15:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203871.4]
  wire [15:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203872.4]
  data_arrays_0 data_arrays_0 ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@203830.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@203834.4]
  assign _T_54 = io_req_bits_write == 1'h0; // @[DCache.scala 61:42:shc.marmotcaravel.MarmotCaravelConfig.fir@203860.4]
  assign _T_55 = io_req_valid & _T_54; // @[DCache.scala 61:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203861.4]
  assign _T_72 = {data_arrays_0_RW0_rdata_1,data_arrays_0_RW0_rdata_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203871.4]
  assign _T_73 = {data_arrays_0_RW0_rdata_3,data_arrays_0_RW0_rdata_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203872.4]
  assign io_resp_0 = {_T_73,_T_72}; // @[DCache.scala 64:69:shc.marmotcaravel.MarmotCaravelConfig.fir@203874.4]
  assign data_arrays_0_RW0_wdata_0 = io_req_bits_wdata[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203848.8]
  assign data_arrays_0_RW0_wdata_1 = io_req_bits_wdata[15:8]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.8]
  assign data_arrays_0_RW0_wdata_2 = io_req_bits_wdata[23:16]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203854.8]
  assign data_arrays_0_RW0_wdata_3 = io_req_bits_wdata[31:24]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203857.8]
  assign data_arrays_0_RW0_wmask_0 = io_req_bits_eccMask[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@203848.8]
  assign data_arrays_0_RW0_wmask_1 = io_req_bits_eccMask[1]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@203851.8]
  assign data_arrays_0_RW0_wmask_2 = io_req_bits_eccMask[2]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@203854.8]
  assign data_arrays_0_RW0_wmask_3 = io_req_bits_eccMask[3]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@203857.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@203876.2]
  input         io_in_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [13:0] io_in_0_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input         io_in_0_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [31:0] io_in_0_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [3:0]  io_in_0_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output        io_in_1_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input         io_in_1_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [13:0] io_in_1_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input         io_in_1_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [31:0] io_in_1_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [3:0]  io_in_1_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output        io_in_2_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input         io_in_2_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [13:0] io_in_2_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [31:0] io_in_2_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [3:0]  io_in_2_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output        io_in_3_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input         io_in_3_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [13:0] io_in_3_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [31:0] io_in_3_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  input  [3:0]  io_in_3_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output [13:0] io_out_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output        io_out_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output [31:0] io_out_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
  output [3:0]  io_out_bits_eccMask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203879.4]
);
  wire [3:0] _GEN_2; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203889.4]
  wire [31:0] _GEN_5; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203889.4]
  wire [13:0] _GEN_7; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203889.4]
  wire [3:0] _GEN_10; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  wire [31:0] _GEN_13; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  wire  _GEN_14; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  wire [13:0] _GEN_15; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  wire  _T_94; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203919.4]
  wire  _T_95; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203920.4]
  wire  _T_98; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@203923.4]
  wire  _T_103; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203932.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@203889.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@203889.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@203889.4]
  assign _GEN_10 = io_in_1_valid ? io_in_1_bits_eccMask : _GEN_2; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  assign _GEN_13 = io_in_1_valid ? io_in_1_bits_wdata : _GEN_5; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  assign _GEN_14 = io_in_1_valid ? io_in_1_bits_write : 1'h0; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  assign _GEN_15 = io_in_1_valid ? io_in_1_bits_addr : _GEN_7; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203899.4]
  assign _T_94 = io_in_0_valid | io_in_1_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203919.4]
  assign _T_95 = _T_94 | io_in_2_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@203920.4]
  assign _T_98 = _T_95 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@203923.4]
  assign _T_103 = _T_98 == 1'h0; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203932.4]
  assign io_in_1_ready = io_in_0_valid == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203927.4]
  assign io_in_2_ready = _T_94 == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203929.4]
  assign io_in_3_ready = _T_95 == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203931.4]
  assign io_out_valid = _T_103 | io_in_3_valid; // @[Arbiter.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203934.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@203888.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203897.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203907.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203917.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@203887.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203896.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203906.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203916.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@203886.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203895.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203905.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203915.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@203883.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203892.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203902.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203912.6]
endmodule
module PMPChecker( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203936.2]
  input         io_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [1:0]  io_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input         io_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [29:0] io_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  input  [31:0] io_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  output        io_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  output        io_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
  output        io_x // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@203939.4]
);
  wire  _T_37; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@203972.4]
  wire [31:0] _GEN_0; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203973.4]
  wire [31:0] _T_38; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203973.4]
  wire [31:0] _T_39; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203974.4]
  wire [31:0] _T_40; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203975.4]
  wire [31:0] _T_41; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203976.4]
  wire [31:0] _T_42; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203977.4]
  wire [31:0] _T_43; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@203978.4]
  wire [31:0] _T_44; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203979.4]
  wire  _T_45; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203980.4]
  wire  _T_46; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203981.4]
  wire [31:0] _GEN_1; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203986.4]
  wire [31:0] _T_51; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203986.4]
  wire [31:0] _T_52; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203987.4]
  wire [31:0] _T_53; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203988.4]
  wire [31:0] _T_54; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203989.4]
  wire  _T_55; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203990.4]
  wire  _T_56; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@203991.4]
  wire  _T_61; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203996.4]
  wire  _T_62; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203997.4]
  wire  _T_63; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@203998.4]
  wire  _T_64; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@203999.4]
  wire  _T_65; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204000.4]
  wire  _T_70; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204006.4]
  wire  _T_72; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204009.4]
  wire  _T_74; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204012.4]
  wire  _T_75_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  wire  _T_75_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  wire  _T_75_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  wire  _T_76; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204015.4]
  wire [31:0] _T_81; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204020.4]
  wire [31:0] _T_82; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204021.4]
  wire [31:0] _T_83; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204022.4]
  wire  _T_84; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204023.4]
  wire  _T_85; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204024.4]
  wire [31:0] _GEN_4; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204029.4]
  wire [31:0] _T_90; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204029.4]
  wire [31:0] _T_91; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204030.4]
  wire [31:0] _T_92; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204031.4]
  wire [31:0] _T_93; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204032.4]
  wire  _T_94; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204033.4]
  wire  _T_95; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204034.4]
  wire  _T_101; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204040.4]
  wire  _T_102; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204041.4]
  wire  _T_103; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204042.4]
  wire  _T_104; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204043.4]
  wire  _T_109; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204049.4]
  wire  _T_111; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204052.4]
  wire  _T_113; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204055.4]
  wire  _T_114_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204057.4]
  wire  _T_114_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204057.4]
  wire  _T_114_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204057.4]
  wire  _T_115; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204058.4]
  wire [31:0] _T_120; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204063.4]
  wire [31:0] _T_121; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204064.4]
  wire [31:0] _T_122; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204065.4]
  wire  _T_123; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4]
  wire  _T_124; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204067.4]
  wire [31:0] _GEN_7; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204072.4]
  wire [31:0] _T_129; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204072.4]
  wire [31:0] _T_130; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204073.4]
  wire [31:0] _T_131; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204074.4]
  wire [31:0] _T_132; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204075.4]
  wire  _T_133; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204076.4]
  wire  _T_134; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204077.4]
  wire  _T_140; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204083.4]
  wire  _T_141; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204084.4]
  wire  _T_142; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204085.4]
  wire  _T_143; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204086.4]
  wire  _T_148; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204092.4]
  wire  _T_150; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204095.4]
  wire  _T_152; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204098.4]
  wire  _T_153_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204100.4]
  wire  _T_153_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204100.4]
  wire  _T_153_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204100.4]
  wire  _T_154; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204101.4]
  wire [31:0] _T_159; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204106.4]
  wire [31:0] _T_160; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204107.4]
  wire [31:0] _T_161; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204108.4]
  wire  _T_162; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204109.4]
  wire  _T_163; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204110.4]
  wire [31:0] _GEN_10; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204115.4]
  wire [31:0] _T_168; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204115.4]
  wire [31:0] _T_169; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204116.4]
  wire [31:0] _T_170; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204117.4]
  wire [31:0] _T_171; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204118.4]
  wire  _T_172; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204119.4]
  wire  _T_173; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204120.4]
  wire  _T_179; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204126.4]
  wire  _T_180; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204127.4]
  wire  _T_181; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204128.4]
  wire  _T_182; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204129.4]
  wire  _T_187; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204135.4]
  wire  _T_189; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204138.4]
  wire  _T_191; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204141.4]
  wire  _T_192_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204143.4]
  wire  _T_192_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204143.4]
  wire  _T_192_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204143.4]
  wire  _T_193; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204144.4]
  wire [31:0] _T_198; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204149.4]
  wire [31:0] _T_199; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204150.4]
  wire [31:0] _T_200; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204151.4]
  wire  _T_201; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204152.4]
  wire  _T_202; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204153.4]
  wire [31:0] _GEN_13; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204158.4]
  wire [31:0] _T_207; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204158.4]
  wire [31:0] _T_208; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204159.4]
  wire [31:0] _T_209; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204160.4]
  wire [31:0] _T_210; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204161.4]
  wire  _T_211; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204162.4]
  wire  _T_212; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204163.4]
  wire  _T_218; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4]
  wire  _T_219; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204170.4]
  wire  _T_220; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204171.4]
  wire  _T_221; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204172.4]
  wire  _T_226; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204178.4]
  wire  _T_228; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204181.4]
  wire  _T_230; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204184.4]
  wire  _T_231_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204186.4]
  wire  _T_231_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204186.4]
  wire  _T_231_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204186.4]
  wire  _T_232; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204187.4]
  wire [31:0] _T_237; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204192.4]
  wire [31:0] _T_238; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204193.4]
  wire [31:0] _T_239; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204194.4]
  wire  _T_240; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204195.4]
  wire  _T_241; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204196.4]
  wire [31:0] _GEN_16; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
  wire [31:0] _T_246; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
  wire [31:0] _T_247; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204202.4]
  wire [31:0] _T_248; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204203.4]
  wire [31:0] _T_249; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204204.4]
  wire  _T_250; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204205.4]
  wire  _T_251; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204206.4]
  wire  _T_257; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204212.4]
  wire  _T_258; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204213.4]
  wire  _T_259; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204214.4]
  wire  _T_260; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204215.4]
  wire  _T_265; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204221.4]
  wire  _T_267; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204224.4]
  wire  _T_269; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204227.4]
  wire  _T_270_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.4]
  wire  _T_270_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.4]
  wire  _T_270_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.4]
  wire  _T_271; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204230.4]
  wire [31:0] _T_276; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204235.4]
  wire [31:0] _T_277; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204236.4]
  wire [31:0] _T_278; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204237.4]
  wire  _T_279; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204238.4]
  wire  _T_280; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204239.4]
  wire [31:0] _GEN_19; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
  wire [31:0] _T_285; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
  wire [31:0] _T_286; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204245.4]
  wire [31:0] _T_287; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204246.4]
  wire [31:0] _T_288; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204247.4]
  wire  _T_289; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204248.4]
  wire  _T_290; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204249.4]
  wire  _T_296; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204255.4]
  wire  _T_297; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204256.4]
  wire  _T_298; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204257.4]
  wire  _T_299; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204258.4]
  wire  _T_304; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204264.4]
  wire  _T_306; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204267.4]
  wire  _T_308; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204270.4]
  wire  _T_309_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  wire  _T_309_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  wire  _T_309_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  wire  _T_310; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204273.4]
  wire [31:0] _T_315; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204278.4]
  wire [31:0] _T_316; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204279.4]
  wire [31:0] _T_317; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204280.4]
  wire  _T_318; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204281.4]
  wire  _T_319; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204282.4]
  wire  _T_336; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204299.4]
  wire  _T_337; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204300.4]
  wire  _T_338; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204301.4]
  wire  _T_343; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204307.4]
  wire  _T_345; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204310.4]
  wire  _T_347; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204313.4]
  assign _T_37 = io_pmp_7_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@203972.4]
  assign _GEN_0 = {{2'd0}, io_pmp_7_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203973.4]
  assign _T_38 = _GEN_0 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203973.4]
  assign _T_39 = ~ _T_38; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203974.4]
  assign _T_40 = _T_39 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203975.4]
  assign _T_41 = ~ _T_40; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203976.4]
  assign _T_42 = io_addr ^ _T_41; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203977.4]
  assign _T_43 = ~ io_pmp_7_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@203978.4]
  assign _T_44 = _T_42 & _T_43; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203979.4]
  assign _T_45 = _T_44 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203980.4]
  assign _T_46 = io_pmp_7_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203981.4]
  assign _GEN_1 = {{2'd0}, io_pmp_6_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203986.4]
  assign _T_51 = _GEN_1 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203986.4]
  assign _T_52 = ~ _T_51; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203987.4]
  assign _T_53 = _T_52 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203988.4]
  assign _T_54 = ~ _T_53; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203989.4]
  assign _T_55 = io_addr < _T_54; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203990.4]
  assign _T_56 = _T_55 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@203991.4]
  assign _T_61 = io_addr < _T_41; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203996.4]
  assign _T_62 = _T_56 & _T_61; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@203997.4]
  assign _T_63 = _T_46 & _T_62; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@203998.4]
  assign _T_64 = _T_37 ? _T_45 : _T_63; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@203999.4]
  assign _T_65 = io_pmp_7_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204000.4]
  assign _T_70 = io_pmp_7_cfg_r | _T_65; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204006.4]
  assign _T_72 = io_pmp_7_cfg_w | _T_65; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204009.4]
  assign _T_74 = io_pmp_7_cfg_x | _T_65; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204012.4]
  assign _T_75_cfg_x = _T_64 ? _T_74 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  assign _T_75_cfg_w = _T_64 ? _T_72 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  assign _T_75_cfg_r = _T_64 ? _T_70 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  assign _T_76 = io_pmp_6_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204015.4]
  assign _T_81 = io_addr ^ _T_54; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204020.4]
  assign _T_82 = ~ io_pmp_6_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204021.4]
  assign _T_83 = _T_81 & _T_82; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204022.4]
  assign _T_84 = _T_83 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204023.4]
  assign _T_85 = io_pmp_6_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204024.4]
  assign _GEN_4 = {{2'd0}, io_pmp_5_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204029.4]
  assign _T_90 = _GEN_4 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204029.4]
  assign _T_91 = ~ _T_90; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204030.4]
  assign _T_92 = _T_91 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204031.4]
  assign _T_93 = ~ _T_92; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204032.4]
  assign _T_94 = io_addr < _T_93; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204033.4]
  assign _T_95 = _T_94 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204034.4]
  assign _T_101 = _T_95 & _T_55; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204040.4]
  assign _T_102 = _T_85 & _T_101; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204041.4]
  assign _T_103 = _T_76 ? _T_84 : _T_102; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204042.4]
  assign _T_104 = io_pmp_6_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204043.4]
  assign _T_109 = io_pmp_6_cfg_r | _T_104; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204049.4]
  assign _T_111 = io_pmp_6_cfg_w | _T_104; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204052.4]
  assign _T_113 = io_pmp_6_cfg_x | _T_104; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204055.4]
  assign _T_114_cfg_x = _T_103 ? _T_113 : _T_75_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204057.4]
  assign _T_114_cfg_w = _T_103 ? _T_111 : _T_75_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204057.4]
  assign _T_114_cfg_r = _T_103 ? _T_109 : _T_75_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204057.4]
  assign _T_115 = io_pmp_5_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204058.4]
  assign _T_120 = io_addr ^ _T_93; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204063.4]
  assign _T_121 = ~ io_pmp_5_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204064.4]
  assign _T_122 = _T_120 & _T_121; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204065.4]
  assign _T_123 = _T_122 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4]
  assign _T_124 = io_pmp_5_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204067.4]
  assign _GEN_7 = {{2'd0}, io_pmp_4_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204072.4]
  assign _T_129 = _GEN_7 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204072.4]
  assign _T_130 = ~ _T_129; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204073.4]
  assign _T_131 = _T_130 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204074.4]
  assign _T_132 = ~ _T_131; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204075.4]
  assign _T_133 = io_addr < _T_132; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204076.4]
  assign _T_134 = _T_133 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204077.4]
  assign _T_140 = _T_134 & _T_94; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204083.4]
  assign _T_141 = _T_124 & _T_140; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204084.4]
  assign _T_142 = _T_115 ? _T_123 : _T_141; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204085.4]
  assign _T_143 = io_pmp_5_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204086.4]
  assign _T_148 = io_pmp_5_cfg_r | _T_143; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204092.4]
  assign _T_150 = io_pmp_5_cfg_w | _T_143; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204095.4]
  assign _T_152 = io_pmp_5_cfg_x | _T_143; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204098.4]
  assign _T_153_cfg_x = _T_142 ? _T_152 : _T_114_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204100.4]
  assign _T_153_cfg_w = _T_142 ? _T_150 : _T_114_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204100.4]
  assign _T_153_cfg_r = _T_142 ? _T_148 : _T_114_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204100.4]
  assign _T_154 = io_pmp_4_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204101.4]
  assign _T_159 = io_addr ^ _T_132; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204106.4]
  assign _T_160 = ~ io_pmp_4_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204107.4]
  assign _T_161 = _T_159 & _T_160; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204108.4]
  assign _T_162 = _T_161 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204109.4]
  assign _T_163 = io_pmp_4_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204110.4]
  assign _GEN_10 = {{2'd0}, io_pmp_3_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204115.4]
  assign _T_168 = _GEN_10 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204115.4]
  assign _T_169 = ~ _T_168; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204116.4]
  assign _T_170 = _T_169 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204117.4]
  assign _T_171 = ~ _T_170; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204118.4]
  assign _T_172 = io_addr < _T_171; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204119.4]
  assign _T_173 = _T_172 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204120.4]
  assign _T_179 = _T_173 & _T_133; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204126.4]
  assign _T_180 = _T_163 & _T_179; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204127.4]
  assign _T_181 = _T_154 ? _T_162 : _T_180; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204128.4]
  assign _T_182 = io_pmp_4_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204129.4]
  assign _T_187 = io_pmp_4_cfg_r | _T_182; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204135.4]
  assign _T_189 = io_pmp_4_cfg_w | _T_182; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204138.4]
  assign _T_191 = io_pmp_4_cfg_x | _T_182; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204141.4]
  assign _T_192_cfg_x = _T_181 ? _T_191 : _T_153_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204143.4]
  assign _T_192_cfg_w = _T_181 ? _T_189 : _T_153_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204143.4]
  assign _T_192_cfg_r = _T_181 ? _T_187 : _T_153_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204143.4]
  assign _T_193 = io_pmp_3_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204144.4]
  assign _T_198 = io_addr ^ _T_171; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204149.4]
  assign _T_199 = ~ io_pmp_3_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204150.4]
  assign _T_200 = _T_198 & _T_199; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204151.4]
  assign _T_201 = _T_200 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204152.4]
  assign _T_202 = io_pmp_3_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204153.4]
  assign _GEN_13 = {{2'd0}, io_pmp_2_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204158.4]
  assign _T_207 = _GEN_13 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204158.4]
  assign _T_208 = ~ _T_207; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204159.4]
  assign _T_209 = _T_208 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204160.4]
  assign _T_210 = ~ _T_209; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204161.4]
  assign _T_211 = io_addr < _T_210; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204162.4]
  assign _T_212 = _T_211 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204163.4]
  assign _T_218 = _T_212 & _T_172; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4]
  assign _T_219 = _T_202 & _T_218; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204170.4]
  assign _T_220 = _T_193 ? _T_201 : _T_219; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204171.4]
  assign _T_221 = io_pmp_3_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204172.4]
  assign _T_226 = io_pmp_3_cfg_r | _T_221; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204178.4]
  assign _T_228 = io_pmp_3_cfg_w | _T_221; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204181.4]
  assign _T_230 = io_pmp_3_cfg_x | _T_221; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204184.4]
  assign _T_231_cfg_x = _T_220 ? _T_230 : _T_192_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204186.4]
  assign _T_231_cfg_w = _T_220 ? _T_228 : _T_192_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204186.4]
  assign _T_231_cfg_r = _T_220 ? _T_226 : _T_192_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204186.4]
  assign _T_232 = io_pmp_2_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204187.4]
  assign _T_237 = io_addr ^ _T_210; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204192.4]
  assign _T_238 = ~ io_pmp_2_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204193.4]
  assign _T_239 = _T_237 & _T_238; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204194.4]
  assign _T_240 = _T_239 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204195.4]
  assign _T_241 = io_pmp_2_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204196.4]
  assign _GEN_16 = {{2'd0}, io_pmp_1_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
  assign _T_246 = _GEN_16 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
  assign _T_247 = ~ _T_246; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204202.4]
  assign _T_248 = _T_247 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204203.4]
  assign _T_249 = ~ _T_248; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204204.4]
  assign _T_250 = io_addr < _T_249; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204205.4]
  assign _T_251 = _T_250 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204206.4]
  assign _T_257 = _T_251 & _T_211; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204212.4]
  assign _T_258 = _T_241 & _T_257; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204213.4]
  assign _T_259 = _T_232 ? _T_240 : _T_258; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204214.4]
  assign _T_260 = io_pmp_2_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204215.4]
  assign _T_265 = io_pmp_2_cfg_r | _T_260; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204221.4]
  assign _T_267 = io_pmp_2_cfg_w | _T_260; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204224.4]
  assign _T_269 = io_pmp_2_cfg_x | _T_260; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204227.4]
  assign _T_270_cfg_x = _T_259 ? _T_269 : _T_231_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.4]
  assign _T_270_cfg_w = _T_259 ? _T_267 : _T_231_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.4]
  assign _T_270_cfg_r = _T_259 ? _T_265 : _T_231_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.4]
  assign _T_271 = io_pmp_1_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204230.4]
  assign _T_276 = io_addr ^ _T_249; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204235.4]
  assign _T_277 = ~ io_pmp_1_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204236.4]
  assign _T_278 = _T_276 & _T_277; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204237.4]
  assign _T_279 = _T_278 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204238.4]
  assign _T_280 = io_pmp_1_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204239.4]
  assign _GEN_19 = {{2'd0}, io_pmp_0_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
  assign _T_285 = _GEN_19 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
  assign _T_286 = ~ _T_285; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204245.4]
  assign _T_287 = _T_286 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204246.4]
  assign _T_288 = ~ _T_287; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204247.4]
  assign _T_289 = io_addr < _T_288; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204248.4]
  assign _T_290 = _T_289 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@204249.4]
  assign _T_296 = _T_290 & _T_250; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204255.4]
  assign _T_297 = _T_280 & _T_296; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204256.4]
  assign _T_298 = _T_271 ? _T_279 : _T_297; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204257.4]
  assign _T_299 = io_pmp_1_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204258.4]
  assign _T_304 = io_pmp_1_cfg_r | _T_299; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204264.4]
  assign _T_306 = io_pmp_1_cfg_w | _T_299; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204267.4]
  assign _T_308 = io_pmp_1_cfg_x | _T_299; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204270.4]
  assign _T_309_cfg_x = _T_298 ? _T_308 : _T_270_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  assign _T_309_cfg_w = _T_298 ? _T_306 : _T_270_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  assign _T_309_cfg_r = _T_298 ? _T_304 : _T_270_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  assign _T_310 = io_pmp_0_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204273.4]
  assign _T_315 = io_addr ^ _T_288; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204278.4]
  assign _T_316 = ~ io_pmp_0_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204279.4]
  assign _T_317 = _T_315 & _T_316; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204280.4]
  assign _T_318 = _T_317 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204281.4]
  assign _T_319 = io_pmp_0_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204282.4]
  assign _T_336 = _T_319 & _T_289; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@204299.4]
  assign _T_337 = _T_310 ? _T_318 : _T_336; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204300.4]
  assign _T_338 = io_pmp_0_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204301.4]
  assign _T_343 = io_pmp_0_cfg_r | _T_338; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204307.4]
  assign _T_345 = io_pmp_0_cfg_w | _T_338; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204310.4]
  assign _T_347 = io_pmp_0_cfg_x | _T_338; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204313.4]
  assign io_r = _T_337 ? _T_343 : _T_309_cfg_r; // @[PMP.scala 166:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204316.4]
  assign io_w = _T_337 ? _T_345 : _T_309_cfg_w; // @[PMP.scala 167:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204317.4]
  assign io_x = _T_337 ? _T_347 : _T_309_cfg_x; // @[PMP.scala 168:8:shc.marmotcaravel.MarmotCaravelConfig.fir@204318.4]
endmodule
module TLB( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204320.2]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_req_bits_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_req_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [4:0]  io_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output [31:0] io_resp_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output        io_resp_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output        io_resp_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output        io_resp_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output        io_resp_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output        io_resp_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  output        io_resp_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
  input  [31:0] io_ptw_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204323.4]
);
  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_0_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_0_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_1_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_1_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_2_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_2_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_3_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_3_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_4_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_4_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_5_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_5_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_6_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_6_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [29:0] pmp_io_pmp_7_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_pmp_7_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [31:0] pmp_io_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire  pmp_io_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.4]
  wire [19:0] vpn; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204344.4]
  wire [19:0] mpu_ppn; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@204386.4]
  wire [11:0] _T_223; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204389.4]
  wire [31:0] mpu_physaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204390.4]
  wire [31:0] _T_227; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204409.4]
  wire [32:0] _T_228; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204410.4]
  wire [32:0] _T_229; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204411.4]
  wire [32:0] _T_230; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204412.4]
  wire  _T_231; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204413.4]
  wire [31:0] _T_232; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204414.4]
  wire [32:0] _T_233; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204415.4]
  wire [32:0] _T_234; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204416.4]
  wire [32:0] _T_235; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204417.4]
  wire  _T_236; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204418.4]
  wire [31:0] _T_237; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204419.4]
  wire [32:0] _T_238; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204420.4]
  wire [32:0] _T_239; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204421.4]
  wire [32:0] _T_240; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204422.4]
  wire  _T_241; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204423.4]
  wire [31:0] _T_242; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204424.4]
  wire [32:0] _T_243; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204425.4]
  wire [32:0] _T_244; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204426.4]
  wire [32:0] _T_245; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204427.4]
  wire  _T_246; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204428.4]
  wire [31:0] _T_247; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204429.4]
  wire [32:0] _T_248; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204430.4]
  wire [32:0] _T_249; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204431.4]
  wire [32:0] _T_250; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204432.4]
  wire  _T_251; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204433.4]
  wire [31:0] _T_252; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204434.4]
  wire [32:0] _T_253; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204435.4]
  wire [32:0] _T_254; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204436.4]
  wire [32:0] _T_255; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204437.4]
  wire  _T_256; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204438.4]
  wire [31:0] _T_257; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204439.4]
  wire [32:0] _T_258; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204440.4]
  wire [32:0] _T_259; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204441.4]
  wire [32:0] _T_260; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204442.4]
  wire  _T_261; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204443.4]
  wire [31:0] _T_262; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204444.4]
  wire [32:0] _T_263; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204445.4]
  wire [32:0] _T_264; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204446.4]
  wire [32:0] _T_265; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204447.4]
  wire  _T_266; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204448.4]
  wire [31:0] _T_267; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204449.4]
  wire [32:0] _T_268; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204450.4]
  wire [32:0] _T_269; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204451.4]
  wire [32:0] _T_270; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204452.4]
  wire  _T_271; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204453.4]
  wire [31:0] _T_272; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204454.4]
  wire [32:0] _T_273; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204455.4]
  wire [32:0] _T_274; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204456.4]
  wire [32:0] _T_275; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204457.4]
  wire  _T_276; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204458.4]
  wire [31:0] _T_277; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204459.4]
  wire [32:0] _T_278; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204460.4]
  wire [32:0] _T_279; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204461.4]
  wire [32:0] _T_280; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204462.4]
  wire  _T_281; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204463.4]
  wire [31:0] _T_282; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204464.4]
  wire [32:0] _T_283; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204465.4]
  wire [32:0] _T_284; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204466.4]
  wire [32:0] _T_285; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204467.4]
  wire  _T_286; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204468.4]
  wire [31:0] _T_287; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204469.4]
  wire [32:0] _T_288; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204470.4]
  wire [32:0] _T_289; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204471.4]
  wire [32:0] _T_290; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204472.4]
  wire  _T_291; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204473.4]
  wire [31:0] _T_292; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204474.4]
  wire [32:0] _T_293; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204475.4]
  wire [32:0] _T_294; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204476.4]
  wire [32:0] _T_295; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204477.4]
  wire  _T_296; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204478.4]
  wire [31:0] _T_297; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204479.4]
  wire [32:0] _T_298; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204480.4]
  wire [32:0] _T_299; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204481.4]
  wire [32:0] _T_300; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204482.4]
  wire  _T_301; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204483.4]
  wire [31:0] _T_302; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204484.4]
  wire [32:0] _T_303; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204485.4]
  wire [32:0] _T_304; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  wire [32:0] _T_305; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  wire  _T_306; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204488.4]
  wire [32:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204490.4]
  wire [32:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204491.4]
  wire [32:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204492.4]
  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204493.4]
  wire [31:0] _T_312; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204494.4]
  wire [32:0] _T_313; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204495.4]
  wire [32:0] _T_314; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204496.4]
  wire [32:0] _T_315; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
  wire  _T_316; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  wire [31:0] _T_317; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204499.4]
  wire [32:0] _T_318; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204500.4]
  wire [32:0] _T_319; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204501.4]
  wire [32:0] _T_320; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204502.4]
  wire  _T_321; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204503.4]
  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204504.4]
  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204505.4]
  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204506.4]
  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204507.4]
  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204508.4]
  wire [31:0] _T_327; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204509.4]
  wire [32:0] _T_328; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204510.4]
  wire [32:0] _T_329; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204511.4]
  wire [32:0] _T_330; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204512.4]
  wire  _T_331; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204513.4]
  wire  _T_359; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204537.4]
  wire  _T_360; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204538.4]
  wire  _T_361; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204539.4]
  wire  _T_362; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204540.4]
  wire  _T_363; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204541.4]
  wire  _T_364; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204542.4]
  wire  _T_365; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204543.4]
  wire  _T_366; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204544.4]
  wire  _T_367; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204545.4]
  wire  _T_368; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204546.4]
  wire  _T_369; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204547.4]
  wire  _T_370; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204548.4]
  wire  _T_371; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204549.4]
  wire  _T_372; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204550.4]
  wire  _T_373; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204551.4]
  wire  _T_374; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204552.4]
  wire  _T_375; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204553.4]
  wire  _T_376; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204554.4]
  wire  _T_377; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204555.4]
  wire  legal_address; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204556.4]
  wire  prot_r; // @[TLB.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204724.4]
  wire [32:0] _T_556; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204738.4]
  wire [32:0] _T_557; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204739.4]
  wire  _T_558; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204740.4]
  wire [31:0] _T_559; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204741.4]
  wire [32:0] _T_560; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204742.4]
  wire [32:0] _T_561; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204743.4]
  wire [32:0] _T_562; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204744.4]
  wire  _T_563; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204745.4]
  wire [32:0] _T_566; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204748.4]
  wire [32:0] _T_567; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204749.4]
  wire  _T_568; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204750.4]
  wire [31:0] _T_569; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204751.4]
  wire [32:0] _T_570; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204752.4]
  wire [32:0] _T_571; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204753.4]
  wire [32:0] _T_572; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204754.4]
  wire  _T_573; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204755.4]
  wire [32:0] _T_576; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204758.4]
  wire [32:0] _T_577; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204759.4]
  wire  _T_578; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204760.4]
  wire  _T_579; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204761.4]
  wire  _T_580; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204762.4]
  wire  _T_581; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204763.4]
  wire  _T_582; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204764.4]
  wire  _T_589; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204770.4]
  wire  prot_w; // @[TLB.scala 197:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204771.4]
  wire [32:0] _T_770; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204952.4]
  wire [32:0] _T_771; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204953.4]
  wire  _T_772; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204954.4]
  wire [31:0] _T_773; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204955.4]
  wire [32:0] _T_774; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204956.4]
  wire [32:0] _T_775; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204957.4]
  wire [32:0] _T_776; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204958.4]
  wire  _T_777; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204959.4]
  wire [32:0] _T_780; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204962.4]
  wire [32:0] _T_781; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204963.4]
  wire  _T_782; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204964.4]
  wire [32:0] _T_785; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204967.4]
  wire [32:0] _T_786; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204968.4]
  wire  _T_787; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204969.4]
  wire [32:0] _T_790; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204972.4]
  wire [32:0] _T_791; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204973.4]
  wire  _T_792; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204974.4]
  wire  _T_793; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204975.4]
  wire  _T_794; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204976.4]
  wire  _T_795; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204977.4]
  wire  _T_796; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204978.4]
  wire  prot_eff; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204984.4]
  wire [1:0] _T_1376; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205907.4]
  wire [6:0] pr_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205912.4]
  wire [1:0] _T_1383; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205915.4]
  wire [6:0] pw_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205920.4]
  wire [1:0] _T_1397; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205931.4]
  wire [6:0] paa_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205936.4]
  wire [1:0] _T_1409; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205945.4]
  wire [6:0] eff_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  wire [3:0] _T_1426; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@205965.4]
  wire [4:0] _T_1427; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@205966.4]
  wire [4:0] _T_1428; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@205967.4]
  wire [3:0] _T_1429; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@205968.4]
  wire [31:0] _GEN_144; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
  wire [31:0] _T_1430; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
  wire  misaligned; // @[TLB.scala 263:75:shc.marmotcaravel.MarmotCaravelConfig.fir@205970.4]
  wire [6:0] _T_1431; // @[TLB.scala 270:8:shc.marmotcaravel.MarmotCaravelConfig.fir@205973.4]
  wire  _T_1432; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205974.4]
  wire  _T_1433; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205975.4]
  wire  _T_1434; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205976.4]
  wire [6:0] _T_1437; // @[TLB.scala 271:8:shc.marmotcaravel.MarmotCaravelConfig.fir@205979.4]
  wire [6:0] ae_array; // @[TLB.scala 270:37:shc.marmotcaravel.MarmotCaravelConfig.fir@205980.4]
  wire  _T_1438; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205981.4]
  wire  _T_1440; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@205983.4]
  wire  _T_1442; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205985.4]
  wire  _T_1443; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205986.4]
  wire  _T_1444; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205987.4]
  wire  _T_1445; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205988.4]
  wire  _T_1446; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205989.4]
  wire  _T_1447; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205990.4]
  wire  _T_1448; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205991.4]
  wire  _T_1449; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205992.4]
  wire  _T_1450; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205993.4]
  wire  _T_1451; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205994.4]
  wire  _T_1452; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205995.4]
  wire  _T_1453; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205996.4]
  wire  _T_1454; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205997.4]
  wire  _T_1455; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205998.4]
  wire  _T_1456; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205999.4]
  wire  _T_1457; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206000.4]
  wire  _T_1458; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206001.4]
  wire  _T_1459; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206002.4]
  wire  _T_1460; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206003.4]
  wire [6:0] _T_1461; // @[TLB.scala 272:61:shc.marmotcaravel.MarmotCaravelConfig.fir@206004.4]
  wire [6:0] _T_1462; // @[TLB.scala 272:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206005.4]
  wire [6:0] ae_ld_array; // @[TLB.scala 272:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206006.4]
  wire  _T_1463; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@206007.4]
  wire  _T_1464; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206008.4]
  wire  _T_1465; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206009.4]
  wire  _T_1467; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206011.4]
  wire  _T_1485; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206029.4]
  wire [6:0] _T_1486; // @[TLB.scala 274:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206030.4]
  wire [6:0] _T_1487; // @[TLB.scala 274:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206031.4]
  wire [6:0] _T_1488; // @[TLB.scala 274:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206032.4]
  wire [6:0] _T_1497; // @[TLB.scala 275:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206041.4]
  wire [6:0] _T_1498; // @[TLB.scala 275:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206042.4]
  wire [6:0] _T_1499; // @[TLB.scala 274:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206043.4]
  wire [6:0] _T_1511; // @[TLB.scala 276:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206055.4]
  wire [6:0] ae_st_array; // @[TLB.scala 275:79:shc.marmotcaravel.MarmotCaravelConfig.fir@206056.4]
  wire  _T_1535; // @[TLB.scala 277:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206080.4]
  wire [6:0] _T_1536; // @[TLB.scala 277:64:shc.marmotcaravel.MarmotCaravelConfig.fir@206081.4]
  wire [6:0] ma_ld_array; // @[TLB.scala 277:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206082.4]
  wire  _T_1560; // @[TLB.scala 278:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206106.4]
  wire [6:0] ma_st_array; // @[TLB.scala 278:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206108.4]
  wire [6:0] pf_ld_array; // @[TLB.scala 279:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206134.4]
  wire [6:0] pf_st_array; // @[TLB.scala 280:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206160.4]
  wire [6:0] _T_1722; // @[TLB.scala 301:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206282.4]
  wire [6:0] _T_1749; // @[TLB.scala 302:73:shc.marmotcaravel.MarmotCaravelConfig.fir@206310.4]
  wire [6:0] _T_1755; // @[TLB.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206318.4]
  wire [6:0] _T_1757; // @[TLB.scala 305:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206321.4]
  wire [6:0] _T_1762; // @[TLB.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206328.4]
  wire [6:0] _T_1764; // @[TLB.scala 308:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206331.4]
  PMPChecker pmp ( // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204391.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@204344.4]
  assign mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@204386.4]
  assign _T_223 = io_req_bits_vaddr[11:0]; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204389.4]
  assign mpu_physaddr = {mpu_ppn,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204390.4]
  assign _T_227 = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204409.4]
  assign _T_228 = {1'b0,$signed(_T_227)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204410.4]
  assign _T_229 = $signed(_T_228) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204411.4]
  assign _T_230 = $signed(_T_229); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204412.4]
  assign _T_231 = $signed(_T_230) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204413.4]
  assign _T_232 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204414.4]
  assign _T_233 = {1'b0,$signed(_T_232)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204415.4]
  assign _T_234 = $signed(_T_233) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204416.4]
  assign _T_235 = $signed(_T_234); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204417.4]
  assign _T_236 = $signed(_T_235) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204418.4]
  assign _T_237 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204419.4]
  assign _T_238 = {1'b0,$signed(_T_237)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204420.4]
  assign _T_239 = $signed(_T_238) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204421.4]
  assign _T_240 = $signed(_T_239); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204422.4]
  assign _T_241 = $signed(_T_240) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204423.4]
  assign _T_242 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204424.4]
  assign _T_243 = {1'b0,$signed(_T_242)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204425.4]
  assign _T_244 = $signed(_T_243) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204426.4]
  assign _T_245 = $signed(_T_244); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204427.4]
  assign _T_246 = $signed(_T_245) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204428.4]
  assign _T_247 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204429.4]
  assign _T_248 = {1'b0,$signed(_T_247)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204430.4]
  assign _T_249 = $signed(_T_248) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204431.4]
  assign _T_250 = $signed(_T_249); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204432.4]
  assign _T_251 = $signed(_T_250) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204433.4]
  assign _T_252 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204434.4]
  assign _T_253 = {1'b0,$signed(_T_252)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204435.4]
  assign _T_254 = $signed(_T_253) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204436.4]
  assign _T_255 = $signed(_T_254); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204437.4]
  assign _T_256 = $signed(_T_255) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204438.4]
  assign _T_257 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204439.4]
  assign _T_258 = {1'b0,$signed(_T_257)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204440.4]
  assign _T_259 = $signed(_T_258) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204441.4]
  assign _T_260 = $signed(_T_259); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204442.4]
  assign _T_261 = $signed(_T_260) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204443.4]
  assign _T_262 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204444.4]
  assign _T_263 = {1'b0,$signed(_T_262)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204445.4]
  assign _T_264 = $signed(_T_263) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204446.4]
  assign _T_265 = $signed(_T_264); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204447.4]
  assign _T_266 = $signed(_T_265) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204448.4]
  assign _T_267 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204449.4]
  assign _T_268 = {1'b0,$signed(_T_267)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204450.4]
  assign _T_269 = $signed(_T_268) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204451.4]
  assign _T_270 = $signed(_T_269); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204452.4]
  assign _T_271 = $signed(_T_270) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204453.4]
  assign _T_272 = mpu_physaddr ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204454.4]
  assign _T_273 = {1'b0,$signed(_T_272)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204455.4]
  assign _T_274 = $signed(_T_273) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204456.4]
  assign _T_275 = $signed(_T_274); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204457.4]
  assign _T_276 = $signed(_T_275) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204458.4]
  assign _T_277 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204459.4]
  assign _T_278 = {1'b0,$signed(_T_277)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204460.4]
  assign _T_279 = $signed(_T_278) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204461.4]
  assign _T_280 = $signed(_T_279); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204462.4]
  assign _T_281 = $signed(_T_280) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204463.4]
  assign _T_282 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204464.4]
  assign _T_283 = {1'b0,$signed(_T_282)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204465.4]
  assign _T_284 = $signed(_T_283) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204466.4]
  assign _T_285 = $signed(_T_284); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204467.4]
  assign _T_286 = $signed(_T_285) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204468.4]
  assign _T_287 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204469.4]
  assign _T_288 = {1'b0,$signed(_T_287)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204470.4]
  assign _T_289 = $signed(_T_288) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204471.4]
  assign _T_290 = $signed(_T_289); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204472.4]
  assign _T_291 = $signed(_T_290) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204473.4]
  assign _T_292 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204474.4]
  assign _T_293 = {1'b0,$signed(_T_292)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204475.4]
  assign _T_294 = $signed(_T_293) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204476.4]
  assign _T_295 = $signed(_T_294); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204477.4]
  assign _T_296 = $signed(_T_295) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204478.4]
  assign _T_297 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204479.4]
  assign _T_298 = {1'b0,$signed(_T_297)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204480.4]
  assign _T_299 = $signed(_T_298) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204481.4]
  assign _T_300 = $signed(_T_299); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204482.4]
  assign _T_301 = $signed(_T_300) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204483.4]
  assign _T_302 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204484.4]
  assign _T_303 = {1'b0,$signed(_T_302)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204485.4]
  assign _T_304 = $signed(_T_303) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  assign _T_305 = $signed(_T_304); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  assign _T_306 = $signed(_T_305) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204488.4]
  assign _T_308 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204490.4]
  assign _T_309 = $signed(_T_308) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204491.4]
  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204492.4]
  assign _T_311 = $signed(_T_310) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204493.4]
  assign _T_312 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204494.4]
  assign _T_313 = {1'b0,$signed(_T_312)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204495.4]
  assign _T_314 = $signed(_T_313) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204496.4]
  assign _T_315 = $signed(_T_314); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
  assign _T_316 = $signed(_T_315) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign _T_317 = mpu_physaddr ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204499.4]
  assign _T_318 = {1'b0,$signed(_T_317)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204500.4]
  assign _T_319 = $signed(_T_318) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204501.4]
  assign _T_320 = $signed(_T_319); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204502.4]
  assign _T_321 = $signed(_T_320) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204503.4]
  assign _T_322 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204504.4]
  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204505.4]
  assign _T_324 = $signed(_T_323) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204506.4]
  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204507.4]
  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204508.4]
  assign _T_327 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204509.4]
  assign _T_328 = {1'b0,$signed(_T_327)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204510.4]
  assign _T_329 = $signed(_T_328) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204511.4]
  assign _T_330 = $signed(_T_329); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204512.4]
  assign _T_331 = $signed(_T_330) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204513.4]
  assign _T_359 = _T_231 | _T_236; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204537.4]
  assign _T_360 = _T_359 | _T_241; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204538.4]
  assign _T_361 = _T_360 | _T_246; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204539.4]
  assign _T_362 = _T_361 | _T_251; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204540.4]
  assign _T_363 = _T_362 | _T_256; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204541.4]
  assign _T_364 = _T_363 | _T_261; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204542.4]
  assign _T_365 = _T_364 | _T_266; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204543.4]
  assign _T_366 = _T_365 | _T_271; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204544.4]
  assign _T_367 = _T_366 | _T_276; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204545.4]
  assign _T_368 = _T_367 | _T_281; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204546.4]
  assign _T_369 = _T_368 | _T_286; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204547.4]
  assign _T_370 = _T_369 | _T_291; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204548.4]
  assign _T_371 = _T_370 | _T_296; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204549.4]
  assign _T_372 = _T_371 | _T_301; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204550.4]
  assign _T_373 = _T_372 | _T_306; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204551.4]
  assign _T_374 = _T_373 | _T_311; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204552.4]
  assign _T_375 = _T_374 | _T_316; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204553.4]
  assign _T_376 = _T_375 | _T_321; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204554.4]
  assign _T_377 = _T_376 | _T_326; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204555.4]
  assign legal_address = _T_377 | _T_331; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204556.4]
  assign prot_r = legal_address & pmp_io_r; // @[TLB.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204724.4]
  assign _T_556 = $signed(_T_308) & $signed(33'she4010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204738.4]
  assign _T_557 = $signed(_T_556); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204739.4]
  assign _T_558 = $signed(_T_557) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204740.4]
  assign _T_559 = mpu_physaddr ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204741.4]
  assign _T_560 = {1'b0,$signed(_T_559)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204742.4]
  assign _T_561 = $signed(_T_560) & $signed(33'shf4010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204743.4]
  assign _T_562 = $signed(_T_561); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204744.4]
  assign _T_563 = $signed(_T_562) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204745.4]
  assign _T_566 = $signed(_T_273) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204748.4]
  assign _T_567 = $signed(_T_566); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204749.4]
  assign _T_568 = $signed(_T_567) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204750.4]
  assign _T_569 = mpu_physaddr ^ 32'h4000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204751.4]
  assign _T_570 = {1'b0,$signed(_T_569)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204752.4]
  assign _T_571 = $signed(_T_570) & $signed(33'shf4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204753.4]
  assign _T_572 = $signed(_T_571); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204754.4]
  assign _T_573 = $signed(_T_572) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204755.4]
  assign _T_576 = $signed(_T_308) & $signed(33'sh74010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204758.4]
  assign _T_577 = $signed(_T_576); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204759.4]
  assign _T_578 = $signed(_T_577) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204760.4]
  assign _T_579 = _T_558 | _T_563; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204761.4]
  assign _T_580 = _T_579 | _T_568; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204762.4]
  assign _T_581 = _T_580 | _T_573; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204763.4]
  assign _T_582 = _T_581 | _T_578; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204764.4]
  assign _T_589 = legal_address & _T_582; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204770.4]
  assign prot_w = _T_589 & pmp_io_w; // @[TLB.scala 197:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204771.4]
  assign _T_770 = $signed(_T_328) & $signed(33'shfe004000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204952.4]
  assign _T_771 = $signed(_T_770); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204953.4]
  assign _T_772 = $signed(_T_771) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204954.4]
  assign _T_773 = mpu_physaddr ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204955.4]
  assign _T_774 = {1'b0,$signed(_T_773)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204956.4]
  assign _T_775 = $signed(_T_774) & $signed(33'shfe005000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204957.4]
  assign _T_776 = $signed(_T_775); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204958.4]
  assign _T_777 = $signed(_T_776) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204959.4]
  assign _T_780 = $signed(_T_298) & $signed(33'shfc000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204962.4]
  assign _T_781 = $signed(_T_780); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204963.4]
  assign _T_782 = $signed(_T_781) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204964.4]
  assign _T_785 = $signed(_T_303) & $signed(33'shfe010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204967.4]
  assign _T_786 = $signed(_T_785); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204968.4]
  assign _T_787 = $signed(_T_786) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204969.4]
  assign _T_790 = $signed(_T_308) & $signed(33'shfe015000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204972.4]
  assign _T_791 = $signed(_T_790); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204973.4]
  assign _T_792 = $signed(_T_791) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@204974.4]
  assign _T_793 = _T_772 | _T_777; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204975.4]
  assign _T_794 = _T_793 | _T_782; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204976.4]
  assign _T_795 = _T_794 | _T_787; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204977.4]
  assign _T_796 = _T_795 | _T_792; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@204978.4]
  assign prot_eff = legal_address & _T_796; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204984.4]
  assign _T_1376 = prot_r ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205907.4]
  assign pr_array = {_T_1376,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205912.4]
  assign _T_1383 = prot_w ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205915.4]
  assign pw_array = {_T_1383,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205920.4]
  assign _T_1397 = _T_589 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205931.4]
  assign paa_array = {_T_1397,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205936.4]
  assign _T_1409 = prot_eff ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@205945.4]
  assign eff_array = {_T_1409,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign _T_1426 = 4'h1 << io_req_bits_size; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@205965.4]
  assign _T_1427 = _T_1426 - 4'h1; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@205966.4]
  assign _T_1428 = $unsigned(_T_1427); // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@205967.4]
  assign _T_1429 = _T_1428[3:0]; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@205968.4]
  assign _GEN_144 = {{28'd0}, _T_1429}; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
  assign _T_1430 = io_req_bits_vaddr & _GEN_144; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
  assign misaligned = _T_1430 != 32'h0; // @[TLB.scala 263:75:shc.marmotcaravel.MarmotCaravelConfig.fir@205970.4]
  assign _T_1431 = misaligned ? eff_array : 7'h0; // @[TLB.scala 270:8:shc.marmotcaravel.MarmotCaravelConfig.fir@205973.4]
  assign _T_1432 = io_req_bits_cmd == 5'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205974.4]
  assign _T_1433 = io_req_bits_cmd == 5'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205975.4]
  assign _T_1434 = _T_1432 | _T_1433; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205976.4]
  assign _T_1437 = _T_1434 ? 7'h7f : 7'h0; // @[TLB.scala 271:8:shc.marmotcaravel.MarmotCaravelConfig.fir@205979.4]
  assign ae_array = _T_1431 | _T_1437; // @[TLB.scala 270:37:shc.marmotcaravel.MarmotCaravelConfig.fir@205980.4]
  assign _T_1438 = io_req_bits_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205981.4]
  assign _T_1440 = _T_1438 | _T_1432; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@205983.4]
  assign _T_1442 = _T_1440 | _T_1433; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205985.4]
  assign _T_1443 = io_req_bits_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205986.4]
  assign _T_1444 = io_req_bits_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205987.4]
  assign _T_1445 = io_req_bits_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205988.4]
  assign _T_1446 = io_req_bits_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205989.4]
  assign _T_1447 = _T_1443 | _T_1444; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205990.4]
  assign _T_1448 = _T_1447 | _T_1445; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205991.4]
  assign _T_1449 = _T_1448 | _T_1446; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205992.4]
  assign _T_1450 = io_req_bits_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205993.4]
  assign _T_1451 = io_req_bits_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205994.4]
  assign _T_1452 = io_req_bits_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205995.4]
  assign _T_1453 = io_req_bits_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205996.4]
  assign _T_1454 = io_req_bits_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@205997.4]
  assign _T_1455 = _T_1450 | _T_1451; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205998.4]
  assign _T_1456 = _T_1455 | _T_1452; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205999.4]
  assign _T_1457 = _T_1456 | _T_1453; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206000.4]
  assign _T_1458 = _T_1457 | _T_1454; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206001.4]
  assign _T_1459 = _T_1449 | _T_1458; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206002.4]
  assign _T_1460 = _T_1442 | _T_1459; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206003.4]
  assign _T_1461 = ~ pr_array; // @[TLB.scala 272:61:shc.marmotcaravel.MarmotCaravelConfig.fir@206004.4]
  assign _T_1462 = ae_array | _T_1461; // @[TLB.scala 272:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206005.4]
  assign ae_ld_array = _T_1460 ? _T_1462 : 7'h0; // @[TLB.scala 272:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206006.4]
  assign _T_1463 = io_req_bits_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@206007.4]
  assign _T_1464 = io_req_bits_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206008.4]
  assign _T_1465 = _T_1463 | _T_1464; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206009.4]
  assign _T_1467 = _T_1465 | _T_1433; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206011.4]
  assign _T_1485 = _T_1467 | _T_1459; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206029.4]
  assign _T_1486 = ~ pw_array; // @[TLB.scala 274:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206030.4]
  assign _T_1487 = ae_array | _T_1486; // @[TLB.scala 274:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206031.4]
  assign _T_1488 = _T_1485 ? _T_1487 : 7'h0; // @[TLB.scala 274:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206032.4]
  assign _T_1497 = ~ paa_array; // @[TLB.scala 275:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206041.4]
  assign _T_1498 = _T_1449 ? _T_1497 : 7'h0; // @[TLB.scala 275:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206042.4]
  assign _T_1499 = _T_1488 | _T_1498; // @[TLB.scala 274:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206043.4]
  assign _T_1511 = _T_1458 ? _T_1497 : 7'h0; // @[TLB.scala 276:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206055.4]
  assign ae_st_array = _T_1499 | _T_1511; // @[TLB.scala 275:79:shc.marmotcaravel.MarmotCaravelConfig.fir@206056.4]
  assign _T_1535 = misaligned & _T_1460; // @[TLB.scala 277:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206080.4]
  assign _T_1536 = ~ eff_array; // @[TLB.scala 277:64:shc.marmotcaravel.MarmotCaravelConfig.fir@206081.4]
  assign ma_ld_array = _T_1535 ? _T_1536 : 7'h0; // @[TLB.scala 277:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206082.4]
  assign _T_1560 = misaligned & _T_1485; // @[TLB.scala 278:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206106.4]
  assign ma_st_array = _T_1560 ? _T_1536 : 7'h0; // @[TLB.scala 278:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206108.4]
  assign pf_ld_array = _T_1460 ? 7'h3f : 7'h0; // @[TLB.scala 279:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206134.4]
  assign pf_st_array = _T_1485 ? 7'h3f : 7'h0; // @[TLB.scala 280:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206160.4]
  assign _T_1722 = pf_ld_array & 7'h40; // @[TLB.scala 301:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206282.4]
  assign _T_1749 = pf_st_array & 7'h40; // @[TLB.scala 302:73:shc.marmotcaravel.MarmotCaravelConfig.fir@206310.4]
  assign _T_1755 = ae_ld_array & 7'h40; // @[TLB.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206318.4]
  assign _T_1757 = ae_st_array & 7'h40; // @[TLB.scala 305:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206321.4]
  assign _T_1762 = ma_ld_array & 7'h40; // @[TLB.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206328.4]
  assign _T_1764 = ma_st_array & 7'h40; // @[TLB.scala 308:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206331.4]
  assign io_resp_paddr = {vpn,_T_223}; // @[TLB.scala 313:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206347.4]
  assign io_resp_pf_ld = _T_1722 != 7'h0; // @[TLB.scala 301:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206285.4]
  assign io_resp_pf_st = _T_1749 != 7'h0; // @[TLB.scala 302:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206313.4]
  assign io_resp_ae_ld = _T_1755 != 7'h0; // @[TLB.scala 304:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206320.4]
  assign io_resp_ae_st = _T_1757 != 7'h0; // @[TLB.scala 305:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206323.4]
  assign io_resp_ma_ld = _T_1762 != 7'h0; // @[TLB.scala 307:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206330.4]
  assign io_resp_ma_st = _T_1764 != 7'h0; // @[TLB.scala 308:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206333.4]
  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204397.4]
  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204398.4]
  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204399.4]
  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204400.4]
  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204401.4]
  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204402.4]
  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204403.4]
  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204404.4]
  assign pmp_io_addr = {mpu_ppn,_T_223}; // @[TLB.scala 187:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204395.4]
endmodule
module AMOALU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206354.2]
  input  [4:0]  io_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206357.4]
  input  [31:0] io_lhs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206357.4]
  input  [31:0] io_rhs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206357.4]
  output [31:0] io_out_unmasked // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206357.4]
);
  wire  _T_10; // @[AMOALU.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206362.4]
  wire  _T_11; // @[AMOALU.scala 64:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206363.4]
  wire  max; // @[AMOALU.scala 64:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206364.4]
  wire  _T_12; // @[AMOALU.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206365.4]
  wire  _T_13; // @[AMOALU.scala 65:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206366.4]
  wire  min; // @[AMOALU.scala 65:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206367.4]
  wire  add; // @[AMOALU.scala 66:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206368.4]
  wire  _T_14; // @[AMOALU.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206369.4]
  wire  _T_15; // @[AMOALU.scala 67:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206370.4]
  wire  logic_and; // @[AMOALU.scala 67:38:shc.marmotcaravel.MarmotCaravelConfig.fir@206371.4]
  wire  _T_16; // @[AMOALU.scala 68:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206372.4]
  wire  logic_xor; // @[AMOALU.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@206374.4]
  wire [31:0] adder_out; // @[AMOALU.scala 73:21:shc.marmotcaravel.MarmotCaravelConfig.fir@206379.4]
  wire [4:0] _T_24; // @[AMOALU.scala 86:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206382.4]
  wire  _T_26; // @[AMOALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206384.4]
  wire  _T_27; // @[AMOALU.scala 88:12:shc.marmotcaravel.MarmotCaravelConfig.fir@206385.4]
  wire  _T_28; // @[AMOALU.scala 88:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206386.4]
  wire  _T_29; // @[AMOALU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@206387.4]
  wire  _T_32; // @[AMOALU.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@206390.4]
  wire  _T_35; // @[AMOALU.scala 88:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206393.4]
  wire  less; // @[AMOALU.scala 88:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206394.4]
  wire  _T_36; // @[AMOALU.scala 94:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206395.4]
  wire [31:0] minmax; // @[AMOALU.scala 94:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206396.4]
  wire [31:0] _T_37; // @[AMOALU.scala 96:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206397.4]
  wire [31:0] _T_38; // @[AMOALU.scala 96:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206398.4]
  wire [31:0] _T_39; // @[AMOALU.scala 97:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206399.4]
  wire [31:0] _T_40; // @[AMOALU.scala 97:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206400.4]
  wire [31:0] logic$; // @[AMOALU.scala 96:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206401.4]
  wire  _T_41; // @[AMOALU.scala 100:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206402.4]
  wire [31:0] _T_42; // @[AMOALU.scala 100:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206403.4]
  assign _T_10 = io_cmd == 5'hd; // @[AMOALU.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206362.4]
  assign _T_11 = io_cmd == 5'hf; // @[AMOALU.scala 64:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206363.4]
  assign max = _T_10 | _T_11; // @[AMOALU.scala 64:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206364.4]
  assign _T_12 = io_cmd == 5'hc; // @[AMOALU.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206365.4]
  assign _T_13 = io_cmd == 5'he; // @[AMOALU.scala 65:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206366.4]
  assign min = _T_12 | _T_13; // @[AMOALU.scala 65:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206367.4]
  assign add = io_cmd == 5'h8; // @[AMOALU.scala 66:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206368.4]
  assign _T_14 = io_cmd == 5'ha; // @[AMOALU.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206369.4]
  assign _T_15 = io_cmd == 5'hb; // @[AMOALU.scala 67:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206370.4]
  assign logic_and = _T_14 | _T_15; // @[AMOALU.scala 67:38:shc.marmotcaravel.MarmotCaravelConfig.fir@206371.4]
  assign _T_16 = io_cmd == 5'h9; // @[AMOALU.scala 68:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206372.4]
  assign logic_xor = _T_16 | _T_14; // @[AMOALU.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@206374.4]
  assign adder_out = io_lhs + io_rhs; // @[AMOALU.scala 73:21:shc.marmotcaravel.MarmotCaravelConfig.fir@206379.4]
  assign _T_24 = io_cmd & 5'h2; // @[AMOALU.scala 86:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206382.4]
  assign _T_26 = _T_24 == 5'h0; // @[AMOALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206384.4]
  assign _T_27 = io_lhs[31]; // @[AMOALU.scala 88:12:shc.marmotcaravel.MarmotCaravelConfig.fir@206385.4]
  assign _T_28 = io_rhs[31]; // @[AMOALU.scala 88:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206386.4]
  assign _T_29 = _T_27 == _T_28; // @[AMOALU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@206387.4]
  assign _T_32 = io_lhs < io_rhs; // @[AMOALU.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@206390.4]
  assign _T_35 = _T_26 ? _T_27 : _T_28; // @[AMOALU.scala 88:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206393.4]
  assign less = _T_29 ? _T_32 : _T_35; // @[AMOALU.scala 88:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206394.4]
  assign _T_36 = less ? min : max; // @[AMOALU.scala 94:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206395.4]
  assign minmax = _T_36 ? io_lhs : io_rhs; // @[AMOALU.scala 94:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206396.4]
  assign _T_37 = io_lhs & io_rhs; // @[AMOALU.scala 96:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206397.4]
  assign _T_38 = logic_and ? _T_37 : 32'h0; // @[AMOALU.scala 96:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206398.4]
  assign _T_39 = io_lhs ^ io_rhs; // @[AMOALU.scala 97:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206399.4]
  assign _T_40 = logic_xor ? _T_39 : 32'h0; // @[AMOALU.scala 97:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206400.4]
  assign logic$ = _T_38 | _T_40; // @[AMOALU.scala 96:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206401.4]
  assign _T_41 = logic_and | logic_xor; // @[AMOALU.scala 100:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206402.4]
  assign _T_42 = _T_41 ? logic$ : minmax; // @[AMOALU.scala 100:8:shc.marmotcaravel.MarmotCaravelConfig.fir@206403.4]
  assign io_out_unmasked = add ? adder_out : _T_42; // @[AMOALU.scala 105:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206425.4]
endmodule
module DCache( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206427.2]
  input         gated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206428.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206429.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output        auto_out_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output        auto_out_e_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206430.4]
  output        io_cpu_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_cpu_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_cpu_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [6:0]  io_cpu_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [4:0]  io_cpu_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [2:0]  io_cpu_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_cpu_req_bits_phys, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_cpu_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_cpu_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [3:0]  io_cpu_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [31:0] io_cpu_resp_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [6:0]  io_cpu_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [4:0]  io_cpu_resp_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [2:0]  io_cpu_resp_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [31:0] io_cpu_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [31:0] io_cpu_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [31:0] io_cpu_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output [31:0] io_cpu_resp_bits_store_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_cpu_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  output        io_cpu_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.4]
  input  [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206431.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@206458.4]
  wire [31:0] metaArb_io_in_0_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_2_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [31:0] metaArb_io_in_2_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_3_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [31:0] metaArb_io_in_3_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_4_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_4_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [31:0] metaArb_io_in_4_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_5_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_5_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [31:0] metaArb_io_in_5_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [7:0] metaArb_io_in_5_bits_idx; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_7_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_in_7_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [31:0] metaArb_io_in_7_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_out_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_out_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  metaArb_io_out_bits_write; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire [31:0] metaArb_io_out_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.4]
  wire  data_clock; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire  data_io_req_valid; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire [13:0] data_io_req_bits_addr; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire  data_io_req_bits_write; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire [31:0] data_io_req_bits_wdata; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire [3:0] data_io_req_bits_eccMask; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire [31:0] data_io_resp_0; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206463.4]
  wire  dataArb_io_in_0_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [13:0] dataArb_io_in_0_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_0_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [31:0] dataArb_io_in_0_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [3:0] dataArb_io_in_0_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_1_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_1_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [13:0] dataArb_io_in_1_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_1_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [31:0] dataArb_io_in_1_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [3:0] dataArb_io_in_1_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_2_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_2_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [13:0] dataArb_io_in_2_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [31:0] dataArb_io_in_2_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [3:0] dataArb_io_in_2_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_3_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_in_3_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [13:0] dataArb_io_in_3_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [31:0] dataArb_io_in_3_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [3:0] dataArb_io_in_3_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_out_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [13:0] dataArb_io_out_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  dataArb_io_out_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [31:0] dataArb_io_out_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire [3:0] dataArb_io_out_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206467.4]
  wire  tlb_io_req_valid; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_req_bits_vaddr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_req_bits_size; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [4:0] tlb_io_req_bits_cmd; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_resp_paddr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_resp_pf_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_resp_pf_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_resp_ae_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_resp_ae_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_resp_ma_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_resp_ma_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_0_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_0_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_0_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_0_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_0_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_0_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_1_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_1_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_1_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_1_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_1_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_1_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_2_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_2_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_2_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_2_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_2_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_2_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_3_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_3_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_3_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_3_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_3_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_3_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_4_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_4_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_4_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_4_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_4_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_4_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_5_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_5_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_5_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_5_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_5_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_5_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_6_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_6_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_6_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_6_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_6_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_6_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_7_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_7_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_7_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire  tlb_io_ptw_pmp_7_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [29:0] tlb_io_ptw_pmp_7_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [31:0] tlb_io_ptw_pmp_7_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206776.4]
  wire [4:0] amoalu_io_cmd; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209617.4]
  wire [31:0] amoalu_io_lhs; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209617.4]
  wire [31:0] amoalu_io_rhs; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209617.4]
  wire [31:0] amoalu_io_out_unmasked; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209617.4]
  reg  clock_en_reg; // @[DCache.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206440.4]
  reg [31:0] _RAND_0;
  wire [1:0] opc; // @[DCache.scala 482:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209079.4]
  wire [1:0] _T_2448; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209080.4]
  wire  data_1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@209081.4]
  reg  blockUncachedGrant; // @[DCache.scala 572:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209283.4]
  reg [31:0] _RAND_1;
  reg  s1_valid; // @[DCache.scala 131:21:shc.marmotcaravel.MarmotCaravelConfig.fir@206490.4]
  reg [31:0] _RAND_2;
  wire  _T_2579; // @[DCache.scala 574:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209285.4]
  wire  _T_2580; // @[DCache.scala 574:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209286.4]
  wire [2:0] _GEN_176; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209088.4]
  wire  grantIsRefill; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209088.4]
  wire  _T_2495; // @[DCache.scala 544:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209186.4]
  wire  _T_2496; // @[DCache.scala 544:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209187.4]
  wire  _T_2451; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209084.4]
  wire  grantIsCached; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209086.4]
  reg [9:0] _T_2429; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209049.4]
  reg [31:0] _RAND_3;
  wire  d_first; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209053.4]
  wire  _GEN_133; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209188.4]
  wire  tl_out__d_ready; // @[DCache.scala 574:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209287.4]
  wire  _T_2463; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209103.4]
  wire  _T_2433; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209054.4]
  wire  _T_2426; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209047.4]
  wire [26:0] _T_2422; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209043.4]
  wire [11:0] _T_2423; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@209044.4]
  wire [11:0] _T_2424; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209045.4]
  wire [9:0] _T_2425; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209046.4]
  wire [9:0] _T_2427; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209048.4]
  wire  _T_2434; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209055.4]
  wire  d_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209056.4]
  wire [31:0] _T_253; // @[DCache.scala 112:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206475.4]
  wire [7:0] _T_254; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206476.4]
  wire [7:0] _T_255; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206477.4]
  wire [7:0] _T_256; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206478.4]
  wire [7:0] _T_257; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206479.4]
  wire [15:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206480.4]
  wire [15:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206481.4]
  wire  _T_263; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@206489.4]
  wire  _T_583; // @[DCache.scala 233:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206884.4]
  reg [2:0] release_state; // @[DCache.scala 155:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206583.4]
  reg [31:0] _RAND_4;
  wire  releaseInFlight; // @[DCache.scala 233:63:shc.marmotcaravel.MarmotCaravelConfig.fir@206885.4]
  reg [2:0] blockProbeAfterGrantCount; // @[DCache.scala 493:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  reg [31:0] _RAND_5;
  wire  _T_2585; // @[DCache.scala 587:85:shc.marmotcaravel.MarmotCaravelConfig.fir@209300.4]
  reg [6:0] lrscCount; // @[DCache.scala 327:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207426.4]
  reg [31:0] _RAND_6;
  wire  lrscValid; // @[DCache.scala 328:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207427.4]
  reg  s2_valid_pre_xcpt; // @[DCache.scala 230:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206872.4]
  reg [31:0] _RAND_7;
  wire [1:0] _T_577; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206876.4]
  wire [2:0] _T_578; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206877.4]
  wire [1:0] _T_575; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206874.4]
  wire [2:0] _T_576; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206875.4]
  wire [5:0] _T_579; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206878.4]
  wire  _T_580; // @[DCache.scala 231:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206879.4]
  wire  _T_581; // @[DCache.scala 231:39:shc.marmotcaravel.MarmotCaravelConfig.fir@206880.4]
  wire  s2_valid; // @[DCache.scala 231:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206881.4]
  wire  _T_2594; // @[DCache.scala 589:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209311.4]
  wire  _T_270; // @[DCache.scala 135:37:shc.marmotcaravel.MarmotCaravelConfig.fir@206510.4]
  wire  s1_valid_masked; // @[DCache.scala 135:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206511.4]
  reg [4:0] s1_req_cmd; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206514.4]
  reg [31:0] _RAND_8;
  wire  _T_277; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206528.4]
  wire  _T_278; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206529.4]
  wire  _T_279; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206530.4]
  wire  _T_280; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206531.4]
  wire  _T_281; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206532.4]
  wire  _T_282; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206533.4]
  wire  _T_283; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206534.4]
  wire  _T_286; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206537.4]
  wire  _T_284; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206535.4]
  wire  _T_287; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206538.4]
  wire  _T_285; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206536.4]
  wire  _T_288; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206539.4]
  wire  _T_289; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206540.4]
  wire  _T_290; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206541.4]
  wire  _T_294; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206545.4]
  wire  _T_291; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206542.4]
  wire  _T_295; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206546.4]
  wire  _T_292; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206543.4]
  wire  _T_296; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206547.4]
  wire  _T_293; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206544.4]
  wire  _T_297; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206548.4]
  wire  _T_298; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206549.4]
  wire  s1_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206550.4]
  reg  _T_587; // @[DCache.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206888.4]
  reg [31:0] _RAND_9;
  wire  s2_valid_masked; // @[DCache.scala 234:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206890.4]
  reg [4:0] s2_req_cmd; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206893.4]
  reg [31:0] _RAND_10;
  wire  _T_598; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206911.4]
  wire  _T_599; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206912.4]
  wire  _T_600; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206913.4]
  wire  _T_601; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206914.4]
  wire  _T_602; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206915.4]
  wire  _T_603; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206916.4]
  wire  _T_604; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206917.4]
  wire  _T_607; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206920.4]
  wire  _T_605; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206918.4]
  wire  _T_608; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206921.4]
  wire  _T_606; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206919.4]
  wire  _T_609; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206922.4]
  wire  _T_610; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206923.4]
  wire  _T_611; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206924.4]
  wire  _T_615; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206928.4]
  wire  _T_612; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206925.4]
  wire  _T_616; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206929.4]
  wire  _T_613; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206926.4]
  wire  _T_617; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206930.4]
  wire  _T_614; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206927.4]
  wire  _T_618; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206931.4]
  wire  _T_619; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206932.4]
  wire  s2_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206933.4]
  wire  _T_620; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@206934.4]
  wire  _T_621; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206935.4]
  wire  _T_622; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206936.4]
  wire  _T_624; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206938.4]
  wire  s2_write; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206956.4]
  wire  s2_readwrite; // @[DCache.scala 247:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206957.4]
  wire  _T_803; // @[DCache.scala 282:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207166.4]
  wire  _T_720; // @[Consts.scala 95:54:shc.marmotcaravel.MarmotCaravelConfig.fir@207072.4]
  wire  _T_721; // @[Consts.scala 95:47:shc.marmotcaravel.MarmotCaravelConfig.fir@207073.4]
  wire  _T_723; // @[Consts.scala 95:64:shc.marmotcaravel.MarmotCaravelConfig.fir@207075.4]
  wire [1:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207076.4]
  reg [1:0] s2_hit_state_state; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207015.4]
  reg [31:0] _RAND_11;
  wire [3:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207077.4]
  wire  _T_783; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207135.4]
  wire  _T_780; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207132.4]
  wire  _T_777; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207129.4]
  wire  _T_774; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207126.4]
  wire  _T_771; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207123.4]
  wire  _T_768; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207120.4]
  wire  _T_765; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207117.4]
  wire  _T_762; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207114.4]
  wire  _T_759; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207111.4]
  wire  _T_756; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207108.4]
  wire  _T_753; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207105.4]
  wire  _T_750; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207102.4]
  wire  _T_769; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207121.4]
  wire  _T_772; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207124.4]
  wire  _T_775; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207127.4]
  wire  _T_778; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207130.4]
  wire  _T_781; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207133.4]
  wire  s2_hit; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207136.4]
  wire  s2_valid_hit_pre_data_ecc; // @[DCache.scala 282:85:shc.marmotcaravel.MarmotCaravelConfig.fir@207169.4]
  wire  _T_1176; // @[DCache.scala 345:46:shc.marmotcaravel.MarmotCaravelConfig.fir@207641.4]
  reg [31:0] s2_req_addr; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206893.4]
  reg [31:0] _RAND_12;
  reg  pstore1_held; // @[DCache.scala 359:25:shc.marmotcaravel.MarmotCaravelConfig.fir@207638.4]
  reg [31:0] _RAND_13;
  wire  pstore1_valid_pre_kill; // @[DCache.scala 361:56:shc.marmotcaravel.MarmotCaravelConfig.fir@207644.4]
  reg [31:0] pstore1_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207479.4]
  reg [31:0] _RAND_14;
  wire [11:0] _T_1308; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207815.4]
  reg [31:0] s1_req_addr; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206514.4]
  reg [31:0] _RAND_15;
  wire [11:0] _T_1309; // @[DCache.scala 414:46:shc.marmotcaravel.MarmotCaravelConfig.fir@207816.4]
  wire  _T_1310; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207817.4]
  wire  _T_299; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@206551.4]
  wire  _T_300; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206552.4]
  wire  _T_301; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206553.4]
  wire  _T_303; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206555.4]
  wire  s1_write; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206573.4]
  reg [3:0] pstore1_mask; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207494.4]
  reg [31:0] _RAND_16;
  wire  _T_1314; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207821.4]
  wire  _T_1313; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207820.4]
  wire [1:0] _T_1320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207827.4]
  wire  _T_1312; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207819.4]
  wire  _T_1311; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207818.4]
  wire [1:0] _T_1319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207826.4]
  wire [3:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207828.4]
  wire  _T_1325; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207832.4]
  wire  _T_1324; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207831.4]
  wire [1:0] _T_1327; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207834.4]
  wire  _T_1323; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207830.4]
  wire  _T_1322; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207829.4]
  wire [1:0] _T_1326; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207833.4]
  wire [3:0] _T_1328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207835.4]
  wire  _T_564; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206861.4]
  wire  _T_556; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206853.4]
  reg [2:0] s1_req_typ; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206514.4]
  reg [31:0] _RAND_17;
  wire [1:0] _T_555; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206852.4]
  wire  _T_558; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@206855.4]
  wire  _T_560; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206857.4]
  wire  _T_562; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@206859.4]
  wire [1:0] _T_563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206860.4]
  wire [1:0] _T_565; // @[AMOALU.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@206862.4]
  wire  _T_566; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@206863.4]
  wire [1:0] _T_567; // @[AMOALU.scala 17:51:shc.marmotcaravel.MarmotCaravelConfig.fir@206864.4]
  wire [1:0] _T_568; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206865.4]
  wire [1:0] _T_570; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@206867.4]
  wire [3:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206868.4]
  wire [3:0] s1_mask; // @[DCache.scala 228:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206869.4]
  wire  _T_1332; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207839.4]
  wire  _T_1331; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207838.4]
  wire [1:0] _T_1338; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207845.4]
  wire  _T_1330; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207837.4]
  wire  _T_1329; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207836.4]
  wire [1:0] _T_1337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207844.4]
  wire [3:0] _T_1339; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207846.4]
  wire  _T_1343; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207850.4]
  wire  _T_1342; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207849.4]
  wire [1:0] _T_1345; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207852.4]
  wire  _T_1341; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207848.4]
  wire  _T_1340; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207847.4]
  wire [1:0] _T_1344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207851.4]
  wire [3:0] _T_1346; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207853.4]
  wire [3:0] _T_1347; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@207854.4]
  wire  _T_1348; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@207855.4]
  wire [3:0] _T_1349; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@207856.4]
  wire  _T_1350; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@207857.4]
  wire  _T_1351; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@207858.4]
  wire  _T_1352; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@207859.4]
  wire  _T_1353; // @[DCache.scala 417:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207860.4]
  reg  pstore2_valid; // @[DCache.scala 356:26:shc.marmotcaravel.MarmotCaravelConfig.fir@207567.4]
  reg [31:0] _RAND_18;
  reg [31:0] pstore2_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207716.4]
  reg [31:0] _RAND_19;
  wire [11:0] _T_1354; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  wire  _T_1356; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207863.4]
  reg [3:0] mask; // @[DCache.scala 387:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207760.4]
  reg [31:0] _RAND_20;
  wire  _T_1360; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  wire  _T_1359; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  wire [1:0] _T_1366; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  wire  _T_1358; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207865.4]
  wire  _T_1357; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207864.4]
  wire [1:0] _T_1365; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207872.4]
  wire [3:0] _T_1367; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  wire  _T_1371; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207878.4]
  wire  _T_1370; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  wire [1:0] _T_1373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207880.4]
  wire  _T_1369; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207876.4]
  wire  _T_1368; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207875.4]
  wire [1:0] _T_1372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207879.4]
  wire [3:0] _T_1374; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207881.4]
  wire [3:0] _T_1393; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@207900.4]
  wire  _T_1394; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@207901.4]
  wire [3:0] _T_1395; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@207902.4]
  wire  _T_1396; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@207903.4]
  wire  _T_1397; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@207904.4]
  wire  _T_1398; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@207905.4]
  wire  _T_1399; // @[DCache.scala 418:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207906.4]
  wire  s1_hazard; // @[DCache.scala 417:71:shc.marmotcaravel.MarmotCaravelConfig.fir@207907.4]
  wire  s1_raw_hazard; // @[DCache.scala 419:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207908.4]
  wire  _T_1400; // @[DCache.scala 424:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207910.4]
  wire [1:0] _T_752; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207104.4]
  wire [1:0] _T_755; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207107.4]
  wire [1:0] _T_758; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207110.4]
  wire [1:0] _T_761; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207113.4]
  wire [1:0] _T_764; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207116.4]
  wire [1:0] _T_767; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207119.4]
  wire [1:0] _T_770; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207122.4]
  wire [1:0] _T_773; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207125.4]
  wire [1:0] _T_776; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207128.4]
  wire [1:0] _T_779; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207131.4]
  wire [1:0] _T_782; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207134.4]
  wire [1:0] s2_grow_param; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207137.4]
  wire  _T_965; // @[Metadata.scala 46:46:shc.marmotcaravel.MarmotCaravelConfig.fir@207354.4]
  wire  s2_update_meta; // @[Metadata.scala 47:40:shc.marmotcaravel.MarmotCaravelConfig.fir@207355.4]
  wire  _T_971; // @[DCache.scala 301:41:shc.marmotcaravel.MarmotCaravelConfig.fir@207362.4]
  wire  _T_972; // @[DCache.scala 301:24:shc.marmotcaravel.MarmotCaravelConfig.fir@207363.4]
  wire  s1_readwrite; // @[DCache.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206574.4]
  wire  s1_nack; // @[DCache.scala 424:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207911.4]
  wire  _T_271; // @[DCache.scala 136:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206512.4]
  wire  s1_valid_not_nacked; // @[DCache.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@206513.4]
  reg [6:0] s1_req_tag; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206514.4]
  reg [31:0] _RAND_21;
  reg  s1_req_phys; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206514.4]
  reg [31:0] _RAND_22;
  wire  _T_272; // @[DCache.scala 138:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206515.4]
  wire  s0_clk_en; // @[DCache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206516.4]
  wire [25:0] _T_273; // @[DCache.scala 141:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206519.6]
  wire [5:0] _T_274; // @[DCache.scala 141:86:shc.marmotcaravel.MarmotCaravelConfig.fir@206520.6]
  wire [31:0] _T_275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206521.6]
  wire  _T_276; // @[DCache.scala 142:11:shc.marmotcaravel.MarmotCaravelConfig.fir@206523.6]
  wire  s1_sfence; // @[DCache.scala 147:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206575.4]
  reg  s1_flush_valid; // @[DCache.scala 148:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206576.4]
  reg [31:0] _RAND_23;
  reg  cached_grant_wait; // @[DCache.scala 152:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206579.4]
  reg [31:0] _RAND_24;
  wire  _T_329; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206586.4]
  wire  _T_330; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206587.4]
  wire  inWriteback; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206588.4]
  wire  _T_332; // @[DCache.scala 159:38:shc.marmotcaravel.MarmotCaravelConfig.fir@206591.4]
  wire  _T_333; // @[DCache.scala 159:54:shc.marmotcaravel.MarmotCaravelConfig.fir@206592.4]
  wire  _T_334; // @[DCache.scala 159:51:shc.marmotcaravel.MarmotCaravelConfig.fir@206593.4]
  wire  _T_336; // @[DCache.scala 159:73:shc.marmotcaravel.MarmotCaravelConfig.fir@206595.4]
  reg  uncachedInFlight_0; // @[DCache.scala 162:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206600.4]
  reg [31:0] _RAND_25;
  reg [31:0] uncachedReqs_0_addr; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206601.4]
  reg [31:0] _RAND_26;
  reg [6:0] uncachedReqs_0_tag; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206601.4]
  reg [31:0] _RAND_27;
  reg [2:0] uncachedReqs_0_typ; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206601.4]
  reg [31:0] _RAND_28;
  wire  _T_363; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206602.4]
  wire  _T_364; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206603.4]
  wire  _T_365; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206604.4]
  wire  _T_366; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206605.4]
  wire  _T_367; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206606.4]
  wire  _T_368; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206607.4]
  wire  _T_369; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206608.4]
  wire  _T_370; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206609.4]
  wire  _T_371; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206610.4]
  wire  _T_372; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206611.4]
  wire  _T_373; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206612.4]
  wire  _T_374; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206613.4]
  wire  _T_375; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206614.4]
  wire  _T_376; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206615.4]
  wire  _T_377; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206616.4]
  wire  _T_378; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206617.4]
  wire  _T_379; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206618.4]
  wire  _T_380; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206619.4]
  wire  _T_381; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206620.4]
  wire  _T_382; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206621.4]
  wire  _T_383; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206622.4]
  wire  _T_384; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206623.4]
  wire  s0_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206624.4]
  wire  _T_385; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206625.4]
  wire  _T_386; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206626.4]
  wire  _T_387; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206627.4]
  wire  res; // @[DCache.scala 912:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206628.4]
  wire  _T_415; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206656.4]
  wire  _T_416; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206657.4]
  wire  _T_418; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206659.4]
  wire  _T_436; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206677.4]
  wire  _T_441; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206682.4]
  wire  _T_442; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@206683.4]
  wire  _T_443; // @[DCache.scala 913:12:shc.marmotcaravel.MarmotCaravelConfig.fir@206684.4]
  wire  _T_444; // @[DCache.scala 913:28:shc.marmotcaravel.MarmotCaravelConfig.fir@206685.4]
  wire  _T_446; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@206687.4]
  wire  _T_447; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@206688.4]
  wire  _T_448; // @[DCache.scala 167:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206693.4]
  wire  _T_451; // @[DCache.scala 173:9:shc.marmotcaravel.MarmotCaravelConfig.fir@206702.4]
  wire  _T_452; // @[DCache.scala 173:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206703.4]
  wire  _GEN_16; // @[DCache.scala 173:45:shc.marmotcaravel.MarmotCaravelConfig.fir@206704.4]
  wire  _GEN_18; // @[DCache.scala 181:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206773.4]
  wire  _T_527; // @[DCache.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@206817.4]
  wire  _T_530; // @[DCache.scala 206:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206820.4]
  wire  inScratchpad; // @[DCache.scala 206:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206821.4]
  wire [7:0] _T_540; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206840.4]
  wire [7:0] _T_541; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206841.4]
  wire [7:0] _T_542; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206842.4]
  wire [7:0] _T_543; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206843.4]
  wire [15:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206844.4]
  wire [15:0] _T_545; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206845.4]
  wire [31:0] s1_all_data_ways_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206846.4]
  wire  _T_572; // @[DCache.scala 230:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206870.4]
  wire  _T_573; // @[DCache.scala 230:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206871.4]
  reg [6:0] s2_req_tag; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206893.4]
  reg [31:0] _RAND_29;
  reg [2:0] s2_req_typ; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206893.4]
  reg [31:0] _RAND_30;
  reg  s2_req_phys; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206893.4]
  reg [31:0] _RAND_31;
  reg [31:0] s2_uncached_resp_addr; // @[DCache.scala 238:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206895.4]
  reg [31:0] _RAND_32;
  wire  _T_591; // @[DCache.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@206896.4]
  reg [31:0] _T_595; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@206904.4]
  reg [31:0] _RAND_33;
  wire [19:0] _T_596; // @[DCache.scala 244:84:shc.marmotcaravel.MarmotCaravelConfig.fir@206908.4]
  wire [11:0] _T_597; // @[DCache.scala 244:109:shc.marmotcaravel.MarmotCaravelConfig.fir@206909.4]
  wire [31:0] s2_vaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206910.4]
  reg  s2_flush_valid_pre_tag_ecc; // @[DCache.scala 248:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206958.4]
  reg [31:0] _RAND_34;
  wire  en; // @[DCache.scala 258:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206988.4]
  wire [1:0] _GEN_93; // @[DCache.scala 516:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209137.10]
  wire [1:0] _GEN_113; // @[DCache.scala 498:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.6]
  wire [1:0] s1_data_way; // @[DCache.scala 497:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  wire  _T_656; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206989.4]
  wire  _T_657; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206990.4]
  wire [31:0] s1_all_data_ways_0; // @[DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@206847.4 DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@206849.4]
  wire [31:0] _T_659; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206991.4]
  wire [31:0] _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206992.4]
  wire [31:0] _T_661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206993.4]
  wire  _T_665; // @[DCache.scala 264:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206997.4]
  reg [31:0] s2_data; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@206998.4]
  reg [31:0] _RAND_35;
  wire  s2_hit_valid; // @[Metadata.scala 50:45:shc.marmotcaravel.MarmotCaravelConfig.fir@207025.4]
  wire [7:0] _T_785; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207141.4]
  wire [7:0] _T_786; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207142.4]
  wire [7:0] _T_787; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207143.4]
  wire [7:0] _T_788; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207144.4]
  wire [15:0] _T_799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207160.4]
  wire [15:0] _T_800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207161.4]
  wire [31:0] s2_data_corrected; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207162.4]
  wire  _T_814; // @[DCache.scala 285:76:shc.marmotcaravel.MarmotCaravelConfig.fir@207180.4]
  wire  s2_valid_miss; // @[DCache.scala 285:73:shc.marmotcaravel.MarmotCaravelConfig.fir@207181.4]
  wire  s2_valid_cached_miss; // @[DCache.scala 286:60:shc.marmotcaravel.MarmotCaravelConfig.fir@207187.4]
  wire  _T_822; // @[DCache.scala 289:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207191.4]
  wire  _T_825; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@207196.4]
  wire  _T_826; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@207197.4]
  wire  _T_827; // @[DCache.scala 291:67:shc.marmotcaravel.MarmotCaravelConfig.fir@207198.4]
  wire  s2_valid_uncached_pending; // @[DCache.scala 291:64:shc.marmotcaravel.MarmotCaravelConfig.fir@207199.4]
  wire [1:0] s2_victim_state_state; // @[DCache.scala 294:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207219.4]
  wire [3:0] _T_905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207290.4]
  wire  _T_930; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207315.4]
  wire  _T_934; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207319.4]
  wire  _T_935; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207320.4]
  wire  _T_938; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207323.4]
  wire  _T_939; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207324.4]
  wire  _T_942; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207327.4]
  wire  _T_943; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207328.4]
  wire  _T_946; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207331.4]
  wire  _T_947; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207332.4]
  wire  _T_950; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207335.4]
  wire  _T_951; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207336.4]
  wire  _T_954; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207339.4]
  wire  _T_955; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207340.4]
  wire  _T_958; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207343.4]
  wire  _T_959; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207344.4]
  wire  _T_962; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207347.4]
  wire  s2_victim_dirty; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207348.4]
  wire  _T_966; // @[DCache.scala 300:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207356.4]
  wire  _T_967; // @[DCache.scala 300:30:shc.marmotcaravel.MarmotCaravelConfig.fir@207357.4]
  wire  _T_968; // @[DCache.scala 300:78:shc.marmotcaravel.MarmotCaravelConfig.fir@207358.4]
  wire  _T_969; // @[DCache.scala 300:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207359.4]
  wire  _T_970; // @[DCache.scala 300:47:shc.marmotcaravel.MarmotCaravelConfig.fir@207360.4]
  wire [17:0] _T_984; // @[DCache.scala 309:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207382.4]
  wire  _T_992; // @[DCache.scala 317:87:shc.marmotcaravel.MarmotCaravelConfig.fir@207398.4]
  wire [13:0] _T_998; // @[DCache.scala 321:80:shc.marmotcaravel.MarmotCaravelConfig.fir@207408.4]
  wire  _T_1010; // @[DCache.scala 329:34:shc.marmotcaravel.MarmotCaravelConfig.fir@207428.4]
  wire [7:0] _T_1025; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@207451.6]
  wire [7:0] _T_1026; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@207452.6]
  wire [6:0] _T_1027; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@207453.6]
  wire  _T_1028; // @[DCache.scala 338:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207456.4]
  wire  _T_1037; // @[DCache.scala 347:63:shc.marmotcaravel.MarmotCaravelConfig.fir@207473.4]
  reg [4:0] pstore1_cmd; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207474.4]
  reg [31:0] _RAND_36;
  reg [31:0] pstore1_data; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207484.4]
  reg [31:0] _RAND_37;
  wire  _T_1098; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207551.4]
  wire  _T_1099; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207552.4]
  reg  pstore1_rmw; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207554.4]
  reg [31:0] _RAND_38;
  wire  _T_1103; // @[DCache.scala 354:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207559.4]
  wire  pstore_drain_opportunistic; // @[DCache.scala 357:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207637.4]
  wire  pstore1_valid_likely; // @[DCache.scala 360:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207640.4]
  wire  _T_1185; // @[DCache.scala 365:54:shc.marmotcaravel.MarmotCaravelConfig.fir@207653.4]
  wire  _T_1186; // @[DCache.scala 365:85:shc.marmotcaravel.MarmotCaravelConfig.fir@207654.4]
  wire  _T_1187; // @[DCache.scala 365:98:shc.marmotcaravel.MarmotCaravelConfig.fir@207655.4]
  wire  pstore_drain_structural; // @[DCache.scala 365:71:shc.marmotcaravel.MarmotCaravelConfig.fir@207656.4]
  wire  _T_1197; // @[DCache.scala 366:63:shc.marmotcaravel.MarmotCaravelConfig.fir@207666.4]
  wire  _T_1198; // @[DCache.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207667.4]
  wire  _T_1200; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207669.4]
  wire  _T_1201; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207670.4]
  wire  _T_1215; // @[DCache.scala 374:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207689.4]
  wire  _T_1216; // @[DCache.scala 374:41:shc.marmotcaravel.MarmotCaravelConfig.fir@207690.4]
  wire  _T_1217; // @[DCache.scala 374:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207691.4]
  wire  _T_1218; // @[DCache.scala 374:107:shc.marmotcaravel.MarmotCaravelConfig.fir@207692.4]
  wire  _T_1219; // @[DCache.scala 374:76:shc.marmotcaravel.MarmotCaravelConfig.fir@207693.4]
  wire  pstore_drain; // @[DCache.scala 373:48:shc.marmotcaravel.MarmotCaravelConfig.fir@207694.4]
  wire  _T_1229; // @[DCache.scala 377:71:shc.marmotcaravel.MarmotCaravelConfig.fir@207704.4]
  wire  _T_1230; // @[DCache.scala 377:91:shc.marmotcaravel.MarmotCaravelConfig.fir@207705.4]
  wire  _T_1233; // @[DCache.scala 378:79:shc.marmotcaravel.MarmotCaravelConfig.fir@207709.4]
  wire  advance_pstore1; // @[DCache.scala 378:61:shc.marmotcaravel.MarmotCaravelConfig.fir@207710.4]
  wire  _T_1235; // @[DCache.scala 379:34:shc.marmotcaravel.MarmotCaravelConfig.fir@207712.4]
  wire [7:0] _T_2771; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209637.4]
  wire [7:0] _T_2769; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209635.4]
  wire [15:0] _T_2773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209639.4]
  wire [7:0] _T_2767; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209633.4]
  wire [7:0] _T_2765; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209631.4]
  wire [15:0] _T_2772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209638.4]
  wire [31:0] mask_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209640.4]
  wire [31:0] _T_2774; // @[DCache.scala 750:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209641.4]
  wire [31:0] _T_2775; // @[DCache.scala 750:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209642.4]
  wire [31:0] _T_2776; // @[DCache.scala 750:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209643.4]
  wire [31:0] pstore1_storegen_data; // @[DCache.scala 750:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209644.4]
  wire [7:0] _T_1241; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207725.4]
  reg [7:0] _T_1246; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207729.4]
  reg [31:0] _RAND_39;
  wire [7:0] _T_1247; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207733.4]
  reg [7:0] _T_1252; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207737.4]
  reg [31:0] _RAND_40;
  wire [7:0] _T_1253; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207741.4]
  reg [7:0] _T_1258; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207745.4]
  reg [31:0] _RAND_41;
  wire [7:0] _T_1259; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207749.4]
  reg [7:0] _T_1264; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207753.4]
  reg [31:0] _RAND_42;
  wire [15:0] _T_1265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207757.4]
  wire [15:0] _T_1266; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207758.4]
  wire [31:0] pstore2_storegen_data; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207759.4]
  wire [3:0] _T_1270; // @[DCache.scala 390:37:shc.marmotcaravel.MarmotCaravelConfig.fir@207765.6]
  wire [3:0] _T_1272; // @[DCache.scala 390:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207767.6]
  wire [31:0] _T_1291; // @[DCache.scala 405:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207792.4]
  wire [3:0] _T_1296; // @[DCache.scala 410:47:shc.marmotcaravel.MarmotCaravelConfig.fir@207802.4]
  wire  _T_1297; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207803.4]
  wire  _T_1298; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207804.4]
  wire  _T_1299; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207805.4]
  wire  _T_1300; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207806.4]
  wire [1:0] _T_1305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207811.4]
  wire [1:0] _T_1306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207812.4]
  wire [1:0] a_size; // @[Consts.scala 19:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207922.4]
  wire  _T_1485; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208007.4]
  wire [1:0] _T_1486; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208008.4]
  wire [1:0] _T_1488; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@208010.4]
  wire  _T_1489; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208011.4]
  wire  _T_1490; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208012.4]
  wire  _T_1491; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208013.4]
  wire  _T_1492; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208014.4]
  wire  _T_1494; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
  wire  _T_1495; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208017.4]
  wire  _T_1497; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208019.4]
  wire  _T_1498; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208020.4]
  wire  _T_1499; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208021.4]
  wire  _T_1500; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208022.4]
  wire  _T_1501; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208023.4]
  wire  _T_1502; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208024.4]
  wire  _T_1503; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208025.4]
  wire  _T_1504; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208026.4]
  wire  _T_1505; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208027.4]
  wire  _T_1506; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208028.4]
  wire  _T_1507; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208029.4]
  wire  _T_1508; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208030.4]
  wire  _T_1509; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208031.4]
  wire  _T_1510; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208032.4]
  wire  _T_1511; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208033.4]
  wire  _T_1512; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208034.4]
  wire  _T_1513; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208035.4]
  wire [1:0] _T_1514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208036.4]
  wire [1:0] _T_1515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208037.4]
  wire [3:0] get_mask; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208038.4]
  wire  _T_2387; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208993.4]
  wire [2:0] _T_2388_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire [2:0] _T_2388_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire [3:0] _T_2353_size; // @[Edges.scala 476:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208950.4 Edges.scala 479:15:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.4]
  wire [3:0] _T_2388_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire [31:0] _T_2388_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire [3:0] _T_2388_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire [31:0] _T_2388_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire  _T_2389; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208995.4]
  wire [2:0] _T_2390_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire [2:0] _T_2390_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire [3:0] _T_2390_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire [31:0] _T_2390_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire [3:0] _T_2390_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire [31:0] _T_2390_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire  _T_2391; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208997.4]
  wire [2:0] _T_2392_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire [2:0] _T_2392_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire [3:0] _T_2392_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire [31:0] _T_2392_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire [3:0] _T_2392_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire [31:0] _T_2392_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire  _T_2393; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208999.4]
  wire [2:0] _T_2394_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire [2:0] _T_2394_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire [3:0] _T_2394_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire [31:0] _T_2394_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire [3:0] _T_2394_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire [31:0] _T_2394_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire  _T_2395; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209001.4]
  wire [2:0] _T_2396_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire [2:0] _T_2396_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire [3:0] _T_2396_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire [31:0] _T_2396_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire [3:0] _T_2396_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire [31:0] _T_2396_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire  _T_2397; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209003.4]
  wire [2:0] _T_2398_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire [2:0] _T_2398_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire [3:0] _T_2398_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire [31:0] _T_2398_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire [3:0] _T_2398_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire [31:0] _T_2398_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire  _T_2399; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209005.4]
  wire [2:0] _T_2400_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire [2:0] _T_2400_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire [3:0] _T_2400_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire [31:0] _T_2400_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire [3:0] _T_2400_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire [31:0] _T_2400_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire  _T_2401; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209007.4]
  wire [2:0] _T_2402_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire [2:0] _T_2402_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire [3:0] _T_2402_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire [31:0] _T_2402_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire [3:0] _T_2402_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire [31:0] _T_2402_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire  _T_2403; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209009.4]
  wire [2:0] atomics_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire [2:0] atomics_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire [3:0] atomics_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire [31:0] atomics_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire [3:0] atomics_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire [31:0] atomics_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire  _T_2407; // @[DCache.scala 454:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209014.4]
  wire  tl_out_a_valid; // @[DCache.scala 454:128:shc.marmotcaravel.MarmotCaravelConfig.fir@209015.4]
  wire  _T_2413; // @[DCache.scala 455:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209021.4]
  wire  _T_2414; // @[DCache.scala 455:109:shc.marmotcaravel.MarmotCaravelConfig.fir@209022.4]
  wire [2:0] _T_2415_opcode; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire [2:0] _T_2415_param; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire [3:0] _T_2415_size; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire [31:0] _T_2415_address; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire [3:0] _T_2415_mask; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire [31:0] _T_2415_data; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire  _T_2418; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209028.4]
  wire [10:0] _T_2430; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209050.4]
  wire [10:0] _T_2431; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209051.4]
  wire [9:0] _T_2432; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209052.4]
  wire  d_done; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209057.4]
  wire  _T_2438; // @[DCache.scala 480:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209065.4]
  wire  _T_2439; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209066.4]
  wire  _T_2440; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209067.4]
  wire  _T_2441; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209068.4]
  wire  _T_2442; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209069.4]
  wire  _T_2443; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209070.4]
  wire  _T_2444; // @[DCache.scala 480:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209071.4]
  wire  _T_2446; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209073.4]
  wire  _T_2447; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209074.4]
  wire [3:0] _T_2456; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@209093.6]
  wire [3:0] _T_2457; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@209094.6]
  wire [2:0] _T_2458; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@209095.6]
  wire  _T_2465; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.8]
  wire  _T_2466; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209109.8]
  wire  _T_2471; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.12]
  wire  _T_2472; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209130.12]
  wire [29:0] _T_2474; // @[DCache.scala 524:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209143.12]
  wire [31:0] _GEN_183; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209144.12]
  wire [31:0] dontCareBits; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209144.12]
  wire [1:0] _T_2475; // @[DCache.scala 525:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209145.12]
  wire [31:0] _GEN_184; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.12]
  wire [31:0] _T_2476; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.12]
  wire  _T_2480; // @[DCache.scala 536:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209163.4]
  wire  _T_2481; // @[DCache.scala 536:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209164.4]
  wire  tl_out__e_valid; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209188.4]
  wire  _T_2487; // @[DCache.scala 538:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209173.4]
  wire  _T_2488; // @[DCache.scala 538:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209174.4]
  wire  _T_2489; // @[DCache.scala 538:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209175.4]
  wire  _T_2491; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209177.4]
  wire  _T_2492; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209178.4]
  wire  _T_2493; // @[DCache.scala 543:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209183.4]
  wire  _T_2497; // @[DCache.scala 564:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209193.4]
  wire  _T_2498; // @[DCache.scala 564:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209194.4]
  wire  _GEN_134; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209289.6]
  wire  _GEN_135; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209289.6]
  wire  _GEN_136; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209289.6]
  reg  s2_release_data_valid; // @[DCache.scala 600:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209352.4]
  reg [31:0] _RAND_43;
  reg  s1_release_data_valid; // @[DCache.scala 599:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209348.4]
  reg [31:0] _RAND_44;
  wire [1:0] _T_2623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209355.4]
  wire [1:0] _GEN_185; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209356.4]
  wire [1:0] _T_2625; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209357.4]
  wire [11:0] _T_2627; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209359.4]
  wire [10:0] releaseDataBeat; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209360.4]
  wire  _T_2640; // @[DCache.scala 676:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209404.4]
  wire [3:0] _T_2644; // @[DCache.scala 679:90:shc.marmotcaravel.MarmotCaravelConfig.fir@209411.4]
  wire [5:0] _GEN_186; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@209412.4]
  wire [5:0] _T_2645; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@209412.4]
  wire  _T_2649; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209419.4]
  wire  _T_2650; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209420.4]
  wire  _T_2660; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209438.4]
  wire  _T_2661; // @[DCache.scala 701:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209448.4]
  wire  _T_2662; // @[DCache.scala 701:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209449.4]
  wire  _T_2663; // @[DCache.scala 701:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209450.4]
  wire  _T_2664; // @[DCache.scala 701:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209451.4]
  wire  _T_2665; // @[DCache.scala 701:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209452.4]
  wire  _T_2666; // @[DCache.scala 701:94:shc.marmotcaravel.MarmotCaravelConfig.fir@209453.4]
  wire  _T_2668; // @[DCache.scala 701:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209455.4]
  reg  _T_2672; // @[DCache.scala 705:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209460.4]
  reg [31:0] _RAND_45;
  reg  _T_2674_pf_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  reg [31:0] _RAND_46;
  reg  _T_2674_pf_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  reg [31:0] _RAND_47;
  reg  _T_2674_ae_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  reg [31:0] _RAND_48;
  reg  _T_2674_ae_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  reg [31:0] _RAND_49;
  reg  _T_2674_ma_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  reg [31:0] _RAND_50;
  reg  _T_2674_ma_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  reg [31:0] _RAND_51;
  wire  _T_2692_pf_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  wire  _T_2692_pf_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  wire  _T_2692_ae_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  wire  _T_2692_ae_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  wire  _T_2692_ma_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  wire  _T_2692_ma_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  wire  _T_2694; // @[DCache.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209513.6]
  wire  _T_2696; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209515.6]
  wire  _T_2697; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209516.6]
  wire  _T_2710; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209542.4]
  wire  _T_2711; // @[DCache.scala 713:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209543.4]
  wire  _T_2712; // @[DCache.scala 713:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209544.4]
  wire  _T_2714; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209546.4]
  wire  _T_2715; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209547.4]
  reg  doUncachedResp; // @[DCache.scala 720:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209555.4]
  reg [31:0] _RAND_52;
  wire  _T_2722; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209564.6]
  wire  _T_2723; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209565.6]
  wire  _T_2725; // @[Consts.scala 20:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209579.4]
  wire  _T_2726; // @[Consts.scala 20:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209580.4]
  wire [15:0] _T_2729; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209583.4]
  wire [15:0] _T_2730; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@209584.4]
  wire [15:0] _T_2731; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209585.4]
  wire  _T_2734; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209588.4]
  wire  _T_2736; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@209590.4]
  wire  _T_2737; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209591.4]
  wire [15:0] _T_2739; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209593.4]
  wire [15:0] _T_2741; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209595.4]
  wire [31:0] _T_2742; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209596.4]
  wire [7:0] _T_2744; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209598.4]
  wire [7:0] _T_2745; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@209599.4]
  wire [7:0] _T_2746; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209600.4]
  wire  _T_2749; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209603.4]
  wire  _T_2751; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@209605.4]
  wire  _T_2752; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209606.4]
  wire [23:0] _T_2754; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209608.4]
  wire [23:0] _T_2755; // @[AMOALU.scala 42:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209609.4]
  wire [23:0] _T_2756; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209610.4]
  reg  resetting; // @[DCache.scala 757:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209646.4]
  reg [31:0] _RAND_53;
  reg [7:0] flushCounter; // @[DCache.scala 762:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209649.4]
  reg [31:0] _RAND_54;
  wire [8:0] flushCounterNext; // @[DCache.scala 763:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209650.4]
  wire  flushDone; // @[DCache.scala 764:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209651.4]
  wire  _T_2783; // @[DCache.scala 766:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209654.4]
  wire  _T_2784; // @[DCache.scala 766:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209655.4]
  wire  _T_2799; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209676.4]
  wire  _T_2800; // @[DCache.scala 774:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209677.4]
  wire  _T_2801; // @[DCache.scala 774:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209678.4]
  wire  _T_2803; // @[DCache.scala 774:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209680.4]
  wire [13:0] _GEN_187; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209691.4]
  wire [13:0] _T_2810; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209691.4]
  wire [8:0] _GEN_172; // @[DCache.scala 805:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209711.4]
  wire  _T_2821; // @[DCache.scala 815:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209719.4]
  wire  _T_2824; // @[DCache.scala 817:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209722.4]
  wire  _T_2825; // @[DCache.scala 818:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209723.4]
  wire  _T_2826; // @[DCache.scala 818:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209724.4]
  wire  _T_2827; // @[DCache.scala 819:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209725.4]
  wire  _T_2829; // @[DCache.scala 819:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209727.4]
  wire  _T_2835; // @[DCache.scala 822:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209733.4]
  wire  _T_2837; // @[DCache.scala 823:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209735.4]
  wire  _T_2839; // @[DCache.scala 823:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209737.4]
  wire  _T_2899; // @[DCache.scala 861:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209810.4]
  wire  _GEN_190; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209111.10]
  wire  _GEN_193; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209132.14]
  wire  _GEN_194; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209132.14]
  Arbiter metaArb ( // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206458.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@206463.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@206467.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@206776.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@209617.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@209079.4]
  assign _T_2448 = opc & 2'h1; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209080.4]
  assign data_1 = _T_2448 == 2'h1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@209081.4]
  assign _T_2579 = blockUncachedGrant | s1_valid; // @[DCache.scala 574:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209285.4]
  assign _T_2580 = data_1 & _T_2579; // @[DCache.scala 574:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209286.4]
  assign _GEN_176 = {{1'd0}, opc}; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209088.4]
  assign grantIsRefill = _GEN_176 == 3'h5; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209088.4]
  assign _T_2495 = dataArb_io_in_1_ready == 1'h0; // @[DCache.scala 544:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209186.4]
  assign _T_2496 = grantIsRefill & _T_2495; // @[DCache.scala 544:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209187.4]
  assign _T_2451 = _GEN_176 == 3'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209084.4]
  assign grantIsCached = _T_2451 | grantIsRefill; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209086.4]
  assign d_first = _T_2429 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209053.4]
  assign _GEN_133 = _T_2496 ? 1'h0 : 1'h1; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209188.4]
  assign tl_out__d_ready = _T_2580 ? 1'h0 : _GEN_133; // @[DCache.scala 574:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209287.4]
  assign _T_2463 = tl_out__d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209103.4]
  assign _T_2433 = _T_2429 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209054.4]
  assign _T_2426 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209047.4]
  assign _T_2422 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209043.4]
  assign _T_2423 = _T_2422[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@209044.4]
  assign _T_2424 = ~ _T_2423; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209045.4]
  assign _T_2425 = _T_2424[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209046.4]
  assign _T_2427 = _T_2426 ? _T_2425 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209048.4]
  assign _T_2434 = _T_2427 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209055.4]
  assign d_last = _T_2433 | _T_2434; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209056.4]
  assign _T_253 = dataArb_io_out_bits_wdata; // @[DCache.scala 112:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206475.4]
  assign _T_254 = _T_253[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206476.4]
  assign _T_255 = _T_253[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206477.4]
  assign _T_256 = _T_253[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206478.4]
  assign _T_257 = _T_253[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206479.4]
  assign _T_258 = {_T_255,_T_254}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206480.4]
  assign _T_259 = {_T_257,_T_256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206481.4]
  assign _T_263 = io_cpu_req_ready & io_cpu_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@206489.4]
  assign _T_583 = 1'h0; // @[DCache.scala 233:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206884.4]
  assign releaseInFlight = release_state != 3'h0; // @[DCache.scala 233:63:shc.marmotcaravel.MarmotCaravelConfig.fir@206885.4]
  assign _T_2585 = blockProbeAfterGrantCount > 3'h0; // @[DCache.scala 587:85:shc.marmotcaravel.MarmotCaravelConfig.fir@209300.4]
  assign lrscValid = lrscCount > 7'h3; // @[DCache.scala 328:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207427.4]
  assign _T_577 = {io_cpu_s2_xcpt_ma_ld,io_cpu_s2_xcpt_ma_st}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206876.4]
  assign _T_578 = {_T_577,io_cpu_s2_xcpt_pf_ld}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206877.4]
  assign _T_575 = {io_cpu_s2_xcpt_pf_st,io_cpu_s2_xcpt_ae_ld}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206874.4]
  assign _T_576 = {_T_575,io_cpu_s2_xcpt_ae_st}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206875.4]
  assign _T_579 = {_T_578,_T_576}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206878.4]
  assign _T_580 = _T_579 != 6'h0; // @[DCache.scala 231:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206879.4]
  assign _T_581 = _T_580 == 1'h0; // @[DCache.scala 231:39:shc.marmotcaravel.MarmotCaravelConfig.fir@206880.4]
  assign s2_valid = s2_valid_pre_xcpt & _T_581; // @[DCache.scala 231:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206881.4]
  assign _T_2594 = s2_valid == 1'h0; // @[DCache.scala 589:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209311.4]
  assign _T_270 = io_cpu_s1_kill == 1'h0; // @[DCache.scala 135:37:shc.marmotcaravel.MarmotCaravelConfig.fir@206510.4]
  assign s1_valid_masked = s1_valid & _T_270; // @[DCache.scala 135:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206511.4]
  assign _T_277 = s1_req_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206528.4]
  assign _T_278 = s1_req_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206529.4]
  assign _T_279 = _T_277 | _T_278; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206530.4]
  assign _T_280 = s1_req_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206531.4]
  assign _T_281 = _T_279 | _T_280; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206532.4]
  assign _T_282 = s1_req_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206533.4]
  assign _T_283 = s1_req_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206534.4]
  assign _T_286 = _T_282 | _T_283; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206537.4]
  assign _T_284 = s1_req_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206535.4]
  assign _T_287 = _T_286 | _T_284; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206538.4]
  assign _T_285 = s1_req_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206536.4]
  assign _T_288 = _T_287 | _T_285; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206539.4]
  assign _T_289 = s1_req_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206540.4]
  assign _T_290 = s1_req_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206541.4]
  assign _T_294 = _T_289 | _T_290; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206545.4]
  assign _T_291 = s1_req_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206542.4]
  assign _T_295 = _T_294 | _T_291; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206546.4]
  assign _T_292 = s1_req_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206543.4]
  assign _T_296 = _T_295 | _T_292; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206547.4]
  assign _T_293 = s1_req_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206544.4]
  assign _T_297 = _T_296 | _T_293; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206548.4]
  assign _T_298 = _T_288 | _T_297; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206549.4]
  assign s1_read = _T_281 | _T_298; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206550.4]
  assign s2_valid_masked = s2_valid & _T_587; // @[DCache.scala 234:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206890.4]
  assign _T_598 = s2_req_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206911.4]
  assign _T_599 = s2_req_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206912.4]
  assign _T_600 = _T_598 | _T_599; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206913.4]
  assign _T_601 = s2_req_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206914.4]
  assign _T_602 = _T_600 | _T_601; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206915.4]
  assign _T_603 = s2_req_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206916.4]
  assign _T_604 = s2_req_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206917.4]
  assign _T_607 = _T_603 | _T_604; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206920.4]
  assign _T_605 = s2_req_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206918.4]
  assign _T_608 = _T_607 | _T_605; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206921.4]
  assign _T_606 = s2_req_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206919.4]
  assign _T_609 = _T_608 | _T_606; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206922.4]
  assign _T_610 = s2_req_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206923.4]
  assign _T_611 = s2_req_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206924.4]
  assign _T_615 = _T_610 | _T_611; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206928.4]
  assign _T_612 = s2_req_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206925.4]
  assign _T_616 = _T_615 | _T_612; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206929.4]
  assign _T_613 = s2_req_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206926.4]
  assign _T_617 = _T_616 | _T_613; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206930.4]
  assign _T_614 = s2_req_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206927.4]
  assign _T_618 = _T_617 | _T_614; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206931.4]
  assign _T_619 = _T_609 | _T_618; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206932.4]
  assign s2_read = _T_602 | _T_619; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206933.4]
  assign _T_620 = s2_req_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@206934.4]
  assign _T_621 = s2_req_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206935.4]
  assign _T_622 = _T_620 | _T_621; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206936.4]
  assign _T_624 = _T_622 | _T_601; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206938.4]
  assign s2_write = _T_624 | _T_619; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206956.4]
  assign s2_readwrite = s2_read | s2_write; // @[DCache.scala 247:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206957.4]
  assign _T_803 = s2_valid_masked & s2_readwrite; // @[DCache.scala 282:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207166.4]
  assign _T_720 = s2_req_cmd == 5'h3; // @[Consts.scala 95:54:shc.marmotcaravel.MarmotCaravelConfig.fir@207072.4]
  assign _T_721 = s2_write | _T_720; // @[Consts.scala 95:47:shc.marmotcaravel.MarmotCaravelConfig.fir@207073.4]
  assign _T_723 = _T_721 | _T_599; // @[Consts.scala 95:64:shc.marmotcaravel.MarmotCaravelConfig.fir@207075.4]
  assign _T_724 = {s2_write,_T_723}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207076.4]
  assign _T_725 = {_T_724,s2_hit_state_state}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207077.4]
  assign _T_783 = 4'h3 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207135.4]
  assign _T_780 = 4'h2 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207132.4]
  assign _T_777 = 4'h1 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207129.4]
  assign _T_774 = 4'h7 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207126.4]
  assign _T_771 = 4'h6 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207123.4]
  assign _T_768 = 4'hf == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207120.4]
  assign _T_765 = 4'he == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207117.4]
  assign _T_762 = 4'h0 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207114.4]
  assign _T_759 = 4'h5 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207111.4]
  assign _T_756 = 4'h4 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207108.4]
  assign _T_753 = 4'hd == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207105.4]
  assign _T_750 = 4'hc == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207102.4]
  assign _T_769 = _T_768 ? 1'h1 : _T_765; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207121.4]
  assign _T_772 = _T_771 ? 1'h1 : _T_769; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207124.4]
  assign _T_775 = _T_774 ? 1'h1 : _T_772; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207127.4]
  assign _T_778 = _T_777 ? 1'h1 : _T_775; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207130.4]
  assign _T_781 = _T_780 ? 1'h1 : _T_778; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207133.4]
  assign s2_hit = _T_783 ? 1'h1 : _T_781; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207136.4]
  assign s2_valid_hit_pre_data_ecc = _T_803 & s2_hit; // @[DCache.scala 282:85:shc.marmotcaravel.MarmotCaravelConfig.fir@207169.4]
  assign _T_1176 = s2_valid_hit_pre_data_ecc & s2_write; // @[DCache.scala 345:46:shc.marmotcaravel.MarmotCaravelConfig.fir@207641.4]
  assign pstore1_valid_pre_kill = _T_1176 | pstore1_held; // @[DCache.scala 361:56:shc.marmotcaravel.MarmotCaravelConfig.fir@207644.4]
  assign _T_1308 = pstore1_addr[13:2]; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207815.4]
  assign _T_1309 = s1_req_addr[13:2]; // @[DCache.scala 414:46:shc.marmotcaravel.MarmotCaravelConfig.fir@207816.4]
  assign _T_1310 = _T_1308 == _T_1309; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207817.4]
  assign _T_299 = s1_req_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@206551.4]
  assign _T_300 = s1_req_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206552.4]
  assign _T_301 = _T_299 | _T_300; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206553.4]
  assign _T_303 = _T_301 | _T_280; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206555.4]
  assign s1_write = _T_303 | _T_298; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206573.4]
  assign _T_1314 = pstore1_mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207821.4]
  assign _T_1313 = pstore1_mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207820.4]
  assign _T_1320 = {_T_1314,_T_1313}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207827.4]
  assign _T_1312 = pstore1_mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207819.4]
  assign _T_1311 = pstore1_mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207818.4]
  assign _T_1319 = {_T_1312,_T_1311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207826.4]
  assign _T_1321 = {_T_1320,_T_1319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207828.4]
  assign _T_1325 = _T_1321[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207832.4]
  assign _T_1324 = _T_1321[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207831.4]
  assign _T_1327 = {_T_1325,_T_1324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207834.4]
  assign _T_1323 = _T_1321[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207830.4]
  assign _T_1322 = _T_1321[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207829.4]
  assign _T_1326 = {_T_1323,_T_1322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207833.4]
  assign _T_1328 = {_T_1327,_T_1326}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207835.4]
  assign _T_564 = s1_req_addr[1]; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206861.4]
  assign _T_556 = s1_req_addr[0]; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@206853.4]
  assign _T_555 = s1_req_typ[1:0]; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@206852.4]
  assign _T_558 = _T_555 >= 2'h1; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@206855.4]
  assign _T_560 = _T_556 | _T_558; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206857.4]
  assign _T_562 = _T_556 ? 1'h0 : 1'h1; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@206859.4]
  assign _T_563 = {_T_560,_T_562}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206860.4]
  assign _T_565 = _T_564 ? _T_563 : 2'h0; // @[AMOALU.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@206862.4]
  assign _T_566 = _T_555 >= 2'h2; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@206863.4]
  assign _T_567 = _T_566 ? 2'h3 : 2'h0; // @[AMOALU.scala 17:51:shc.marmotcaravel.MarmotCaravelConfig.fir@206864.4]
  assign _T_568 = _T_565 | _T_567; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206865.4]
  assign _T_570 = _T_564 ? 2'h0 : _T_563; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@206867.4]
  assign _T_571 = {_T_568,_T_570}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206868.4]
  assign s1_mask = _T_300 ? io_cpu_s1_data_mask : _T_571; // @[DCache.scala 228:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206869.4]
  assign _T_1332 = s1_mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207839.4]
  assign _T_1331 = s1_mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207838.4]
  assign _T_1338 = {_T_1332,_T_1331}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207845.4]
  assign _T_1330 = s1_mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207837.4]
  assign _T_1329 = s1_mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207836.4]
  assign _T_1337 = {_T_1330,_T_1329}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207844.4]
  assign _T_1339 = {_T_1338,_T_1337}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207846.4]
  assign _T_1343 = _T_1339[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207850.4]
  assign _T_1342 = _T_1339[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207849.4]
  assign _T_1345 = {_T_1343,_T_1342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207852.4]
  assign _T_1341 = _T_1339[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207848.4]
  assign _T_1340 = _T_1339[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207847.4]
  assign _T_1344 = {_T_1341,_T_1340}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207851.4]
  assign _T_1346 = {_T_1345,_T_1344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207853.4]
  assign _T_1347 = _T_1328 & _T_1346; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@207854.4]
  assign _T_1348 = _T_1347 != 4'h0; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@207855.4]
  assign _T_1349 = pstore1_mask & s1_mask; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@207856.4]
  assign _T_1350 = _T_1349 != 4'h0; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@207857.4]
  assign _T_1351 = s1_write ? _T_1348 : _T_1350; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@207858.4]
  assign _T_1352 = _T_1310 & _T_1351; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@207859.4]
  assign _T_1353 = pstore1_valid_pre_kill & _T_1352; // @[DCache.scala 417:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207860.4]
  assign _T_1354 = pstore2_addr[13:2]; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  assign _T_1356 = _T_1354 == _T_1309; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207863.4]
  assign _T_1360 = mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  assign _T_1359 = mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  assign _T_1366 = {_T_1360,_T_1359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  assign _T_1358 = mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207865.4]
  assign _T_1357 = mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207864.4]
  assign _T_1365 = {_T_1358,_T_1357}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207872.4]
  assign _T_1367 = {_T_1366,_T_1365}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  assign _T_1371 = _T_1367[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207878.4]
  assign _T_1370 = _T_1367[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  assign _T_1373 = {_T_1371,_T_1370}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207880.4]
  assign _T_1369 = _T_1367[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207876.4]
  assign _T_1368 = _T_1367[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207875.4]
  assign _T_1372 = {_T_1369,_T_1368}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207879.4]
  assign _T_1374 = {_T_1373,_T_1372}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207881.4]
  assign _T_1393 = _T_1374 & _T_1346; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@207900.4]
  assign _T_1394 = _T_1393 != 4'h0; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@207901.4]
  assign _T_1395 = mask & s1_mask; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@207902.4]
  assign _T_1396 = _T_1395 != 4'h0; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@207903.4]
  assign _T_1397 = s1_write ? _T_1394 : _T_1396; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@207904.4]
  assign _T_1398 = _T_1356 & _T_1397; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@207905.4]
  assign _T_1399 = pstore2_valid & _T_1398; // @[DCache.scala 418:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207906.4]
  assign s1_hazard = _T_1353 | _T_1399; // @[DCache.scala 417:71:shc.marmotcaravel.MarmotCaravelConfig.fir@207907.4]
  assign s1_raw_hazard = s1_read & s1_hazard; // @[DCache.scala 419:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207908.4]
  assign _T_1400 = s1_valid & s1_raw_hazard; // @[DCache.scala 424:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207910.4]
  assign _T_752 = _T_750 ? 2'h1 : 2'h0; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207104.4]
  assign _T_755 = _T_753 ? 2'h2 : _T_752; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207107.4]
  assign _T_758 = _T_756 ? 2'h1 : _T_755; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207110.4]
  assign _T_761 = _T_759 ? 2'h2 : _T_758; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207113.4]
  assign _T_764 = _T_762 ? 2'h0 : _T_761; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207116.4]
  assign _T_767 = _T_765 ? 2'h3 : _T_764; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207119.4]
  assign _T_770 = _T_768 ? 2'h3 : _T_767; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207122.4]
  assign _T_773 = _T_771 ? 2'h2 : _T_770; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207125.4]
  assign _T_776 = _T_774 ? 2'h3 : _T_773; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207128.4]
  assign _T_779 = _T_777 ? 2'h1 : _T_776; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207131.4]
  assign _T_782 = _T_780 ? 2'h2 : _T_779; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207134.4]
  assign s2_grow_param = _T_783 ? 2'h3 : _T_782; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207137.4]
  assign _T_965 = s2_hit_state_state == s2_grow_param; // @[Metadata.scala 46:46:shc.marmotcaravel.MarmotCaravelConfig.fir@207354.4]
  assign s2_update_meta = _T_965 == 1'h0; // @[Metadata.scala 47:40:shc.marmotcaravel.MarmotCaravelConfig.fir@207355.4]
  assign _T_971 = s2_valid_hit_pre_data_ecc & s2_update_meta; // @[DCache.scala 301:41:shc.marmotcaravel.MarmotCaravelConfig.fir@207362.4]
  assign _T_972 = io_cpu_s2_nack | _T_971; // @[DCache.scala 301:24:shc.marmotcaravel.MarmotCaravelConfig.fir@207363.4]
  assign s1_readwrite = s1_read | s1_write; // @[DCache.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206574.4]
  assign s1_nack = _T_1400 ? 1'h1 : _T_972; // @[DCache.scala 424:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207911.4]
  assign _T_271 = s1_nack == 1'h0; // @[DCache.scala 136:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206512.4]
  assign s1_valid_not_nacked = s1_valid & _T_271; // @[DCache.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@206513.4]
  assign _T_272 = metaArb_io_out_bits_write == 1'h0; // @[DCache.scala 138:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206515.4]
  assign s0_clk_en = metaArb_io_out_valid & _T_272; // @[DCache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206516.4]
  assign _T_273 = metaArb_io_out_bits_addr[31:6]; // @[DCache.scala 141:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206519.6]
  assign _T_274 = io_cpu_req_bits_addr[5:0]; // @[DCache.scala 141:86:shc.marmotcaravel.MarmotCaravelConfig.fir@206520.6]
  assign _T_275 = {_T_273,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206521.6]
  assign _T_276 = metaArb_io_in_7_ready == 1'h0; // @[DCache.scala 142:11:shc.marmotcaravel.MarmotCaravelConfig.fir@206523.6]
  assign s1_sfence = s1_req_cmd == 5'h14; // @[DCache.scala 147:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206575.4]
  assign _T_329 = release_state == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206586.4]
  assign _T_330 = release_state == 3'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206587.4]
  assign inWriteback = _T_329 | _T_330; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206588.4]
  assign _T_332 = release_state == 3'h0; // @[DCache.scala 159:38:shc.marmotcaravel.MarmotCaravelConfig.fir@206591.4]
  assign _T_333 = cached_grant_wait == 1'h0; // @[DCache.scala 159:54:shc.marmotcaravel.MarmotCaravelConfig.fir@206592.4]
  assign _T_334 = _T_332 & _T_333; // @[DCache.scala 159:51:shc.marmotcaravel.MarmotCaravelConfig.fir@206593.4]
  assign _T_336 = _T_334 & _T_271; // @[DCache.scala 159:73:shc.marmotcaravel.MarmotCaravelConfig.fir@206595.4]
  assign _T_363 = io_cpu_req_bits_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206602.4]
  assign _T_364 = io_cpu_req_bits_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@206603.4]
  assign _T_365 = _T_363 | _T_364; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@206604.4]
  assign _T_366 = io_cpu_req_bits_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@206605.4]
  assign _T_367 = _T_365 | _T_366; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206606.4]
  assign _T_368 = io_cpu_req_bits_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206607.4]
  assign _T_369 = io_cpu_req_bits_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206608.4]
  assign _T_370 = io_cpu_req_bits_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206609.4]
  assign _T_371 = io_cpu_req_bits_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206610.4]
  assign _T_372 = _T_368 | _T_369; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206611.4]
  assign _T_373 = _T_372 | _T_370; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206612.4]
  assign _T_374 = _T_373 | _T_371; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206613.4]
  assign _T_375 = io_cpu_req_bits_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206614.4]
  assign _T_376 = io_cpu_req_bits_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206615.4]
  assign _T_377 = io_cpu_req_bits_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206616.4]
  assign _T_378 = io_cpu_req_bits_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206617.4]
  assign _T_379 = io_cpu_req_bits_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206618.4]
  assign _T_380 = _T_375 | _T_376; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206619.4]
  assign _T_381 = _T_380 | _T_377; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206620.4]
  assign _T_382 = _T_381 | _T_378; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206621.4]
  assign _T_383 = _T_382 | _T_379; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206622.4]
  assign _T_384 = _T_374 | _T_383; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@206623.4]
  assign s0_read = _T_367 | _T_384; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@206624.4]
  assign _T_385 = io_cpu_req_bits_cmd == 5'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206625.4]
  assign _T_386 = io_cpu_req_bits_cmd == 5'h3; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206626.4]
  assign _T_387 = _T_385 | _T_386; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@206627.4]
  assign res = _T_387 == 1'h0; // @[DCache.scala 912:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206628.4]
  assign _T_415 = io_cpu_req_bits_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206656.4]
  assign _T_416 = _T_385 | _T_415; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@206657.4]
  assign _T_418 = _T_416 | _T_366; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206659.4]
  assign _T_436 = _T_418 | _T_384; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@206677.4]
  assign _T_441 = _T_436 & _T_415; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206682.4]
  assign _T_442 = s0_read | _T_441; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@206683.4]
  assign _T_443 = _T_442 == 1'h0; // @[DCache.scala 913:12:shc.marmotcaravel.MarmotCaravelConfig.fir@206684.4]
  assign _T_444 = _T_443 | res; // @[DCache.scala 913:28:shc.marmotcaravel.MarmotCaravelConfig.fir@206685.4]
  assign _T_446 = _T_444 | reset; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@206687.4]
  assign _T_447 = _T_446 == 1'h0; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@206688.4]
  assign _T_448 = io_cpu_req_valid & res; // @[DCache.scala 167:46:shc.marmotcaravel.MarmotCaravelConfig.fir@206693.4]
  assign _T_451 = dataArb_io_in_3_ready == 1'h0; // @[DCache.scala 173:9:shc.marmotcaravel.MarmotCaravelConfig.fir@206702.4]
  assign _T_452 = _T_451 & s0_read; // @[DCache.scala 173:33:shc.marmotcaravel.MarmotCaravelConfig.fir@206703.4]
  assign _GEN_16 = _T_452 ? 1'h0 : _T_336; // @[DCache.scala 173:45:shc.marmotcaravel.MarmotCaravelConfig.fir@206704.4]
  assign _GEN_18 = _T_276 ? 1'h0 : _GEN_16; // @[DCache.scala 181:34:shc.marmotcaravel.MarmotCaravelConfig.fir@206773.4]
  assign _T_527 = tlb_io_resp_paddr >= 32'h80000000; // @[DCache.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@206817.4]
  assign _T_530 = tlb_io_resp_paddr < 32'h80004000; // @[DCache.scala 206:59:shc.marmotcaravel.MarmotCaravelConfig.fir@206820.4]
  assign inScratchpad = _T_527 & _T_530; // @[DCache.scala 206:47:shc.marmotcaravel.MarmotCaravelConfig.fir@206821.4]
  assign _T_540 = auto_out_d_bits_data[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206840.4]
  assign _T_541 = auto_out_d_bits_data[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206841.4]
  assign _T_542 = auto_out_d_bits_data[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206842.4]
  assign _T_543 = auto_out_d_bits_data[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@206843.4]
  assign _T_544 = {_T_541,_T_540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206844.4]
  assign _T_545 = {_T_543,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206845.4]
  assign s1_all_data_ways_1 = {_T_545,_T_544}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206846.4]
  assign _T_572 = s1_sfence == 1'h0; // @[DCache.scala 230:55:shc.marmotcaravel.MarmotCaravelConfig.fir@206870.4]
  assign _T_573 = s1_valid_masked & _T_572; // @[DCache.scala 230:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206871.4]
  assign _T_591 = s1_valid_not_nacked | s1_flush_valid; // @[DCache.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@206896.4]
  assign _T_596 = _T_595[31:12]; // @[DCache.scala 244:84:shc.marmotcaravel.MarmotCaravelConfig.fir@206908.4]
  assign _T_597 = s2_req_addr[11:0]; // @[DCache.scala 244:109:shc.marmotcaravel.MarmotCaravelConfig.fir@206909.4]
  assign s2_vaddr = {_T_596,_T_597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206910.4]
  assign en = s1_valid | inWriteback; // @[DCache.scala 258:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206988.4]
  assign _GEN_93 = data_1 ? 2'h2 : 2'h1; // @[DCache.scala 516:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209137.10]
  assign _GEN_113 = grantIsCached ? 2'h1 : _GEN_93; // @[DCache.scala 498:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.6]
  assign s1_data_way = _T_2463 ? _GEN_113 : 2'h1; // @[DCache.scala 497:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign _T_656 = s1_data_way[0]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206989.4]
  assign _T_657 = s1_data_way[1]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@206990.4]
  assign s1_all_data_ways_0 = data_io_resp_0; // @[DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@206847.4 DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@206849.4]
  assign _T_659 = _T_656 ? s1_all_data_ways_0 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206991.4]
  assign _T_660 = _T_657 ? s1_all_data_ways_1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206992.4]
  assign _T_661 = _T_659 | _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@206993.4]
  assign _T_665 = en | _T_2463; // @[DCache.scala 264:58:shc.marmotcaravel.MarmotCaravelConfig.fir@206997.4]
  assign s2_hit_valid = s2_hit_state_state > 2'h0; // @[Metadata.scala 50:45:shc.marmotcaravel.MarmotCaravelConfig.fir@207025.4]
  assign _T_785 = s2_data[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207141.4]
  assign _T_786 = s2_data[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207142.4]
  assign _T_787 = s2_data[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207143.4]
  assign _T_788 = s2_data[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207144.4]
  assign _T_799 = {_T_786,_T_785}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207160.4]
  assign _T_800 = {_T_788,_T_787}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207161.4]
  assign s2_data_corrected = {_T_800,_T_799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207162.4]
  assign _T_814 = s2_hit == 1'h0; // @[DCache.scala 285:76:shc.marmotcaravel.MarmotCaravelConfig.fir@207180.4]
  assign s2_valid_miss = _T_803 & _T_814; // @[DCache.scala 285:73:shc.marmotcaravel.MarmotCaravelConfig.fir@207181.4]
  assign s2_valid_cached_miss = 1'h0; // @[DCache.scala 286:60:shc.marmotcaravel.MarmotCaravelConfig.fir@207187.4]
  assign _T_822 = s2_flush_valid_pre_tag_ecc == 1'h0; // @[DCache.scala 289:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207191.4]
  assign _T_825 = ~ uncachedInFlight_0; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@207196.4]
  assign _T_826 = _T_825 == 1'h0; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@207197.4]
  assign _T_827 = _T_826 == 1'h0; // @[DCache.scala 291:67:shc.marmotcaravel.MarmotCaravelConfig.fir@207198.4]
  assign s2_valid_uncached_pending = s2_valid_miss & _T_827; // @[DCache.scala 291:64:shc.marmotcaravel.MarmotCaravelConfig.fir@207199.4]
  assign s2_victim_state_state = s2_hit_valid ? s2_hit_state_state : 2'h0; // @[DCache.scala 294:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207219.4]
  assign _T_905 = {2'h2,s2_victim_state_state}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207290.4]
  assign _T_930 = 4'hb == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207315.4]
  assign _T_934 = 4'h4 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207319.4]
  assign _T_935 = _T_934 ? 1'h0 : _T_930; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207320.4]
  assign _T_938 = 4'h5 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207323.4]
  assign _T_939 = _T_938 ? 1'h0 : _T_935; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207324.4]
  assign _T_942 = 4'h6 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207327.4]
  assign _T_943 = _T_942 ? 1'h0 : _T_939; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207328.4]
  assign _T_946 = 4'h7 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207331.4]
  assign _T_947 = _T_946 ? 1'h1 : _T_943; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207332.4]
  assign _T_950 = 4'h0 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207335.4]
  assign _T_951 = _T_950 ? 1'h0 : _T_947; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207336.4]
  assign _T_954 = 4'h1 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207339.4]
  assign _T_955 = _T_954 ? 1'h0 : _T_951; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207340.4]
  assign _T_958 = 4'h2 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207343.4]
  assign _T_959 = _T_958 ? 1'h0 : _T_955; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207344.4]
  assign _T_962 = 4'h3 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207347.4]
  assign s2_victim_dirty = _T_962 ? 1'h1 : _T_959; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207348.4]
  assign _T_966 = s2_valid_hit_pre_data_ecc == 1'h0; // @[DCache.scala 300:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207356.4]
  assign _T_967 = s2_valid & _T_966; // @[DCache.scala 300:30:shc.marmotcaravel.MarmotCaravelConfig.fir@207357.4]
  assign _T_968 = s2_valid_uncached_pending & auto_out_a_ready; // @[DCache.scala 300:78:shc.marmotcaravel.MarmotCaravelConfig.fir@207358.4]
  assign _T_969 = _T_968 == 1'h0; // @[DCache.scala 300:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207359.4]
  assign _T_970 = _T_967 & _T_969; // @[DCache.scala 300:47:shc.marmotcaravel.MarmotCaravelConfig.fir@207360.4]
  assign _T_984 = io_cpu_req_bits_addr[31:14]; // @[DCache.scala 309:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207382.4]
  assign _T_992 = s2_victim_dirty == 1'h0; // @[DCache.scala 317:87:shc.marmotcaravel.MarmotCaravelConfig.fir@207398.4]
  assign _T_998 = s2_vaddr[13:0]; // @[DCache.scala 321:80:shc.marmotcaravel.MarmotCaravelConfig.fir@207408.4]
  assign _T_1010 = lrscCount > 7'h0; // @[DCache.scala 329:34:shc.marmotcaravel.MarmotCaravelConfig.fir@207428.4]
  assign _T_1025 = lrscCount - 7'h1; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@207451.6]
  assign _T_1026 = $unsigned(_T_1025); // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@207452.6]
  assign _T_1027 = _T_1026[6:0]; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@207453.6]
  assign _T_1028 = s2_valid_masked & lrscValid; // @[DCache.scala 338:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207456.4]
  assign _T_1037 = s1_valid_not_nacked & s1_write; // @[DCache.scala 347:63:shc.marmotcaravel.MarmotCaravelConfig.fir@207473.4]
  assign _T_1098 = s1_write & _T_300; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207551.4]
  assign _T_1099 = s1_read | _T_1098; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207552.4]
  assign _T_1103 = s2_valid & s2_write; // @[DCache.scala 354:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207559.4]
  assign pstore_drain_opportunistic = _T_448 == 1'h0; // @[DCache.scala 357:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207637.4]
  assign pstore1_valid_likely = _T_1103 | pstore1_held; // @[DCache.scala 360:51:shc.marmotcaravel.MarmotCaravelConfig.fir@207640.4]
  assign _T_1185 = pstore1_valid_likely & pstore2_valid; // @[DCache.scala 365:54:shc.marmotcaravel.MarmotCaravelConfig.fir@207653.4]
  assign _T_1186 = s1_valid & s1_write; // @[DCache.scala 365:85:shc.marmotcaravel.MarmotCaravelConfig.fir@207654.4]
  assign _T_1187 = _T_1186 | pstore1_rmw; // @[DCache.scala 365:98:shc.marmotcaravel.MarmotCaravelConfig.fir@207655.4]
  assign pstore_drain_structural = _T_1185 & _T_1187; // @[DCache.scala 365:71:shc.marmotcaravel.MarmotCaravelConfig.fir@207656.4]
  assign _T_1197 = pstore1_valid_pre_kill == pstore1_valid_pre_kill; // @[DCache.scala 366:63:shc.marmotcaravel.MarmotCaravelConfig.fir@207666.4]
  assign _T_1198 = pstore1_rmw | _T_1197; // @[DCache.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207667.4]
  assign _T_1200 = _T_1198 | reset; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207669.4]
  assign _T_1201 = _T_1200 == 1'h0; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@207670.4]
  assign _T_1215 = pstore1_rmw == 1'h0; // @[DCache.scala 374:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207689.4]
  assign _T_1216 = pstore1_valid_pre_kill & _T_1215; // @[DCache.scala 374:41:shc.marmotcaravel.MarmotCaravelConfig.fir@207690.4]
  assign _T_1217 = _T_1216 | pstore2_valid; // @[DCache.scala 374:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207691.4]
  assign _T_1218 = pstore_drain_opportunistic | releaseInFlight; // @[DCache.scala 374:107:shc.marmotcaravel.MarmotCaravelConfig.fir@207692.4]
  assign _T_1219 = _T_1217 & _T_1218; // @[DCache.scala 374:76:shc.marmotcaravel.MarmotCaravelConfig.fir@207693.4]
  assign pstore_drain = pstore_drain_structural | _T_1219; // @[DCache.scala 373:48:shc.marmotcaravel.MarmotCaravelConfig.fir@207694.4]
  assign _T_1229 = pstore1_valid_pre_kill & pstore2_valid; // @[DCache.scala 377:71:shc.marmotcaravel.MarmotCaravelConfig.fir@207704.4]
  assign _T_1230 = pstore_drain == 1'h0; // @[DCache.scala 377:91:shc.marmotcaravel.MarmotCaravelConfig.fir@207705.4]
  assign _T_1233 = pstore2_valid == pstore_drain; // @[DCache.scala 378:79:shc.marmotcaravel.MarmotCaravelConfig.fir@207709.4]
  assign advance_pstore1 = pstore1_valid_pre_kill & _T_1233; // @[DCache.scala 378:61:shc.marmotcaravel.MarmotCaravelConfig.fir@207710.4]
  assign _T_1235 = pstore2_valid & _T_1230; // @[DCache.scala 379:34:shc.marmotcaravel.MarmotCaravelConfig.fir@207712.4]
  assign _T_2771 = _T_1314 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209637.4]
  assign _T_2769 = _T_1313 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209635.4]
  assign _T_2773 = {_T_2771,_T_2769}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209639.4]
  assign _T_2767 = _T_1312 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209633.4]
  assign _T_2765 = _T_1311 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209631.4]
  assign _T_2772 = {_T_2767,_T_2765}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209638.4]
  assign mask_1 = {_T_2773,_T_2772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209640.4]
  assign _T_2774 = amoalu_io_out_unmasked & mask_1; // @[DCache.scala 750:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209641.4]
  assign _T_2775 = ~ mask_1; // @[DCache.scala 750:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209642.4]
  assign _T_2776 = s2_data_corrected & _T_2775; // @[DCache.scala 750:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209643.4]
  assign pstore1_storegen_data = _T_2774 | _T_2776; // @[DCache.scala 750:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209644.4]
  assign _T_1241 = pstore1_storegen_data[7:0]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207725.4]
  assign _T_1247 = pstore1_storegen_data[15:8]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207733.4]
  assign _T_1253 = pstore1_storegen_data[23:16]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207741.4]
  assign _T_1259 = pstore1_storegen_data[31:24]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@207749.4]
  assign _T_1265 = {_T_1252,_T_1246}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207757.4]
  assign _T_1266 = {_T_1264,_T_1258}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207758.4]
  assign pstore2_storegen_data = {_T_1266,_T_1265}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207759.4]
  assign _T_1270 = ~ pstore1_mask; // @[DCache.scala 390:37:shc.marmotcaravel.MarmotCaravelConfig.fir@207765.6]
  assign _T_1272 = ~ _T_1270; // @[DCache.scala 390:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207767.6]
  assign _T_1291 = pstore2_valid ? pstore2_addr : pstore1_addr; // @[DCache.scala 405:36:shc.marmotcaravel.MarmotCaravelConfig.fir@207792.4]
  assign _T_1296 = pstore2_valid ? mask : pstore1_mask; // @[DCache.scala 410:47:shc.marmotcaravel.MarmotCaravelConfig.fir@207802.4]
  assign _T_1297 = _T_1296[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207803.4]
  assign _T_1298 = _T_1296[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207804.4]
  assign _T_1299 = _T_1296[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207805.4]
  assign _T_1300 = _T_1296[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@207806.4]
  assign _T_1305 = {_T_1298,_T_1297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207811.4]
  assign _T_1306 = {_T_1300,_T_1299}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207812.4]
  assign a_size = s2_req_typ[1:0]; // @[Consts.scala 19:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207922.4]
  assign _T_1485 = a_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208007.4]
  assign _T_1486 = 2'h1 << _T_1485; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208008.4]
  assign _T_1488 = _T_1486 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@208010.4]
  assign _T_1489 = a_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208011.4]
  assign _T_1490 = _T_1488[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208012.4]
  assign _T_1491 = s2_req_addr[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208013.4]
  assign _T_1492 = _T_1491 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208014.4]
  assign _T_1494 = _T_1490 & _T_1492; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
  assign _T_1495 = _T_1489 | _T_1494; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208017.4]
  assign _T_1497 = _T_1490 & _T_1491; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208019.4]
  assign _T_1498 = _T_1489 | _T_1497; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208020.4]
  assign _T_1499 = _T_1488[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208021.4]
  assign _T_1500 = s2_req_addr[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208022.4]
  assign _T_1501 = _T_1500 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208023.4]
  assign _T_1502 = _T_1492 & _T_1501; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208024.4]
  assign _T_1503 = _T_1499 & _T_1502; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208025.4]
  assign _T_1504 = _T_1495 | _T_1503; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208026.4]
  assign _T_1505 = _T_1492 & _T_1500; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208027.4]
  assign _T_1506 = _T_1499 & _T_1505; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208028.4]
  assign _T_1507 = _T_1495 | _T_1506; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208029.4]
  assign _T_1508 = _T_1491 & _T_1501; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208030.4]
  assign _T_1509 = _T_1499 & _T_1508; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208031.4]
  assign _T_1510 = _T_1498 | _T_1509; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208032.4]
  assign _T_1511 = _T_1491 & _T_1500; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@208033.4]
  assign _T_1512 = _T_1499 & _T_1511; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208034.4]
  assign _T_1513 = _T_1498 | _T_1512; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208035.4]
  assign _T_1514 = {_T_1507,_T_1504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208036.4]
  assign _T_1515 = {_T_1513,_T_1510}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208037.4]
  assign get_mask = {_T_1515,_T_1514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208038.4]
  assign _T_2387 = 5'hf == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208993.4]
  assign _T_2388_opcode = _T_2387 ? 3'h2 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_2388_param = _T_2387 ? 3'h3 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_2353_size = {{2'd0}, a_size}; // @[Edges.scala 476:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208950.4 Edges.scala 479:15:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.4]
  assign _T_2388_size = _T_2387 ? _T_2353_size : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_2388_address = _T_2387 ? s2_req_addr : 32'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_2388_mask = _T_2387 ? get_mask : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_2388_data = _T_2387 ? pstore1_data : 32'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_2389 = 5'he == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208995.4]
  assign _T_2390_opcode = _T_2389 ? 3'h2 : _T_2388_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_2390_param = _T_2389 ? 3'h2 : _T_2388_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_2390_size = _T_2389 ? _T_2353_size : _T_2388_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_2390_address = _T_2389 ? s2_req_addr : _T_2388_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_2390_mask = _T_2389 ? get_mask : _T_2388_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_2390_data = _T_2389 ? pstore1_data : _T_2388_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_2391 = 5'hd == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208997.4]
  assign _T_2392_opcode = _T_2391 ? 3'h2 : _T_2390_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_2392_param = _T_2391 ? 3'h1 : _T_2390_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_2392_size = _T_2391 ? _T_2353_size : _T_2390_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_2392_address = _T_2391 ? s2_req_addr : _T_2390_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_2392_mask = _T_2391 ? get_mask : _T_2390_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_2392_data = _T_2391 ? pstore1_data : _T_2390_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_2393 = 5'hc == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208999.4]
  assign _T_2394_opcode = _T_2393 ? 3'h2 : _T_2392_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_2394_param = _T_2393 ? 3'h0 : _T_2392_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_2394_size = _T_2393 ? _T_2353_size : _T_2392_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_2394_address = _T_2393 ? s2_req_addr : _T_2392_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_2394_mask = _T_2393 ? get_mask : _T_2392_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_2394_data = _T_2393 ? pstore1_data : _T_2392_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_2395 = 5'h8 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209001.4]
  assign _T_2396_opcode = _T_2395 ? 3'h2 : _T_2394_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_2396_param = _T_2395 ? 3'h4 : _T_2394_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_2396_size = _T_2395 ? _T_2353_size : _T_2394_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_2396_address = _T_2395 ? s2_req_addr : _T_2394_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_2396_mask = _T_2395 ? get_mask : _T_2394_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_2396_data = _T_2395 ? pstore1_data : _T_2394_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_2397 = 5'hb == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209003.4]
  assign _T_2398_opcode = _T_2397 ? 3'h3 : _T_2396_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_2398_param = _T_2397 ? 3'h2 : _T_2396_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_2398_size = _T_2397 ? _T_2353_size : _T_2396_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_2398_address = _T_2397 ? s2_req_addr : _T_2396_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_2398_mask = _T_2397 ? get_mask : _T_2396_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_2398_data = _T_2397 ? pstore1_data : _T_2396_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_2399 = 5'ha == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209005.4]
  assign _T_2400_opcode = _T_2399 ? 3'h3 : _T_2398_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_2400_param = _T_2399 ? 3'h1 : _T_2398_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_2400_size = _T_2399 ? _T_2353_size : _T_2398_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_2400_address = _T_2399 ? s2_req_addr : _T_2398_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_2400_mask = _T_2399 ? get_mask : _T_2398_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_2400_data = _T_2399 ? pstore1_data : _T_2398_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_2401 = 5'h9 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209007.4]
  assign _T_2402_opcode = _T_2401 ? 3'h3 : _T_2400_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_2402_param = _T_2401 ? 3'h0 : _T_2400_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_2402_size = _T_2401 ? _T_2353_size : _T_2400_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_2402_address = _T_2401 ? s2_req_addr : _T_2400_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_2402_mask = _T_2401 ? get_mask : _T_2400_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_2402_data = _T_2401 ? pstore1_data : _T_2400_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_2403 = 5'h4 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209009.4]
  assign atomics_opcode = _T_2403 ? 3'h3 : _T_2402_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign atomics_param = _T_2403 ? 3'h3 : _T_2402_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign atomics_size = _T_2403 ? _T_2353_size : _T_2402_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign atomics_address = _T_2403 ? s2_req_addr : _T_2402_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign atomics_mask = _T_2403 ? get_mask : _T_2402_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign atomics_data = _T_2403 ? pstore1_data : _T_2402_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign _T_2407 = _T_583 & _T_992; // @[DCache.scala 454:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209014.4]
  assign tl_out_a_valid = _T_2407 | s2_valid_uncached_pending; // @[DCache.scala 454:128:shc.marmotcaravel.MarmotCaravelConfig.fir@209015.4]
  assign _T_2413 = s2_write == 1'h0; // @[DCache.scala 455:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209021.4]
  assign _T_2414 = s2_read == 1'h0; // @[DCache.scala 455:109:shc.marmotcaravel.MarmotCaravelConfig.fir@209022.4]
  assign _T_2415_opcode = _T_2414 ? 3'h0 : atomics_opcode; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_2415_param = _T_2414 ? 3'h0 : atomics_param; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_2415_size = _T_2414 ? _T_2353_size : atomics_size; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_2415_address = _T_2414 ? s2_req_addr : atomics_address; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_2415_mask = _T_2414 ? get_mask : atomics_mask; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_2415_data = _T_2414 ? pstore1_data : atomics_data; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_2418 = auto_out_a_ready & tl_out_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209028.4]
  assign _T_2430 = _T_2429 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209050.4]
  assign _T_2431 = $unsigned(_T_2430); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209051.4]
  assign _T_2432 = _T_2431[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209052.4]
  assign d_done = d_last & _T_2463; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209057.4]
  assign _T_2438 = auto_out_d_valid == 1'h0; // @[DCache.scala 480:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209065.4]
  assign _T_2439 = auto_out_d_bits_opcode == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209066.4]
  assign _T_2440 = auto_out_d_bits_opcode == 3'h0; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209067.4]
  assign _T_2441 = auto_out_d_bits_opcode == 3'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209068.4]
  assign _T_2442 = _T_2439 | _T_2440; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209069.4]
  assign _T_2443 = _T_2442 | _T_2441; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209070.4]
  assign _T_2444 = _T_2438 | _T_2443; // @[DCache.scala 480:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209071.4]
  assign _T_2446 = _T_2444 | reset; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209073.4]
  assign _T_2447 = _T_2446 == 1'h0; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209074.4]
  assign _T_2456 = blockProbeAfterGrantCount - 3'h1; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@209093.6]
  assign _T_2457 = $unsigned(_T_2456); // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@209094.6]
  assign _T_2458 = _T_2457[2:0]; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@209095.6]
  assign _T_2465 = cached_grant_wait | reset; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.8]
  assign _T_2466 = _T_2465 == 1'h0; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209109.8]
  assign _T_2471 = uncachedInFlight_0 | reset; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.12]
  assign _T_2472 = _T_2471 == 1'h0; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209130.12]
  assign _T_2474 = tlb_io_resp_paddr[31:2]; // @[DCache.scala 524:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209143.12]
  assign _GEN_183 = {{2'd0}, _T_2474}; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209144.12]
  assign dontCareBits = _GEN_183 << 2; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209144.12]
  assign _T_2475 = uncachedReqs_0_addr[1:0]; // @[DCache.scala 525:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209145.12]
  assign _GEN_184 = {{30'd0}, _T_2475}; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.12]
  assign _T_2476 = dontCareBits | _GEN_184; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.12]
  assign _T_2480 = auto_out_d_valid & d_first; // @[DCache.scala 536:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209163.4]
  assign _T_2481 = _T_2480 & grantIsCached; // @[DCache.scala 536:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209164.4]
  assign tl_out__e_valid = _T_2496 ? 1'h0 : _T_2481; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209188.4]
  assign _T_2487 = _T_2463 & d_first; // @[DCache.scala 538:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209173.4]
  assign _T_2488 = _T_2487 & grantIsCached; // @[DCache.scala 538:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209174.4]
  assign _T_2489 = tl_out__e_valid == _T_2488; // @[DCache.scala 538:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209175.4]
  assign _T_2491 = _T_2489 | reset; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209177.4]
  assign _T_2492 = _T_2491 == 1'h0; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209178.4]
  assign _T_2493 = auto_out_d_valid & grantIsRefill; // @[DCache.scala 543:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209183.4]
  assign _T_2497 = grantIsCached & d_done; // @[DCache.scala 564:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209193.4]
  assign _T_2498 = auto_out_d_bits_denied == 1'h0; // @[DCache.scala 564:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209194.4]
  assign _GEN_134 = auto_out_d_valid ? 1'h0 : _GEN_18; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209289.6]
  assign _GEN_135 = auto_out_d_valid ? 1'h1 : _T_2493; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209289.6]
  assign _GEN_136 = auto_out_d_valid ? 1'h0 : dataArb_io_in_0_bits_write; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209289.6]
  assign _T_2623 = {1'h0,s2_release_data_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209355.4]
  assign _GEN_185 = {{1'd0}, s1_release_data_valid}; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209356.4]
  assign _T_2625 = _GEN_185 + _T_2623; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209357.4]
  assign _T_2627 = {{10'd0}, _T_2625}; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209359.4]
  assign releaseDataBeat = _T_2627[10:0]; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209360.4]
  assign _T_2640 = releaseDataBeat < 11'h10; // @[DCache.scala 676:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209404.4]
  assign _T_2644 = releaseDataBeat[3:0]; // @[DCache.scala 679:90:shc.marmotcaravel.MarmotCaravelConfig.fir@209411.4]
  assign _GEN_186 = {{2'd0}, _T_2644}; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@209412.4]
  assign _T_2645 = _GEN_186 << 2; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@209412.4]
  assign _T_2649 = release_state == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209419.4]
  assign _T_2650 = release_state == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209420.4]
  assign _T_2660 = metaArb_io_in_4_ready & metaArb_io_in_4_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209438.4]
  assign _T_2661 = s1_req_phys == 1'h0; // @[DCache.scala 701:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209448.4]
  assign _T_2662 = s1_valid & _T_2661; // @[DCache.scala 701:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209449.4]
  assign _T_2663 = s2_req_phys == 1'h0; // @[DCache.scala 701:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209450.4]
  assign _T_2664 = s2_valid & _T_2663; // @[DCache.scala 701:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209451.4]
  assign _T_2665 = _T_2662 | _T_2664; // @[DCache.scala 701:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209452.4]
  assign _T_2666 = _T_2665 | cached_grant_wait; // @[DCache.scala 701:94:shc.marmotcaravel.MarmotCaravelConfig.fir@209453.4]
  assign _T_2668 = _T_2666 | uncachedInFlight_0; // @[DCache.scala 701:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209455.4]
  assign _T_2692_pf_ld = _T_2672 ? _T_2674_pf_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  assign _T_2692_pf_st = _T_2672 ? _T_2674_pf_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  assign _T_2692_ae_ld = _T_2672 ? _T_2674_ae_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  assign _T_2692_ae_st = _T_2672 ? _T_2674_ae_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  assign _T_2692_ma_ld = _T_2672 ? _T_2674_ma_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  assign _T_2692_ma_st = _T_2672 ? _T_2674_ma_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209509.4]
  assign _T_2694 = _T_2594 | s2_hit_valid; // @[DCache.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209513.6]
  assign _T_2696 = _T_2694 | reset; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209515.6]
  assign _T_2697 = _T_2696 == 1'h0; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209516.6]
  assign _T_2710 = _T_599 | _T_601; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209542.4]
  assign _T_2711 = s2_valid_masked & _T_2710; // @[DCache.scala 713:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209543.4]
  assign _T_2712 = _T_2711 == 1'h0; // @[DCache.scala 713:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209544.4]
  assign _T_2714 = _T_2712 | reset; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209546.4]
  assign _T_2715 = _T_2714 == 1'h0; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209547.4]
  assign _T_2722 = _T_966 | reset; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209564.6]
  assign _T_2723 = _T_2722 == 1'h0; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209565.6]
  assign _T_2725 = s2_req_typ[2]; // @[Consts.scala 20:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209579.4]
  assign _T_2726 = _T_2725 == 1'h0; // @[Consts.scala 20:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209580.4]
  assign _T_2729 = s2_data_corrected[31:16]; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209583.4]
  assign _T_2730 = s2_data_corrected[15:0]; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@209584.4]
  assign _T_2731 = _T_1491 ? _T_2729 : _T_2730; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209585.4]
  assign _T_2734 = a_size == 2'h1; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209588.4]
  assign _T_2736 = _T_2731[15]; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@209590.4]
  assign _T_2737 = _T_2726 & _T_2736; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209591.4]
  assign _T_2739 = _T_2737 ? 16'hffff : 16'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209593.4]
  assign _T_2741 = _T_2734 ? _T_2739 : _T_2729; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209595.4]
  assign _T_2742 = {_T_2741,_T_2731}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209596.4]
  assign _T_2744 = _T_2742[15:8]; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209598.4]
  assign _T_2745 = _T_2742[7:0]; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@209599.4]
  assign _T_2746 = _T_1500 ? _T_2744 : _T_2745; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209600.4]
  assign _T_2749 = a_size == 2'h0; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209603.4]
  assign _T_2751 = _T_2746[7]; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@209605.4]
  assign _T_2752 = _T_2726 & _T_2751; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209606.4]
  assign _T_2754 = _T_2752 ? 24'hffffff : 24'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209608.4]
  assign _T_2755 = _T_2742[31:8]; // @[AMOALU.scala 42:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209609.4]
  assign _T_2756 = _T_2749 ? _T_2754 : _T_2755; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209610.4]
  assign flushCounterNext = flushCounter + 8'h1; // @[DCache.scala 763:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209650.4]
  assign flushDone = flushCounterNext[8:8]; // @[DCache.scala 764:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209651.4]
  assign _T_2783 = s2_req_cmd == 5'h5; // @[DCache.scala 766:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209654.4]
  assign _T_2784 = s2_valid_masked & _T_2783; // @[DCache.scala 766:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209655.4]
  assign _T_2799 = metaArb_io_in_5_ready & metaArb_io_in_5_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209676.4]
  assign _T_2800 = s1_flush_valid == 1'h0; // @[DCache.scala 774:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209677.4]
  assign _T_2801 = _T_2799 & _T_2800; // @[DCache.scala 774:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209678.4]
  assign _T_2803 = _T_2801 & _T_822; // @[DCache.scala 774:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209680.4]
  assign _GEN_187 = {{6'd0}, metaArb_io_in_5_bits_idx}; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209691.4]
  assign _T_2810 = _GEN_187 << 6; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209691.4]
  assign _GEN_172 = resetting ? flushCounterNext : {{1'd0}, flushCounter}; // @[DCache.scala 805:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209711.4]
  assign _T_2821 = io_cpu_keep_clock_enabled | metaArb_io_out_valid; // @[DCache.scala 815:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209719.4]
  assign _T_2824 = _T_2821 | s1_valid; // @[DCache.scala 817:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209722.4]
  assign _T_2825 = _T_2824 | s2_valid_pre_xcpt; // @[DCache.scala 818:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209723.4]
  assign _T_2826 = _T_2825 | pstore1_held; // @[DCache.scala 818:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209724.4]
  assign _T_2827 = _T_2826 | pstore2_valid; // @[DCache.scala 819:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209725.4]
  assign _T_2829 = _T_2827 | releaseInFlight; // @[DCache.scala 819:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209727.4]
  assign _T_2835 = _T_2829 | cached_grant_wait; // @[DCache.scala 822:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209733.4]
  assign _T_2837 = _T_2835 | uncachedInFlight_0; // @[DCache.scala 823:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209735.4]
  assign _T_2839 = _T_2837 | _T_1010; // @[DCache.scala 823:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209737.4]
  assign _T_2899 = grantIsCached == 1'h0; // @[DCache.scala 861:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209810.4]
  assign auto_out_a_valid = _T_2407 | s2_valid_uncached_pending; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_a_bits_opcode = _T_2413 ? 3'h4 : _T_2415_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_a_bits_param = _T_2413 ? 3'h0 : _T_2415_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_a_bits_size = _T_2413 ? _T_2353_size : _T_2415_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_a_bits_address = _T_2413 ? s2_req_addr : _T_2415_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_a_bits_mask = _T_2413 ? get_mask : _T_2415_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_a_bits_data = _T_2413 ? 32'h0 : _T_2415_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_c_valid = s2_release_data_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_d_ready = _T_2580 ? 1'h0 : _GEN_133; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign auto_out_e_valid = _T_2496 ? 1'h0 : _T_2481; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206439.4]
  assign io_cpu_req_ready = _T_2580 ? _GEN_134 : _GEN_18; // @[DCache.scala 159:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206596.4 DCache.scala 173:64:shc.marmotcaravel.MarmotCaravelConfig.fir@206705.6 DCache.scala 181:53:shc.marmotcaravel.MarmotCaravelConfig.fir@206774.6 DCache.scala 192:98:shc.marmotcaravel.MarmotCaravelConfig.fir@206796.6 DCache.scala 578:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209290.8]
  assign io_cpu_s2_nack = _T_2784 ? 1'h0 : _T_970; // @[DCache.scala 300:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207361.4 DCache.scala 767:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209658.6]
  assign io_cpu_resp_valid = doUncachedResp ? 1'h1 : s2_valid_hit_pre_data_ecc; // @[DCache.scala 692:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209442.4 DCache.scala 724:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209570.6]
  assign io_cpu_resp_bits_addr = doUncachedResp ? s2_uncached_resp_addr : s2_req_addr; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209443.4 DCache.scala 726:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209572.6]
  assign io_cpu_resp_bits_tag = s2_req_tag; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209443.4]
  assign io_cpu_resp_bits_cmd = s2_req_cmd; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209443.4]
  assign io_cpu_resp_bits_typ = s2_req_typ; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209443.4]
  assign io_cpu_resp_bits_data = {_T_2756,_T_2746}; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209443.4 DCache.scala 735:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209613.4]
  assign io_cpu_resp_bits_replay = doUncachedResp; // @[DCache.scala 695:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209445.4 DCache.scala 725:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209571.6]
  assign io_cpu_resp_bits_has_data = _T_602 | _T_619; // @[DCache.scala 694:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209444.4]
  assign io_cpu_resp_bits_data_word_bypass = {_T_800,_T_799}; // @[DCache.scala 736:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209614.4]
  assign io_cpu_resp_bits_data_raw = {_T_800,_T_799}; // @[DCache.scala 737:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209615.4]
  assign io_cpu_resp_bits_store_data = pstore1_data; // @[DCache.scala 738:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209616.4]
  assign io_cpu_replay_next = _T_2463 & data_1; // @[DCache.scala 719:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209554.4]
  assign io_cpu_s2_xcpt_ma_ld = s2_req_phys ? 1'h0 : _T_2692_ma_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209510.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.6]
  assign io_cpu_s2_xcpt_ma_st = s2_req_phys ? 1'h0 : _T_2692_ma_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209510.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.6]
  assign io_cpu_s2_xcpt_pf_ld = s2_req_phys ? 1'h0 : _T_2692_pf_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209510.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.6]
  assign io_cpu_s2_xcpt_pf_st = s2_req_phys ? 1'h0 : _T_2692_pf_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209510.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.6]
  assign io_cpu_s2_xcpt_ae_ld = s2_req_phys ? 1'h0 : _T_2692_ae_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209510.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.6]
  assign io_cpu_s2_xcpt_ae_st = s2_req_phys ? 1'h0 : _T_2692_ae_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209510.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.6]
  assign io_cpu_ordered = _T_2668 == 1'h0; // @[DCache.scala 701:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209457.4]
  assign io_cpu_perf_grant = d_last & _T_2463; // @[DCache.scala 829:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209790.4]
  assign io_cpu_clock_enabled = clock_en_reg; // @[DCache.scala 89:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206441.4]
  assign metaArb_io_in_0_valid = resetting; // @[DCache.scala 800:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209696.4]
  assign metaArb_io_in_0_bits_addr = metaArb_io_in_5_bits_addr; // @[DCache.scala 801:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209697.4]
  assign metaArb_io_in_2_valid = s2_valid_hit_pre_data_ecc & s2_update_meta; // @[DCache.scala 317:26:shc.marmotcaravel.MarmotCaravelConfig.fir@207401.4]
  assign metaArb_io_in_2_bits_addr = {_T_984,_T_998}; // @[DCache.scala 321:30:shc.marmotcaravel.MarmotCaravelConfig.fir@207410.4]
  assign metaArb_io_in_3_valid = _T_2497 & _T_2498; // @[DCache.scala 564:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209196.4]
  assign metaArb_io_in_3_bits_addr = {_T_984,_T_998}; // @[DCache.scala 568:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209204.4]
  assign metaArb_io_in_4_valid = _T_2649 | _T_2650; // @[DCache.scala 683:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209422.4]
  assign metaArb_io_in_4_bits_addr = {_T_984,14'h0}; // @[DCache.scala 687:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209430.4]
  assign metaArb_io_in_5_valid = 1'h0; // @[DCache.scala 775:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209686.4]
  assign metaArb_io_in_5_bits_addr = {_T_984,_T_2810}; // @[DCache.scala 778:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209693.4]
  assign metaArb_io_in_5_bits_idx = flushCounter; // @[DCache.scala 777:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209689.4]
  assign metaArb_io_in_7_valid = io_cpu_req_valid; // @[DCache.scala 175:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206765.4]
  assign metaArb_io_in_7_bits_addr = io_cpu_req_bits_addr; // @[DCache.scala 178:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206769.4]
  assign metaArb_io_out_ready = clock_en_reg; // @[DCache.scala 114:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206485.4]
  assign data_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@206465.4]
  assign data_io_req_valid = dataArb_io_out_valid; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206474.4]
  assign data_io_req_bits_addr = dataArb_io_out_bits_addr; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206474.4]
  assign data_io_req_bits_write = dataArb_io_out_bits_write; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206474.4]
  assign data_io_req_bits_wdata = {_T_259,_T_258}; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206474.4 DCache.scala 112:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206483.4]
  assign data_io_req_bits_eccMask = dataArb_io_out_bits_eccMask; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@206474.4]
  assign dataArb_io_in_0_valid = pstore_drain_structural | _T_1219; // @[DCache.scala 403:26:shc.marmotcaravel.MarmotCaravelConfig.fir@207790.4]
  assign dataArb_io_in_0_bits_addr = _T_1291[13:0]; // @[DCache.scala 405:30:shc.marmotcaravel.MarmotCaravelConfig.fir@207793.4]
  assign dataArb_io_in_0_bits_write = pstore_drain_structural | _T_1219; // @[DCache.scala 404:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207791.4]
  assign dataArb_io_in_0_bits_wdata = pstore2_valid ? pstore2_storegen_data : pstore1_data; // @[DCache.scala 407:31:shc.marmotcaravel.MarmotCaravelConfig.fir@207797.4]
  assign dataArb_io_in_0_bits_eccMask = {_T_1306,_T_1305}; // @[DCache.scala 410:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207814.4]
  assign dataArb_io_in_1_valid = _T_2580 ? _GEN_135 : _T_2493; // @[DCache.scala 543:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209185.4 DCache.scala 579:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209291.8]
  assign dataArb_io_in_1_bits_addr = dataArb_io_in_0_bits_addr; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209192.4]
  assign dataArb_io_in_1_bits_write = _T_2580 ? _GEN_136 : dataArb_io_in_0_bits_write; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209192.4 DCache.scala 580:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209292.8]
  assign dataArb_io_in_1_bits_wdata = dataArb_io_in_0_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206471.4 DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209192.4]
  assign dataArb_io_in_1_bits_eccMask = dataArb_io_in_0_bits_eccMask; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209192.4]
  assign dataArb_io_in_2_valid = inWriteback & _T_2640; // @[DCache.scala 676:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209406.4]
  assign dataArb_io_in_2_bits_addr = {{8'd0}, _T_2645}; // @[DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209407.4 DCache.scala 679:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209414.4]
  assign dataArb_io_in_2_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206472.4 DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209407.4]
  assign dataArb_io_in_2_bits_eccMask = dataArb_io_in_1_bits_eccMask; // @[DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209407.4]
  assign dataArb_io_in_3_valid = io_cpu_req_valid & res; // @[DCache.scala 167:26:shc.marmotcaravel.MarmotCaravelConfig.fir@206694.4]
  assign dataArb_io_in_3_bits_addr = io_cpu_req_bits_addr[13:0]; // @[DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206695.4 DCache.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@206697.4]
  assign dataArb_io_in_3_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@206473.4 DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206695.4]
  assign dataArb_io_in_3_bits_eccMask = dataArb_io_in_1_bits_eccMask; // @[DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206695.4]
  assign tlb_io_req_valid = s1_valid_masked & s1_readwrite; // @[DCache.scala 187:20:shc.marmotcaravel.MarmotCaravelConfig.fir@206785.4]
  assign tlb_io_req_bits_vaddr = s1_req_addr; // @[DCache.scala 189:25:shc.marmotcaravel.MarmotCaravelConfig.fir@206787.4]
  assign tlb_io_req_bits_size = s1_req_typ[1:0]; // @[DCache.scala 190:24:shc.marmotcaravel.MarmotCaravelConfig.fir@206788.4]
  assign tlb_io_req_bits_cmd = s1_req_cmd; // @[DCache.scala 191:23:shc.marmotcaravel.MarmotCaravelConfig.fir@206789.4]
  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@206780.4]
  assign amoalu_io_cmd = pstore1_cmd; // @[DCache.scala 745:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209622.4]
  assign amoalu_io_lhs = {_T_800,_T_799}; // @[DCache.scala 746:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209623.4]
  assign amoalu_io_rhs = pstore1_data; // @[DCache.scala 747:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209624.4]
  assign _GEN_190 = _T_2463 & grantIsCached; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209111.10]
  assign _GEN_193 = _T_2463 & _T_2899; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209132.14]
  assign _GEN_194 = _GEN_193 & d_last; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209132.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_2429 = _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_2672 = _RAND_45[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  _T_2674_pf_ld = _RAND_46[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  _T_2674_pf_st = _RAND_47[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  _T_2674_ae_ld = _RAND_48[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  _T_2674_ae_st = _RAND_49[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  _T_2674_ma_ld = _RAND_50[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  _T_2674_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_2839 | _T_2585;
    if (_T_2580) begin
      if (auto_out_d_valid) begin
        blockUncachedGrant <= _T_2495;
      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_2429 <= 10'h0;
    end else begin
      if (_T_2463) begin
        if (d_first) begin
          if (_T_2426) begin
            _T_2429 <= _T_2425;
          end else begin
            _T_2429 <= 10'h0;
          end
        end else begin
          _T_2429 <= _T_2432;
        end
      end
    end
    if (reset) begin
      release_state <= 3'h0;
    end else begin
      if (_T_2660) begin
        release_state <= 3'h0;
      end
    end
    if (reset) begin
      blockProbeAfterGrantCount <= 3'h0;
    end else begin
      if (_T_2463) begin
        if (grantIsCached) begin
          if (d_last) begin
            blockProbeAfterGrantCount <= 3'h7;
          end else begin
            if (_T_2585) begin
              blockProbeAfterGrantCount <= _T_2458;
            end
          end
        end else begin
          if (_T_2585) begin
            blockProbeAfterGrantCount <= _T_2458;
          end
        end
      end else begin
        if (_T_2585) begin
          blockProbeAfterGrantCount <= _T_2458;
        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_2463) 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_2463) 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_2476;
        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_2803 & _T_332;
    if (reset) begin
      cached_grant_wait <= 1'h0;
    end else begin
      if (_T_2463) 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_2463) begin
        if (grantIsCached) begin
          if (_T_2418) begin
            uncachedInFlight_0 <= 1'h1;
          end
        end else begin
          if (d_last) begin
            uncachedInFlight_0 <= 1'h0;
          end else begin
            if (_T_2418) begin
              uncachedInFlight_0 <= 1'h1;
            end
          end
        end
      end else begin
        if (_T_2418) begin
          uncachedInFlight_0 <= 1'h1;
        end
      end
    end
    if (_T_2418) begin
      uncachedReqs_0_addr <= s2_req_addr;
    end
    if (_T_2418) begin
      uncachedReqs_0_tag <= s2_req_tag;
    end
    if (_T_2418) begin
      uncachedReqs_0_typ <= s2_req_typ;
    end
    if (_T_2463) 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_2463) 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_2463) 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_2672 <= tlb_io_req_valid & _T_271;
    if (s1_valid_not_nacked) begin
      _T_2674_pf_ld <= tlb_io_resp_pf_ld;
    end
    if (s1_valid_not_nacked) begin
      _T_2674_pf_st <= tlb_io_resp_pf_st;
    end
    if (s1_valid_not_nacked) begin
      _T_2674_ae_ld <= tlb_io_resp_ae_ld;
    end
    if (s1_valid_not_nacked) begin
      _T_2674_ae_st <= tlb_io_resp_ae_st;
    end
    if (s1_valid_not_nacked) begin
      _T_2674_ma_ld <= tlb_io_resp_ma_ld;
    end
    if (s1_valid_not_nacked) begin
      _T_2674_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@206690.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@206691.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@207633.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@207634.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@207672.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@207673.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2447) 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@209076.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2447) begin
          $fatal; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209077.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_190 & _T_2466) 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@209111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_190 & _T_2466) begin
          $fatal; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_194 & _T_2472) 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@209132.14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_194 & _T_2472) begin
          $fatal; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209133.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@209157.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@209158.14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2492) 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@209180.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2492) begin
          $fatal; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209181.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (s2_req_phys & _T_2697) 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@209518.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (s2_req_phys & _T_2697) begin
          $fatal; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209519.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2715) 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@209549.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2715) begin
          $fatal; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209550.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (doUncachedResp & _T_2723) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:723 assert(!s2_valid_hit)\n"); // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209567.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (doUncachedResp & _T_2723) begin
          $fatal; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209568.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ICache( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209824.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209825.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209826.4]
  output        auto_slave_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input         auto_slave_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [2:0]  auto_slave_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [1:0]  auto_slave_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [6:0]  auto_slave_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [27:0] auto_slave_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [3:0]  auto_slave_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [31:0] auto_slave_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input         auto_slave_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output        auto_slave_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output [2:0]  auto_slave_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output [1:0]  auto_slave_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output [6:0]  auto_slave_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output [31:0] auto_slave_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input         auto_master_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output        auto_master_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output [31:0] auto_master_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output        auto_master_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input         auto_master_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [2:0]  auto_master_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [3:0]  auto_master_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input  [31:0] auto_master_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  input         auto_master_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209827.4]
  output        io_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input  [31:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input  [31:0] io_s1_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input  [31:0] io_s2_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input         io_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input         io_s2_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  output [31:0] io_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  output        io_resp_bits_ae, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input         io_invalidate, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  input         io_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.4]
  output        io_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209828.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@209956.4]
  wire  tag_array_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire  tag_array_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire  tag_array_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire [19:0] tag_array_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire [19:0] tag_array_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire [19:0] tag_array_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire [19:0] tag_array_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire  tag_array_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire  tag_array_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.4]
  wire [10:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire [31:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire [31:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire [31:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire [31:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  reg  scratchpadOn; // @[ICache.scala 120:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209840.4]
  reg [31:0] _RAND_0;
  reg [6:0] scratchpadMax; // @[ICache.scala 121:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209841.4]
  reg [31:0] _RAND_1;
  reg  s1_slaveValid; // @[ICache.scala 132:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209844.4]
  reg [31:0] _RAND_2;
  wire  _T_663; // @[ICache.scala 312:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210239.4]
  reg  s2_slaveValid; // @[ICache.scala 133:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209846.4]
  reg [31:0] _RAND_3;
  wire  _T_664; // @[ICache.scala 312:57:shc.marmotcaravel.MarmotCaravelConfig.fir@210240.4]
  reg  s3_slaveValid; // @[ICache.scala 134:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209848.4]
  reg [31:0] _RAND_4;
  wire  _T_665; // @[ICache.scala 312:74:shc.marmotcaravel.MarmotCaravelConfig.fir@210241.4]
  reg  tl_in_d_valid; // @[ICache.scala 311:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210238.4]
  reg [31:0] _RAND_5;
  wire  _T_666; // @[ICache.scala 312:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210242.4]
  wire  _T_667; // @[ICache.scala 312:107:shc.marmotcaravel.MarmotCaravelConfig.fir@210243.4]
  wire  _T_668; // @[ICache.scala 312:104:shc.marmotcaravel.MarmotCaravelConfig.fir@210244.4]
  wire  tl_in_a_ready; // @[ICache.scala 312:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210245.4]
  wire  s0_slaveValid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209843.4]
  reg  s1_valid; // @[ICache.scala 136:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209850.4]
  reg [31:0] _RAND_6;
  reg [255:0] vb_array; // @[ICache.scala 195:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209986.4]
  reg [255:0] _RAND_7;
  wire [6:0] _T_420; // @[ICache.scala 216:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210014.4]
  wire [7:0] _T_443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210037.4]
  wire [255:0] _T_444; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210038.4]
  wire  _T_445; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210039.4]
  wire  _T_446; // @[ICache.scala 222:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210040.4]
  wire  _T_447; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210041.4]
  wire [18:0] _T_449; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210043.4]
  wire [18:0] _T_421; // @[ICache.scala 217:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210015.4]
  wire  _T_450; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210044.4]
  wire  _T_451; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210045.4]
  reg [13:0] s1s3_slaveAddr; // @[ICache.scala 212:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210012.4]
  reg [31:0] _RAND_8;
  wire [7:0] _T_423; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210017.4]
  wire [7:0] _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
  wire  _T_424; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
  wire  _T_425; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210019.4]
  wire  _T_426; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210020.4]
  wire  _T_427; // @[ICache.scala 220:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210021.4]
  wire  _T_428; // @[ICache.scala 220:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210022.4]
  wire  _T_429; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@210023.4]
  wire  _T_432; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210026.4]
  wire  _T_433; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@210027.4]
  wire [7:0] _T_434; // @[ICache.scala 127:90:shc.marmotcaravel.MarmotCaravelConfig.fir@210028.4]
  wire  _T_435; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210029.4]
  wire  _T_436; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210030.4]
  wire  _T_437; // @[ICache.scala 127:66:shc.marmotcaravel.MarmotCaravelConfig.fir@210031.4]
  wire  _T_438; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210032.4]
  wire  _T_439; // @[ICache.scala 221:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210033.4]
  wire  _T_440; // @[ICache.scala 221:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210034.4]
  wire  _T_441; // @[ICache.scala 219:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210035.4]
  wire  s1_tag_hit_0; // @[ICache.scala 228:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210052.4]
  wire [7:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210077.4]
  wire [255:0] _T_481; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210078.4]
  wire  _T_482; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210079.4]
  wire  _T_484; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210081.4]
  wire [18:0] _T_486; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210083.4]
  wire  _T_487; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210084.4]
  wire  s1_tag_hit_1; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210085.4]
  wire  _T_270; // @[ICache.scala 138:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209853.4]
  wire  _T_276; // @[ICache.scala 138:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209859.4]
  wire  s1_hit; // @[ICache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209860.4]
  wire  _T_277; // @[ICache.scala 140:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209861.4]
  wire  _T_278; // @[ICache.scala 140:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209862.4]
  reg  s2_valid; // @[ICache.scala 140:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209863.4]
  reg [31:0] _RAND_9;
  reg  s2_hit; // @[ICache.scala 141:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209865.4]
  reg [31:0] _RAND_10;
  reg  invalidated; // @[ICache.scala 143:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209867.4]
  reg [31:0] _RAND_11;
  reg  refill_valid; // @[ICache.scala 144:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209868.4]
  reg [31:0] _RAND_12;
  wire  _T_287; // @[ICache.scala 148:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209874.4]
  wire  _T_288; // @[ICache.scala 148:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209875.4]
  wire  _T_289; // @[ICache.scala 148:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209876.4]
  wire  s2_miss; // @[ICache.scala 148:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209877.4]
  reg  _T_292; // @[ICache.scala 150:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209880.4]
  reg [31:0] _RAND_13;
  wire  s2_request_refill; // @[ICache.scala 150:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209882.4]
  wire  refill_fire; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209870.4]
  wire  _T_290; // @[ICache.scala 149:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209878.4]
  wire  s1_can_request_refill; // @[ICache.scala 149:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209879.4]
  wire  _T_293; // @[ICache.scala 151:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209883.4]
  reg [31:0] refill_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209884.4]
  reg [31:0] _RAND_14;
  wire [18:0] refill_tag; // @[ICache.scala 152:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209888.4]
  wire [6:0] refill_idx; // @[ICache.scala 153:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209889.4]
  wire  tl_out_d_ready; // @[ICache.scala 163:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209923.4]
  wire  _T_295; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209890.4]
  wire  _T_296; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209891.4]
  wire  refill_one_beat; // @[ICache.scala 154:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209892.4]
  wire  _T_297; // @[ICache.scala 156:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209893.4]
  wire  _T_298; // @[ICache.scala 156:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209894.4]
  wire  s0_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209897.4]
  wire [26:0] _T_302; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209901.4]
  wire [11:0] _T_303; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@209902.4]
  wire [11:0] _T_304; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209903.4]
  wire [9:0] _T_305; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209904.4]
  wire [9:0] _T_307; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209906.4]
  reg [9:0] _T_309; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209907.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_310; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209908.4]
  wire [10:0] _T_311; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.4]
  wire [9:0] _T_312; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209910.4]
  wire  _T_313; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209911.4]
  wire  _T_314; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209912.4]
  wire  _T_315; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209913.4]
  wire  _T_316; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209914.4]
  wire  d_done; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209915.4]
  wire [9:0] _T_317; // @[Edges.scala 234:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209916.4]
  wire [9:0] refill_cnt; // @[Edges.scala 234:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209917.4]
  wire  refill_done; // @[ICache.scala 162:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209922.4]
  reg [15:0] _T_321; // @[LFSR.scala 22:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209925.4]
  reg [31:0] _RAND_16;
  wire  _T_322; // @[LFSR.scala 23:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209927.6]
  wire  _T_323; // @[LFSR.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209928.6]
  wire  _T_324; // @[LFSR.scala 23:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209929.6]
  wire  _T_325; // @[LFSR.scala 23:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209930.6]
  wire  _T_326; // @[LFSR.scala 23:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209931.6]
  wire  _T_327; // @[LFSR.scala 23:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209932.6]
  wire  _T_328; // @[LFSR.scala 23:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209933.6]
  wire [14:0] _T_329; // @[LFSR.scala 23:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209934.6]
  wire [15:0] _T_330; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209935.6]
  wire [7:0] _T_333; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209940.4]
  wire  _T_334; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209941.4]
  wire  _T_335; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209942.4]
  wire  repl_way; // @[ICache.scala 172:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209944.4]
  wire [7:0] _T_337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209945.4]
  wire  _T_338; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209946.4]
  wire  _T_339; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209947.4]
  wire  _T_340; // @[ICache.scala 174:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209948.4]
  wire  _T_342; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209950.4]
  wire  _T_343; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209951.4]
  wire [6:0] _T_352; // @[ICache.scala 185:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209957.4]
  wire  _T_353; // @[ICache.scala 185:70:shc.marmotcaravel.MarmotCaravelConfig.fir@209958.4]
  wire  _T_354; // @[ICache.scala 185:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209959.4]
  wire  _T_388; // @[ICache.scala 198:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209989.6]
  wire  _T_389; // @[ICache.scala 198:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209990.6]
  wire [255:0] _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209991.6]
  wire [255:0] _T_391; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209992.6]
  wire [255:0] _T_392; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209993.6]
  wire [255:0] _T_393; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209994.6]
  wire [255:0] _T_394; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209995.6]
  wire  _T_677; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.6]
  wire  _T_678; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.6]
  wire [7:0] _T_681; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210272.8]
  wire  _T_682; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210273.8]
  wire  _T_683; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210274.8]
  wire  _T_684; // @[ICache.scala 321:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210275.8]
  wire  _GEN_56; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.8]
  wire  _GEN_58; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210269.6]
  wire  invalidate; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.4]
  reg [31:0] s1s3_slaveData; // @[ICache.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  reg [31:0] _RAND_17;
  wire  _T_448; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210042.4]
  wire  s1_tl_error_0; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210050.4]
  wire  _T_485; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210082.4]
  wire  s1_tl_error_1; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210090.4]
  wire  _T_494; // @[ICache.scala 230:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210094.4]
  wire  _T_495; // @[ICache.scala 230:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210095.4]
  wire [1:0] _T_500; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@210100.4]
  wire  _T_501; // @[ICache.scala 230:115:shc.marmotcaravel.MarmotCaravelConfig.fir@210101.4]
  wire  _T_502; // @[ICache.scala 230:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210102.4]
  wire  _T_504; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
  wire  _T_505; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
  wire  _T_518; // @[ICache.scala 247:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210115.4]
  wire  _T_520; // @[ICache.scala 248:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210117.4]
  wire  _T_523; // @[ICache.scala 248:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210120.4]
  wire [10:0] _GEN_82; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
  wire [10:0] _T_524; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
  wire [10:0] _GEN_83; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
  wire [10:0] _T_525; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
  wire [10:0] _T_526; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210123.4]
  wire [10:0] _T_527; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.4]
  wire [10:0] _T_528; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210125.4]
  wire [10:0] _T_529; // @[ICache.scala 251:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210126.4]
  wire [10:0] _T_530; // @[ICache.scala 250:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210127.4]
  wire  _T_535; // @[ICache.scala 255:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210133.6]
  wire  _T_554; // @[ICache.scala 258:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210148.4]
  wire  _T_555; // @[ICache.scala 258:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210149.4]
  wire [31:0] s1_dout_0; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@210161.4]
  wire [31:0] s1_dout_1; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@210161.4]
  reg  s2_tag_hit_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210165.4]
  reg [31:0] _RAND_18;
  reg  s2_tag_hit_1; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210165.4]
  reg [31:0] _RAND_19;
  reg [31:0] s2_dout_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210176.4]
  reg [31:0] _RAND_20;
  reg [31:0] s2_dout_1; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210176.4]
  reg [31:0] _RAND_21;
  wire [31:0] _T_611; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210181.4]
  wire [31:0] _T_612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210182.4]
  wire [31:0] s2_way_mux; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210183.4]
  wire [1:0] _T_635; // @[ICache.scala 272:43:shc.marmotcaravel.MarmotCaravelConfig.fir@210193.4]
  wire  _T_636; // @[ICache.scala 272:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210194.4]
  reg  s2_tl_error; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210195.4]
  reg [31:0] _RAND_22;
  reg [2:0] _T_671_opcode; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
  reg [31:0] _RAND_23;
  wire  _T_672; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210258.4]
  wire  _T_673; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210259.4]
  reg [3:0] _T_671_mask; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
  reg [31:0] _RAND_24;
  reg [1:0] tl_in_d_bits_size; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
  reg [31:0] _RAND_25;
  reg [6:0] tl_in_d_bits_source; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
  reg [31:0] _RAND_26;
  wire  _T_679; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210270.8]
  wire  _T_680; // @[ICache.scala 129:43:shc.marmotcaravel.MarmotCaravelConfig.fir@210271.8]
  wire [7:0] _GEN_55; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.8]
  wire [7:0] _GEN_57; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210269.6]
  wire [27:0] _GEN_60; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.4]
  wire [7:0] _GEN_62; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.4]
  wire  _T_699; // @[ICache.scala 340:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210297.4]
  reg [31:0] _T_701; // @[ICache.scala 340:44:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_27;
  reg [31:0] _T_703; // @[ICache.scala 340:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210300.4]
  reg [31:0] _RAND_28;
  wire  _T_704; // @[ICache.scala 340:56:shc.marmotcaravel.MarmotCaravelConfig.fir@210302.4]
  wire  _T_705; // @[ICache.scala 340:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210303.4]
  wire  _T_707; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210305.4]
  wire  _T_708; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210306.4]
  wire  _T_720; // @[ICache.scala 352:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210327.4]
  wire  _T_721; // @[ICache.scala 352:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210328.4]
  wire  _T_722; // @[ICache.scala 352:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210329.4]
  wire  _T_734; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210348.6]
  wire  _T_735; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210349.6]
  wire  _T_736; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210350.6]
  wire [31:0] _T_737; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210351.6]
  wire [7:0] _T_738; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210352.6]
  wire  _T_741; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210355.6]
  wire  _T_742; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210356.6]
  wire  _T_743; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210357.6]
  wire [31:0] _T_744; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210358.6]
  wire [7:0] _T_745; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210359.6]
  wire  _T_748; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210362.6]
  wire  _T_749; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210363.6]
  wire  _T_750; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.6]
  wire [31:0] _T_751; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210365.6]
  wire [7:0] _T_752; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210366.6]
  wire  _T_755; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210369.6]
  wire  _T_756; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210370.6]
  wire  _T_757; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210371.6]
  wire [31:0] _T_758; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210372.6]
  wire [7:0] _T_759; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210373.6]
  wire [15:0] _T_760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210374.6]
  wire [15:0] _T_761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210375.6]
  wire [31:0] _T_762; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210376.6]
  wire [25:0] _T_776; // @[ICache.scala 381:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210415.4]
  wire [31:0] _GEN_89; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210416.4]
  wire [31:0] tl_out_a_bits_address; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210416.4]
  wire  _T_889; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@210540.4]
  wire  _T_892; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210543.4]
  wire  _T_893; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@210544.4]
  wire  _T_894; // @[ICache.scala 416:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210545.4]
  wire  _T_895; // @[ICache.scala 416:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210546.4]
  wire  _T_897; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210548.4]
  wire  _T_898; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210549.4]
  wire  _T_899; // @[ICache.scala 418:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210554.4]
  wire  _T_900; // @[ICache.scala 424:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210565.4]
  wire  _T_901; // @[ICache.scala 424:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210566.4]
  wire  _T_902; // @[ICache.scala 424:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210567.4]
  wire  _T_903; // @[ICache.scala 424:80:shc.marmotcaravel.MarmotCaravelConfig.fir@210568.4]
  wire  _T_904; // @[ICache.scala 424:117:shc.marmotcaravel.MarmotCaravelConfig.fir@210569.4]
  wire  _T_905; // @[ICache.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210570.4]
  tag_array tag_array ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.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@210110.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@210239.4]
  assign _T_664 = _T_663 | s2_slaveValid; // @[ICache.scala 312:57:shc.marmotcaravel.MarmotCaravelConfig.fir@210240.4]
  assign _T_665 = _T_664 | s3_slaveValid; // @[ICache.scala 312:74:shc.marmotcaravel.MarmotCaravelConfig.fir@210241.4]
  assign _T_666 = _T_665 | tl_in_d_valid; // @[ICache.scala 312:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210242.4]
  assign _T_667 = io_clock_enabled == 1'h0; // @[ICache.scala 312:107:shc.marmotcaravel.MarmotCaravelConfig.fir@210243.4]
  assign _T_668 = _T_666 | _T_667; // @[ICache.scala 312:104:shc.marmotcaravel.MarmotCaravelConfig.fir@210244.4]
  assign tl_in_a_ready = _T_668 == 1'h0; // @[ICache.scala 312:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210245.4]
  assign s0_slaveValid = tl_in_a_ready & auto_slave_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209843.4]
  assign _T_420 = io_s1_paddr[12:6]; // @[ICache.scala 216:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210014.4]
  assign _T_443 = {1'h0,_T_420}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210037.4]
  assign _T_444 = vb_array >> _T_443; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210038.4]
  assign _T_445 = _T_444[0]; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210039.4]
  assign _T_446 = s1_slaveValid == 1'h0; // @[ICache.scala 222:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210040.4]
  assign _T_447 = _T_445 & _T_446; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210041.4]
  assign _T_449 = tag_array_RW0_rdata_0[18:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210043.4]
  assign _T_421 = io_s1_paddr[31:13]; // @[ICache.scala 217:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210015.4]
  assign _T_450 = _T_449 == _T_421; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210044.4]
  assign _T_451 = _T_447 & _T_450; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210045.4]
  assign _T_423 = s1s3_slaveAddr[13:6]; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210017.4]
  assign _GEN_75 = {{1'd0}, scratchpadMax}; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
  assign _T_424 = _T_423 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
  assign _T_425 = scratchpadOn & _T_424; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210019.4]
  assign _T_426 = s1s3_slaveAddr[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210020.4]
  assign _T_427 = _T_426 == 1'h0; // @[ICache.scala 220:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210021.4]
  assign _T_428 = _T_425 & _T_427; // @[ICache.scala 220:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210022.4]
  assign _T_429 = io_s1_paddr >= 32'h8000000; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@210023.4]
  assign _T_432 = io_s1_paddr < 32'h8004000; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210026.4]
  assign _T_433 = _T_429 & _T_432; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@210027.4]
  assign _T_434 = io_s1_paddr[13:6]; // @[ICache.scala 127:90:shc.marmotcaravel.MarmotCaravelConfig.fir@210028.4]
  assign _T_435 = _T_434 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210029.4]
  assign _T_436 = scratchpadOn & _T_435; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210030.4]
  assign _T_437 = _T_433 & _T_436; // @[ICache.scala 127:66:shc.marmotcaravel.MarmotCaravelConfig.fir@210031.4]
  assign _T_438 = io_s1_paddr[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210032.4]
  assign _T_439 = _T_438 == 1'h0; // @[ICache.scala 221:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210033.4]
  assign _T_440 = _T_437 & _T_439; // @[ICache.scala 221:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210034.4]
  assign _T_441 = s1_slaveValid ? _T_428 : _T_440; // @[ICache.scala 219:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210035.4]
  assign s1_tag_hit_0 = _T_451 | _T_441; // @[ICache.scala 228:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210052.4]
  assign _T_480 = {1'h1,_T_420}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210077.4]
  assign _T_481 = vb_array >> _T_480; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210078.4]
  assign _T_482 = _T_481[0]; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210079.4]
  assign _T_484 = _T_482 & _T_446; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210081.4]
  assign _T_486 = tag_array_RW0_rdata_1[18:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210083.4]
  assign _T_487 = _T_486 == _T_421; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210084.4]
  assign s1_tag_hit_1 = _T_484 & _T_487; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210085.4]
  assign _T_270 = s1_tag_hit_0 | s1_tag_hit_1; // @[ICache.scala 138:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209853.4]
  assign _T_276 = s1_slaveValid ? 1'h1 : _T_433; // @[ICache.scala 138:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209859.4]
  assign s1_hit = _T_270 | _T_276; // @[ICache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209860.4]
  assign _T_277 = io_s1_kill == 1'h0; // @[ICache.scala 140:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209861.4]
  assign _T_278 = s1_valid & _T_277; // @[ICache.scala 140:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209862.4]
  assign _T_287 = s2_hit == 1'h0; // @[ICache.scala 148:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209874.4]
  assign _T_288 = s2_valid & _T_287; // @[ICache.scala 148:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209875.4]
  assign _T_289 = io_s2_kill == 1'h0; // @[ICache.scala 148:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209876.4]
  assign s2_miss = _T_288 & _T_289; // @[ICache.scala 148:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209877.4]
  assign s2_request_refill = s2_miss & _T_292; // @[ICache.scala 150:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209882.4]
  assign refill_fire = auto_master_out_a_ready & s2_request_refill; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209870.4]
  assign _T_290 = s2_miss | refill_valid; // @[ICache.scala 149:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209878.4]
  assign s1_can_request_refill = _T_290 == 1'h0; // @[ICache.scala 149:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209879.4]
  assign _T_293 = s1_valid & s1_can_request_refill; // @[ICache.scala 151:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209883.4]
  assign refill_tag = refill_addr[31:13]; // @[ICache.scala 152:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209888.4]
  assign refill_idx = refill_addr[12:6]; // @[ICache.scala 153:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209889.4]
  assign tl_out_d_ready = s3_slaveValid == 1'h0; // @[ICache.scala 163:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209923.4]
  assign _T_295 = tl_out_d_ready & auto_master_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209890.4]
  assign _T_296 = auto_master_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209891.4]
  assign refill_one_beat = _T_295 & _T_296; // @[ICache.scala 154:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209892.4]
  assign _T_297 = refill_one_beat | s0_slaveValid; // @[ICache.scala 156:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209893.4]
  assign _T_298 = _T_297 | s3_slaveValid; // @[ICache.scala 156:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209894.4]
  assign s0_valid = io_req_ready & io_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209897.4]
  assign _T_302 = 27'hfff << auto_master_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209901.4]
  assign _T_303 = _T_302[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@209902.4]
  assign _T_304 = ~ _T_303; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209903.4]
  assign _T_305 = _T_304[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209904.4]
  assign _T_307 = _T_296 ? _T_305 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209906.4]
  assign _T_310 = _T_309 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209908.4]
  assign _T_311 = $unsigned(_T_310); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.4]
  assign _T_312 = _T_311[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209910.4]
  assign _T_313 = _T_309 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209911.4]
  assign _T_314 = _T_309 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209912.4]
  assign _T_315 = _T_307 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209913.4]
  assign _T_316 = _T_314 | _T_315; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209914.4]
  assign d_done = _T_316 & _T_295; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209915.4]
  assign _T_317 = ~ _T_312; // @[Edges.scala 234:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209916.4]
  assign refill_cnt = _T_307 & _T_317; // @[Edges.scala 234:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209917.4]
  assign refill_done = refill_one_beat & d_done; // @[ICache.scala 162:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209922.4]
  assign _T_322 = _T_321[0]; // @[LFSR.scala 23:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209927.6]
  assign _T_323 = _T_321[2]; // @[LFSR.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209928.6]
  assign _T_324 = _T_322 ^ _T_323; // @[LFSR.scala 23:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209929.6]
  assign _T_325 = _T_321[3]; // @[LFSR.scala 23:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209930.6]
  assign _T_326 = _T_324 ^ _T_325; // @[LFSR.scala 23:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209931.6]
  assign _T_327 = _T_321[5]; // @[LFSR.scala 23:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209932.6]
  assign _T_328 = _T_326 ^ _T_327; // @[LFSR.scala 23:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209933.6]
  assign _T_329 = _T_321[15:1]; // @[LFSR.scala 23:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209934.6]
  assign _T_330 = {_T_328,_T_329}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209935.6]
  assign _T_333 = {_T_322,refill_idx}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209940.4]
  assign _T_334 = _T_333 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209941.4]
  assign _T_335 = scratchpadOn & _T_334; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209942.4]
  assign repl_way = _T_322 | _T_335; // @[ICache.scala 172:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209944.4]
  assign _T_337 = {repl_way,refill_idx}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209945.4]
  assign _T_338 = _T_337 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209946.4]
  assign _T_339 = scratchpadOn & _T_338; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209947.4]
  assign _T_340 = _T_339 == 1'h0; // @[ICache.scala 174:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209948.4]
  assign _T_342 = _T_340 | reset; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209950.4]
  assign _T_343 = _T_342 == 1'h0; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209951.4]
  assign _T_352 = io_req_bits_addr[12:6]; // @[ICache.scala 185:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209957.4]
  assign _T_353 = refill_done == 1'h0; // @[ICache.scala 185:70:shc.marmotcaravel.MarmotCaravelConfig.fir@209958.4]
  assign _T_354 = _T_353 & s0_valid; // @[ICache.scala 185:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209959.4]
  assign _T_388 = invalidated == 1'h0; // @[ICache.scala 198:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209989.6]
  assign _T_389 = refill_done & _T_388; // @[ICache.scala 198:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209990.6]
  assign _T_390 = 256'h1 << _T_337; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209991.6]
  assign _T_391 = vb_array | _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209992.6]
  assign _T_392 = ~ vb_array; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209993.6]
  assign _T_393 = _T_392 | _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209994.6]
  assign _T_394 = ~ _T_393; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209995.6]
  assign _T_677 = auto_slave_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.6]
  assign _T_678 = _T_677 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.6]
  assign _T_681 = auto_slave_in_a_bits_address[13:6]; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210272.8]
  assign _T_682 = _T_681 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210273.8]
  assign _T_683 = scratchpadOn & _T_682; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@210274.8]
  assign _T_684 = _T_683 == 1'h0; // @[ICache.scala 321:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210275.8]
  assign _GEN_56 = _T_684 ? 1'h1 : io_invalidate; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.8]
  assign _GEN_58 = _T_678 ? _GEN_56 : io_invalidate; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210269.6]
  assign invalidate = s0_slaveValid ? _GEN_58 : io_invalidate; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.4]
  assign _T_448 = tag_array_RW0_rdata_0[19]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210042.4]
  assign s1_tl_error_0 = _T_451 & _T_448; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210050.4]
  assign _T_485 = tag_array_RW0_rdata_1[19]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210082.4]
  assign s1_tl_error_1 = s1_tag_hit_1 & _T_485; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210090.4]
  assign _T_494 = s1_valid | s1_slaveValid; // @[ICache.scala 230:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210094.4]
  assign _T_495 = _T_494 == 1'h0; // @[ICache.scala 230:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210095.4]
  assign _T_500 = s1_tag_hit_0 + s1_tag_hit_1; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@210100.4]
  assign _T_501 = _T_500 <= 2'h1; // @[ICache.scala 230:115:shc.marmotcaravel.MarmotCaravelConfig.fir@210101.4]
  assign _T_502 = _T_495 | _T_501; // @[ICache.scala 230:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210102.4]
  assign _T_504 = _T_502 | reset; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
  assign _T_505 = _T_504 == 1'h0; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
  assign _T_518 = s0_valid | s0_slaveValid; // @[ICache.scala 247:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210115.4]
  assign _T_520 = refill_one_beat & _T_388; // @[ICache.scala 248:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210117.4]
  assign _T_523 = _T_520 | s3_slaveValid; // @[ICache.scala 248:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210120.4]
  assign _GEN_82 = {{4'd0}, refill_idx}; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
  assign _T_524 = _GEN_82 << 4; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
  assign _GEN_83 = {{1'd0}, refill_cnt}; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
  assign _T_525 = _T_524 | _GEN_83; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
  assign _T_526 = s1s3_slaveAddr[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210123.4]
  assign _T_527 = auto_slave_in_a_bits_address[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.4]
  assign _T_528 = io_req_bits_addr[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210125.4]
  assign _T_529 = s0_slaveValid ? _T_527 : _T_528; // @[ICache.scala 251:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210126.4]
  assign _T_530 = s3_slaveValid ? _T_526 : _T_529; // @[ICache.scala 250:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210127.4]
  assign _T_535 = s3_slaveValid ? _T_426 : repl_way; // @[ICache.scala 255:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210133.6]
  assign _T_554 = _T_523 == 1'h0; // @[ICache.scala 258:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210148.4]
  assign _T_555 = _T_554 & _T_518; // @[ICache.scala 258:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210149.4]
  assign s1_dout_0 = data_arrays_0_RW0_rdata_0; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@210161.4]
  assign s1_dout_1 = data_arrays_0_RW0_rdata_1; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@210161.4]
  assign _T_611 = s2_tag_hit_0 ? s2_dout_0 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210181.4]
  assign _T_612 = s2_tag_hit_1 ? s2_dout_1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210182.4]
  assign s2_way_mux = _T_611 | _T_612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210183.4]
  assign _T_635 = {s1_tl_error_1,s1_tl_error_0}; // @[ICache.scala 272:43:shc.marmotcaravel.MarmotCaravelConfig.fir@210193.4]
  assign _T_636 = _T_635 != 2'h0; // @[ICache.scala 272:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210194.4]
  assign _T_672 = _T_671_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210258.4]
  assign _T_673 = _T_672 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210259.4]
  assign _T_679 = auto_slave_in_a_bits_address[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210270.8]
  assign _T_680 = _T_679 < 1'h1; // @[ICache.scala 129:43:shc.marmotcaravel.MarmotCaravelConfig.fir@210271.8]
  assign _GEN_55 = _T_684 ? _T_681 : {{1'd0}, scratchpadMax}; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.8]
  assign _GEN_57 = _T_678 ? _GEN_55 : {{1'd0}, scratchpadMax}; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210269.6]
  assign _GEN_60 = s0_slaveValid ? auto_slave_in_a_bits_address : {{14'd0}, s1s3_slaveAddr}; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.4]
  assign _GEN_62 = s0_slaveValid ? _GEN_57 : {{1'd0}, scratchpadMax}; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.4]
  assign _T_699 = s2_valid == 1'h0; // @[ICache.scala 340:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210297.4]
  assign _T_704 = _T_703 == io_s2_vaddr; // @[ICache.scala 340:56:shc.marmotcaravel.MarmotCaravelConfig.fir@210302.4]
  assign _T_705 = _T_699 | _T_704; // @[ICache.scala 340:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210303.4]
  assign _T_707 = _T_705 | reset; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210305.4]
  assign _T_708 = _T_707 == 1'h0; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210306.4]
  assign _T_720 = auto_slave_in_d_ready == 1'h0; // @[ICache.scala 352:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210327.4]
  assign _T_721 = tl_in_d_valid & _T_720; // @[ICache.scala 352:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210328.4]
  assign _T_722 = s2_slaveValid | _T_721; // @[ICache.scala 352:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210329.4]
  assign _T_734 = _T_671_mask[0]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210348.6]
  assign _T_735 = _T_673 & _T_734; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210349.6]
  assign _T_736 = _T_735 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210350.6]
  assign _T_737 = _T_736 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210351.6]
  assign _T_738 = _T_737[7:0]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210352.6]
  assign _T_741 = _T_671_mask[1]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210355.6]
  assign _T_742 = _T_673 & _T_741; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210356.6]
  assign _T_743 = _T_742 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210357.6]
  assign _T_744 = _T_743 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210358.6]
  assign _T_745 = _T_744[15:8]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210359.6]
  assign _T_748 = _T_671_mask[2]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210362.6]
  assign _T_749 = _T_673 & _T_748; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210363.6]
  assign _T_750 = _T_749 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.6]
  assign _T_751 = _T_750 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210365.6]
  assign _T_752 = _T_751[23:16]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210366.6]
  assign _T_755 = _T_671_mask[3]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@210369.6]
  assign _T_756 = _T_673 & _T_755; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@210370.6]
  assign _T_757 = _T_756 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210371.6]
  assign _T_758 = _T_757 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210372.6]
  assign _T_759 = _T_758[31:24]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@210373.6]
  assign _T_760 = {_T_745,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210374.6]
  assign _T_761 = {_T_759,_T_752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210375.6]
  assign _T_762 = {_T_761,_T_760}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210376.6]
  assign _T_776 = refill_addr[31:6]; // @[ICache.scala 381:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210415.4]
  assign _GEN_89 = {{6'd0}, _T_776}; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210416.4]
  assign tl_out_a_bits_address = _GEN_89 << 6; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210416.4]
  assign _T_889 = tl_out_a_bits_address >= 32'h8000000; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@210540.4]
  assign _T_892 = tl_out_a_bits_address < 32'h8004000; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@210543.4]
  assign _T_893 = _T_889 & _T_892; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@210544.4]
  assign _T_894 = s2_request_refill & _T_893; // @[ICache.scala 416:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210545.4]
  assign _T_895 = _T_894 == 1'h0; // @[ICache.scala 416:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210546.4]
  assign _T_897 = _T_895 | reset; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210548.4]
  assign _T_898 = _T_897 == 1'h0; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210549.4]
  assign _T_899 = refill_valid == 1'h0; // @[ICache.scala 418:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210554.4]
  assign _T_900 = auto_slave_in_a_valid | tl_in_d_valid; // @[ICache.scala 424:32:shc.marmotcaravel.MarmotCaravelConfig.fir@210565.4]
  assign _T_901 = _T_900 | s1_slaveValid; // @[ICache.scala 424:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210566.4]
  assign _T_902 = _T_901 | s2_slaveValid; // @[ICache.scala 424:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210567.4]
  assign _T_903 = _T_902 | s3_slaveValid; // @[ICache.scala 424:80:shc.marmotcaravel.MarmotCaravelConfig.fir@210568.4]
  assign _T_904 = _T_903 | s1_valid; // @[ICache.scala 424:117:shc.marmotcaravel.MarmotCaravelConfig.fir@210569.4]
  assign _T_905 = _T_904 | s2_valid; // @[ICache.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210570.4]
  assign auto_slave_in_a_ready = _T_668 == 1'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign auto_slave_in_d_valid = tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign auto_slave_in_d_bits_opcode = _T_673 ? 3'h0 : 3'h1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign auto_slave_in_d_bits_size = tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign auto_slave_in_d_bits_source = tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign auto_slave_in_d_bits_data = s1s3_slaveData; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign auto_master_out_a_valid = s2_miss & _T_292; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209838.4]
  assign auto_master_out_a_bits_address = _GEN_89 << 6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209838.4]
  assign auto_master_out_d_ready = s3_slaveValid == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209838.4]
  assign io_req_ready = _T_298 == 1'h0; // @[ICache.scala 156:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209896.4]
  assign io_resp_valid = s2_valid & s2_hit; // @[ICache.scala 299:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210237.4]
  assign io_resp_bits_data = _T_611 | _T_612; // @[ICache.scala 296:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210233.4]
  assign io_resp_bits_ae = s2_tl_error; // @[ICache.scala 297:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210234.4]
  assign io_keep_clock_enabled = _T_905 | refill_valid; // @[ICache.scala 423:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210574.4]
  assign tag_array_RW0_wdata_0 = {auto_master_out_d_bits_corrupt,refill_tag}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209980.8]
  assign tag_array_RW0_wdata_1 = {auto_master_out_d_bits_corrupt,refill_tag}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209983.8]
  assign tag_array_RW0_wmask_0 = repl_way == 1'h0; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209978.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@209980.8]
  assign tag_array_RW0_wmask_1 = _T_322 | _T_335; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209978.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@209983.8]
  assign data_arrays_0_RW0_wdata_0 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210142.8]
  assign data_arrays_0_RW0_wdata_1 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210145.8]
  assign data_arrays_0_RW0_wmask_0 = _T_535 == 1'h0; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210140.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@210142.8]
  assign data_arrays_0_RW0_wmask_1 = s3_slaveValid ? _T_426 : repl_way; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210140.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@210145.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_899) 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@209953.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@209954.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@210107.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@210108.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@210308.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@210309.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_898) 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@210551.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_898) begin
          $fatal; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210552.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ShiftQueue( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210683.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210684.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210685.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input         io_enq_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input         io_enq_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input  [4:0]  io_enq_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input  [7:0]  io_enq_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input  [31:0] io_enq_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input  [1:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input         io_enq_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input         io_enq_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output        io_deq_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output        io_deq_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output [4:0]  io_deq_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output [7:0]  io_deq_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output [31:0] io_deq_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output        io_deq_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output        io_deq_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
  output [4:0]  io_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210686.4]
);
  reg  _T_60_0; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.4]
  reg [31:0] _RAND_0;
  reg  _T_60_1; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.4]
  reg [31:0] _RAND_1;
  reg  _T_60_2; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.4]
  reg [31:0] _RAND_2;
  reg  _T_60_3; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.4]
  reg [31:0] _RAND_3;
  reg  _T_60_4; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.4]
  reg [31:0] _RAND_4;
  reg  _T_82_0_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_5;
  reg  _T_82_0_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_6;
  reg [4:0] _T_82_0_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_7;
  reg [7:0] _T_82_0_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_8;
  reg [31:0] _T_82_0_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_9;
  reg [31:0] _T_82_0_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_10;
  reg  _T_82_0_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_11;
  reg  _T_82_0_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_12;
  reg  _T_82_1_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_13;
  reg  _T_82_1_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_14;
  reg [4:0] _T_82_1_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_15;
  reg [7:0] _T_82_1_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_16;
  reg [31:0] _T_82_1_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_17;
  reg [31:0] _T_82_1_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_18;
  reg  _T_82_1_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_19;
  reg  _T_82_1_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_20;
  reg  _T_82_2_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_21;
  reg  _T_82_2_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_22;
  reg [4:0] _T_82_2_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_23;
  reg [7:0] _T_82_2_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_24;
  reg [31:0] _T_82_2_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_25;
  reg [31:0] _T_82_2_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_26;
  reg  _T_82_2_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_27;
  reg  _T_82_2_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_28;
  reg  _T_82_3_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_29;
  reg  _T_82_3_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_30;
  reg [4:0] _T_82_3_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_31;
  reg [7:0] _T_82_3_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_32;
  reg [31:0] _T_82_3_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_33;
  reg [31:0] _T_82_3_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_34;
  reg  _T_82_3_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_35;
  reg  _T_82_3_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_36;
  reg  _T_82_4_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_37;
  reg  _T_82_4_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_38;
  reg [4:0] _T_82_4_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_39;
  reg [7:0] _T_82_4_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_40;
  reg [31:0] _T_82_4_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_41;
  reg [31:0] _T_82_4_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_42;
  reg  _T_82_4_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_43;
  reg  _T_82_4_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.4]
  reg [31:0] _RAND_44;
  wire  _T_91; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210701.4]
  wire  _T_93; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210703.4]
  wire  _T_94; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210704.4]
  wire  _T_97; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210707.4]
  wire  _T_98; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210708.4]
  wire  _T_99; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210709.4]
  wire  _T_106; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210719.4]
  wire  _T_111; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210725.4]
  wire  _T_112; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210726.4]
  wire  _T_115; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210729.4]
  wire  _T_116; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210730.4]
  wire  _T_117; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210731.4]
  wire  _T_124; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210741.4]
  wire  _T_129; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210747.4]
  wire  _T_130; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210748.4]
  wire  _T_133; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210751.4]
  wire  _T_134; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210752.4]
  wire  _T_135; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210753.4]
  wire  _T_142; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210763.4]
  wire  _T_147; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210769.4]
  wire  _T_148; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210770.4]
  wire  _T_151; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210773.4]
  wire  _T_152; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210774.4]
  wire  _T_153; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210775.4]
  wire  _T_160; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210785.4]
  wire  _T_164; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210790.4]
  wire  _T_168; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210794.4]
  wire  _T_169; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210795.4]
  wire  _T_170; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210796.4]
  wire  _T_177; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210806.4]
  wire [1:0] _T_181; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210820.4]
  wire [1:0] _T_182; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210821.4]
  wire [2:0] _T_183; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210822.4]
  assign _T_91 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210701.4]
  assign _T_93 = _T_91 & _T_60_0; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210703.4]
  assign _T_94 = _T_60_1 | _T_93; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210704.4]
  assign _T_97 = _T_60_0 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210707.4]
  assign _T_98 = _T_91 & _T_97; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210708.4]
  assign _T_99 = io_deq_ready ? _T_94 : _T_98; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210709.4]
  assign _T_106 = _T_91 | _T_60_0; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210719.4]
  assign _T_111 = _T_91 & _T_60_1; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210725.4]
  assign _T_112 = _T_60_2 | _T_111; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210726.4]
  assign _T_115 = _T_60_1 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210729.4]
  assign _T_116 = _T_93 & _T_115; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210730.4]
  assign _T_117 = io_deq_ready ? _T_112 : _T_116; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210731.4]
  assign _T_124 = _T_93 | _T_60_1; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210741.4]
  assign _T_129 = _T_91 & _T_60_2; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210747.4]
  assign _T_130 = _T_60_3 | _T_129; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210748.4]
  assign _T_133 = _T_60_2 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210751.4]
  assign _T_134 = _T_111 & _T_133; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210752.4]
  assign _T_135 = io_deq_ready ? _T_130 : _T_134; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210753.4]
  assign _T_142 = _T_111 | _T_60_2; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210763.4]
  assign _T_147 = _T_91 & _T_60_3; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210769.4]
  assign _T_148 = _T_60_4 | _T_147; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210770.4]
  assign _T_151 = _T_60_3 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210773.4]
  assign _T_152 = _T_129 & _T_151; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210774.4]
  assign _T_153 = io_deq_ready ? _T_148 : _T_152; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210775.4]
  assign _T_160 = _T_129 | _T_60_3; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210785.4]
  assign _T_164 = _T_91 & _T_60_4; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210790.4]
  assign _T_168 = _T_60_4 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210794.4]
  assign _T_169 = _T_147 & _T_168; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210795.4]
  assign _T_170 = io_deq_ready ? _T_164 : _T_169; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@210796.4]
  assign _T_177 = _T_147 | _T_60_4; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210806.4]
  assign _T_181 = {_T_60_1,_T_60_0}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210820.4]
  assign _T_182 = {_T_60_4,_T_60_3}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210821.4]
  assign _T_183 = {_T_182,_T_60_2}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210822.4]
  assign io_enq_ready = _T_60_4 == 1'h0; // @[ShiftQueue.scala 39:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210810.4]
  assign io_deq_valid = io_enq_valid ? 1'h1 : _T_60_0; // @[ShiftQueue.scala 40:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210811.4 ShiftQueue.scala 44:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210814.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@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.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@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.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@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.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@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.6]
  assign io_deq_bits_pc = _T_97 ? io_enq_bits_pc : _T_82_0_pc; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.6]
  assign io_deq_bits_data = _T_97 ? io_enq_bits_data : _T_82_0_data; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.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@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.6]
  assign io_deq_bits_replay = _T_97 ? io_enq_bits_replay : _T_82_0_replay; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210818.6]
  assign io_mask = {_T_183,_T_181}; // @[ShiftQueue.scala 52:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210824.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@211220.2]
  input  [31:0] io_req_bits_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  output [31:0] io_resp_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  output        io_resp_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
  input  [31:0] io_ptw_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@211223.4]
);
  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_0_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_0_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_1_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_1_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_2_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_2_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_3_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_3_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_4_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_4_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_5_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_5_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_6_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_6_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [29:0] pmp_io_pmp_7_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_pmp_7_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [31:0] pmp_io_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire  pmp_io_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.4]
  wire [19:0] vpn; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211244.4]
  wire [19:0] mpu_ppn; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@211286.4]
  wire [11:0] _T_223; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211289.4]
  wire [31:0] mpu_physaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@211290.4]
  wire [31:0] _T_227; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211309.4]
  wire [32:0] _T_228; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211310.4]
  wire [32:0] _T_229; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211311.4]
  wire [32:0] _T_230; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211312.4]
  wire  _T_231; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211313.4]
  wire [31:0] _T_232; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211314.4]
  wire [32:0] _T_233; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211315.4]
  wire [32:0] _T_234; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211316.4]
  wire [32:0] _T_235; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211317.4]
  wire  _T_236; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211318.4]
  wire [31:0] _T_237; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211319.4]
  wire [32:0] _T_238; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211320.4]
  wire [32:0] _T_239; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211321.4]
  wire [32:0] _T_240; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211322.4]
  wire  _T_241; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211323.4]
  wire [31:0] _T_242; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211324.4]
  wire [32:0] _T_243; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211325.4]
  wire [32:0] _T_244; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211326.4]
  wire [32:0] _T_245; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211327.4]
  wire  _T_246; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211328.4]
  wire [31:0] _T_247; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211329.4]
  wire [32:0] _T_248; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211330.4]
  wire [32:0] _T_249; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211331.4]
  wire [32:0] _T_250; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211332.4]
  wire  _T_251; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211333.4]
  wire [31:0] _T_252; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211334.4]
  wire [32:0] _T_253; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211335.4]
  wire [32:0] _T_254; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211336.4]
  wire [32:0] _T_255; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211337.4]
  wire  _T_256; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211338.4]
  wire [31:0] _T_257; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211339.4]
  wire [32:0] _T_258; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211340.4]
  wire [32:0] _T_259; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211341.4]
  wire [32:0] _T_260; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211342.4]
  wire  _T_261; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211343.4]
  wire [31:0] _T_262; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211344.4]
  wire [32:0] _T_263; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211345.4]
  wire [32:0] _T_264; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211346.4]
  wire [32:0] _T_265; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211347.4]
  wire  _T_266; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211348.4]
  wire [31:0] _T_267; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211349.4]
  wire [32:0] _T_268; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211350.4]
  wire [32:0] _T_269; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211351.4]
  wire [32:0] _T_270; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211352.4]
  wire  _T_271; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211353.4]
  wire [31:0] _T_272; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211354.4]
  wire [32:0] _T_273; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211355.4]
  wire [32:0] _T_274; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211356.4]
  wire [32:0] _T_275; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211357.4]
  wire  _T_276; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211358.4]
  wire [31:0] _T_277; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211359.4]
  wire [32:0] _T_278; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211360.4]
  wire [32:0] _T_279; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211361.4]
  wire [32:0] _T_280; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211362.4]
  wire  _T_281; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211363.4]
  wire [31:0] _T_282; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211364.4]
  wire [32:0] _T_283; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211365.4]
  wire [32:0] _T_284; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211366.4]
  wire [32:0] _T_285; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211367.4]
  wire  _T_286; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211368.4]
  wire [31:0] _T_287; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211369.4]
  wire [32:0] _T_288; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211370.4]
  wire [32:0] _T_289; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211371.4]
  wire [32:0] _T_290; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211372.4]
  wire  _T_291; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211373.4]
  wire [31:0] _T_292; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211374.4]
  wire [32:0] _T_293; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211375.4]
  wire [32:0] _T_294; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211376.4]
  wire [32:0] _T_295; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211377.4]
  wire  _T_296; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211378.4]
  wire [31:0] _T_297; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211379.4]
  wire [32:0] _T_298; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211380.4]
  wire [32:0] _T_299; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211381.4]
  wire [32:0] _T_300; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211382.4]
  wire  _T_301; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211383.4]
  wire [31:0] _T_302; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211384.4]
  wire [32:0] _T_303; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211385.4]
  wire [32:0] _T_304; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211386.4]
  wire [32:0] _T_305; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211387.4]
  wire  _T_306; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211388.4]
  wire [32:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211390.4]
  wire [32:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211391.4]
  wire [32:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211392.4]
  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211393.4]
  wire [31:0] _T_312; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211394.4]
  wire [32:0] _T_313; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211395.4]
  wire [32:0] _T_314; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211396.4]
  wire [32:0] _T_315; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211397.4]
  wire  _T_316; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211398.4]
  wire [31:0] _T_317; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211399.4]
  wire [32:0] _T_318; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211400.4]
  wire [32:0] _T_319; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211401.4]
  wire [32:0] _T_320; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211402.4]
  wire  _T_321; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211403.4]
  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211404.4]
  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211405.4]
  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211406.4]
  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211407.4]
  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211408.4]
  wire [31:0] _T_327; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211409.4]
  wire [32:0] _T_328; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211410.4]
  wire [32:0] _T_329; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211411.4]
  wire [32:0] _T_330; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211412.4]
  wire  _T_331; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211413.4]
  wire  _T_359; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211437.4]
  wire  _T_360; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211438.4]
  wire  _T_361; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211439.4]
  wire  _T_362; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211440.4]
  wire  _T_363; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211441.4]
  wire  _T_364; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211442.4]
  wire  _T_365; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211443.4]
  wire  _T_366; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211444.4]
  wire  _T_367; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211445.4]
  wire  _T_368; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211446.4]
  wire  _T_369; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211447.4]
  wire  _T_370; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211448.4]
  wire  _T_371; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211449.4]
  wire  _T_372; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211450.4]
  wire  _T_373; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211451.4]
  wire  _T_374; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211452.4]
  wire  _T_375; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211453.4]
  wire  _T_376; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211454.4]
  wire  _T_377; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211455.4]
  wire  legal_address; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211456.4]
  wire [32:0] _T_476; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211557.4]
  wire [32:0] _T_477; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211558.4]
  wire  _T_478; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211559.4]
  wire [32:0] _T_499; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211580.4]
  wire [32:0] _T_500; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211581.4]
  wire  _T_501; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211582.4]
  wire [32:0] _T_566; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211648.4]
  wire [32:0] _T_567; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211649.4]
  wire  _T_568; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211650.4]
  wire [32:0] _T_720; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211802.4]
  wire [32:0] _T_721; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211803.4]
  wire  _T_722; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211804.4]
  wire  _T_723; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@211805.4]
  wire  _T_724; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@211806.4]
  wire  _T_725; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@211807.4]
  wire  _T_732; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211813.4]
  wire  prot_x; // @[TLB.scala 200:40:shc.marmotcaravel.MarmotCaravelConfig.fir@211814.4]
  wire [1:0] _T_1390; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212823.4]
  wire [6:0] px_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@212828.4]
  wire [6:0] _T_1759; // @[TLB.scala 306:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213224.4]
  wire [6:0] _T_1760; // @[TLB.scala 306:33:shc.marmotcaravel.MarmotCaravelConfig.fir@213225.4]
  PMPChecker pmp ( // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211291.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@211244.4]
  assign mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@211286.4]
  assign _T_223 = io_req_bits_vaddr[11:0]; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211289.4]
  assign mpu_physaddr = {mpu_ppn,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@211290.4]
  assign _T_227 = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211309.4]
  assign _T_228 = {1'b0,$signed(_T_227)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211310.4]
  assign _T_229 = $signed(_T_228) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211311.4]
  assign _T_230 = $signed(_T_229); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211312.4]
  assign _T_231 = $signed(_T_230) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211313.4]
  assign _T_232 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211314.4]
  assign _T_233 = {1'b0,$signed(_T_232)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211315.4]
  assign _T_234 = $signed(_T_233) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211316.4]
  assign _T_235 = $signed(_T_234); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211317.4]
  assign _T_236 = $signed(_T_235) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211318.4]
  assign _T_237 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211319.4]
  assign _T_238 = {1'b0,$signed(_T_237)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211320.4]
  assign _T_239 = $signed(_T_238) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211321.4]
  assign _T_240 = $signed(_T_239); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211322.4]
  assign _T_241 = $signed(_T_240) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211323.4]
  assign _T_242 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211324.4]
  assign _T_243 = {1'b0,$signed(_T_242)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211325.4]
  assign _T_244 = $signed(_T_243) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211326.4]
  assign _T_245 = $signed(_T_244); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211327.4]
  assign _T_246 = $signed(_T_245) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211328.4]
  assign _T_247 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211329.4]
  assign _T_248 = {1'b0,$signed(_T_247)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211330.4]
  assign _T_249 = $signed(_T_248) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211331.4]
  assign _T_250 = $signed(_T_249); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211332.4]
  assign _T_251 = $signed(_T_250) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211333.4]
  assign _T_252 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211334.4]
  assign _T_253 = {1'b0,$signed(_T_252)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211335.4]
  assign _T_254 = $signed(_T_253) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211336.4]
  assign _T_255 = $signed(_T_254); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211337.4]
  assign _T_256 = $signed(_T_255) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211338.4]
  assign _T_257 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211339.4]
  assign _T_258 = {1'b0,$signed(_T_257)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211340.4]
  assign _T_259 = $signed(_T_258) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211341.4]
  assign _T_260 = $signed(_T_259); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211342.4]
  assign _T_261 = $signed(_T_260) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211343.4]
  assign _T_262 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211344.4]
  assign _T_263 = {1'b0,$signed(_T_262)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211345.4]
  assign _T_264 = $signed(_T_263) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211346.4]
  assign _T_265 = $signed(_T_264); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211347.4]
  assign _T_266 = $signed(_T_265) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211348.4]
  assign _T_267 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211349.4]
  assign _T_268 = {1'b0,$signed(_T_267)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211350.4]
  assign _T_269 = $signed(_T_268) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211351.4]
  assign _T_270 = $signed(_T_269); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211352.4]
  assign _T_271 = $signed(_T_270) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211353.4]
  assign _T_272 = mpu_physaddr ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211354.4]
  assign _T_273 = {1'b0,$signed(_T_272)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211355.4]
  assign _T_274 = $signed(_T_273) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211356.4]
  assign _T_275 = $signed(_T_274); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211357.4]
  assign _T_276 = $signed(_T_275) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211358.4]
  assign _T_277 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211359.4]
  assign _T_278 = {1'b0,$signed(_T_277)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211360.4]
  assign _T_279 = $signed(_T_278) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211361.4]
  assign _T_280 = $signed(_T_279); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211362.4]
  assign _T_281 = $signed(_T_280) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211363.4]
  assign _T_282 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211364.4]
  assign _T_283 = {1'b0,$signed(_T_282)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211365.4]
  assign _T_284 = $signed(_T_283) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211366.4]
  assign _T_285 = $signed(_T_284); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211367.4]
  assign _T_286 = $signed(_T_285) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211368.4]
  assign _T_287 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211369.4]
  assign _T_288 = {1'b0,$signed(_T_287)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211370.4]
  assign _T_289 = $signed(_T_288) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211371.4]
  assign _T_290 = $signed(_T_289); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211372.4]
  assign _T_291 = $signed(_T_290) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211373.4]
  assign _T_292 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211374.4]
  assign _T_293 = {1'b0,$signed(_T_292)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211375.4]
  assign _T_294 = $signed(_T_293) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211376.4]
  assign _T_295 = $signed(_T_294); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211377.4]
  assign _T_296 = $signed(_T_295) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211378.4]
  assign _T_297 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211379.4]
  assign _T_298 = {1'b0,$signed(_T_297)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211380.4]
  assign _T_299 = $signed(_T_298) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211381.4]
  assign _T_300 = $signed(_T_299); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211382.4]
  assign _T_301 = $signed(_T_300) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211383.4]
  assign _T_302 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211384.4]
  assign _T_303 = {1'b0,$signed(_T_302)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211385.4]
  assign _T_304 = $signed(_T_303) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211386.4]
  assign _T_305 = $signed(_T_304); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211387.4]
  assign _T_306 = $signed(_T_305) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211388.4]
  assign _T_308 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211390.4]
  assign _T_309 = $signed(_T_308) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211391.4]
  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211392.4]
  assign _T_311 = $signed(_T_310) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211393.4]
  assign _T_312 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211394.4]
  assign _T_313 = {1'b0,$signed(_T_312)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211395.4]
  assign _T_314 = $signed(_T_313) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211396.4]
  assign _T_315 = $signed(_T_314); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211397.4]
  assign _T_316 = $signed(_T_315) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211398.4]
  assign _T_317 = mpu_physaddr ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211399.4]
  assign _T_318 = {1'b0,$signed(_T_317)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211400.4]
  assign _T_319 = $signed(_T_318) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211401.4]
  assign _T_320 = $signed(_T_319); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211402.4]
  assign _T_321 = $signed(_T_320) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211403.4]
  assign _T_322 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211404.4]
  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211405.4]
  assign _T_324 = $signed(_T_323) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211406.4]
  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211407.4]
  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211408.4]
  assign _T_327 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@211409.4]
  assign _T_328 = {1'b0,$signed(_T_327)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@211410.4]
  assign _T_329 = $signed(_T_328) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211411.4]
  assign _T_330 = $signed(_T_329); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211412.4]
  assign _T_331 = $signed(_T_330) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211413.4]
  assign _T_359 = _T_231 | _T_236; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211437.4]
  assign _T_360 = _T_359 | _T_241; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211438.4]
  assign _T_361 = _T_360 | _T_246; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211439.4]
  assign _T_362 = _T_361 | _T_251; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211440.4]
  assign _T_363 = _T_362 | _T_256; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211441.4]
  assign _T_364 = _T_363 | _T_261; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211442.4]
  assign _T_365 = _T_364 | _T_266; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211443.4]
  assign _T_366 = _T_365 | _T_271; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211444.4]
  assign _T_367 = _T_366 | _T_276; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211445.4]
  assign _T_368 = _T_367 | _T_281; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211446.4]
  assign _T_369 = _T_368 | _T_286; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211447.4]
  assign _T_370 = _T_369 | _T_291; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211448.4]
  assign _T_371 = _T_370 | _T_296; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211449.4]
  assign _T_372 = _T_371 | _T_301; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211450.4]
  assign _T_373 = _T_372 | _T_306; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211451.4]
  assign _T_374 = _T_373 | _T_311; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211452.4]
  assign _T_375 = _T_374 | _T_316; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211453.4]
  assign _T_376 = _T_375 | _T_321; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211454.4]
  assign _T_377 = _T_376 | _T_326; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211455.4]
  assign legal_address = _T_377 | _T_331; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211456.4]
  assign _T_476 = $signed(_T_263) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211557.4]
  assign _T_477 = $signed(_T_476); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211558.4]
  assign _T_478 = $signed(_T_477) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211559.4]
  assign _T_499 = $signed(_T_308) & $signed(33'sh76010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211580.4]
  assign _T_500 = $signed(_T_499); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211581.4]
  assign _T_501 = $signed(_T_500) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211582.4]
  assign _T_566 = $signed(_T_273) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211648.4]
  assign _T_567 = $signed(_T_566); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211649.4]
  assign _T_568 = $signed(_T_567) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211650.4]
  assign _T_720 = $signed(_T_308) & $signed(33'shf6000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211802.4]
  assign _T_721 = $signed(_T_720); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211803.4]
  assign _T_722 = $signed(_T_721) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@211804.4]
  assign _T_723 = _T_501 | _T_478; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@211805.4]
  assign _T_724 = _T_723 | _T_568; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@211806.4]
  assign _T_725 = _T_724 | _T_722; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@211807.4]
  assign _T_732 = legal_address & _T_725; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@211813.4]
  assign prot_x = _T_732 & pmp_io_x; // @[TLB.scala 200:40:shc.marmotcaravel.MarmotCaravelConfig.fir@211814.4]
  assign _T_1390 = prot_x ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212823.4]
  assign px_array = {_T_1390,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@212828.4]
  assign _T_1759 = ~ px_array; // @[TLB.scala 306:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213224.4]
  assign _T_1760 = _T_1759 & 7'h40; // @[TLB.scala 306:33:shc.marmotcaravel.MarmotCaravelConfig.fir@213225.4]
  assign io_resp_paddr = {vpn,_T_223}; // @[TLB.scala 313:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213247.4]
  assign io_resp_ae_inst = _T_1760 != 7'h0; // @[TLB.scala 306:19:shc.marmotcaravel.MarmotCaravelConfig.fir@213227.4]
  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211297.4]
  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211298.4]
  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.4]
  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.4]
  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211301.4]
  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211302.4]
  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211303.4]
  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211304.4]
  assign pmp_io_addr = {mpu_ppn,_T_223}; // @[TLB.scala 187:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211295.4]
endmodule
module BTB( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213254.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213255.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213256.4]
  input  [31:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output        io_resp_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output        io_resp_bits_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output [31:0] io_resp_bits_target, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output [4:0]  io_resp_bits_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output [7:0]  io_resp_bits_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output        io_resp_bits_bht_value, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [4:0]  io_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [31:0] io_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [31:0] io_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [1:0]  io_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [7:0]  io_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [31:0] io_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_bht_advance_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_bht_advance_bits_bht_value, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_ras_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [1:0]  io_ras_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input  [31:0] io_ras_update_bits_returnAddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output        io_ras_head_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  output [31:0] io_ras_head_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
  input         io_flush // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213257.4]
);
  reg  _T_1161 [0:511]; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  reg [31:0] _RAND_0;
  wire  _T_1161__T_1232_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  wire [8:0] _T_1161__T_1232_addr; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  wire  _T_1161__T_1245_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  wire [8:0] _T_1161__T_1245_addr; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  wire  _T_1161__T_1245_mask; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  wire  _T_1161__T_1245_en; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  reg [12:0] idxs_0; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_1;
  reg [12:0] idxs_1; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_2;
  reg [12:0] idxs_2; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_3;
  reg [12:0] idxs_3; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_4;
  reg [12:0] idxs_4; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_5;
  reg [12:0] idxs_5; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_6;
  reg [12:0] idxs_6; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_7;
  reg [12:0] idxs_7; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_8;
  reg [12:0] idxs_8; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_9;
  reg [12:0] idxs_9; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_10;
  reg [12:0] idxs_10; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_11;
  reg [12:0] idxs_11; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_12;
  reg [12:0] idxs_12; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_13;
  reg [12:0] idxs_13; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_14;
  reg [12:0] idxs_14; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_15;
  reg [12:0] idxs_15; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_16;
  reg [12:0] idxs_16; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_17;
  reg [12:0] idxs_17; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_18;
  reg [12:0] idxs_18; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_19;
  reg [12:0] idxs_19; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_20;
  reg [12:0] idxs_20; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_21;
  reg [12:0] idxs_21; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_22;
  reg [12:0] idxs_22; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_23;
  reg [12:0] idxs_23; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_24;
  reg [12:0] idxs_24; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_25;
  reg [12:0] idxs_25; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_26;
  reg [12:0] idxs_26; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_27;
  reg [12:0] idxs_27; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213262.4]
  reg [31:0] _RAND_28;
  reg [2:0] idxPages_0; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_29;
  reg [2:0] idxPages_1; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_30;
  reg [2:0] idxPages_2; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_31;
  reg [2:0] idxPages_3; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_32;
  reg [2:0] idxPages_4; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_33;
  reg [2:0] idxPages_5; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_34;
  reg [2:0] idxPages_6; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_35;
  reg [2:0] idxPages_7; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_36;
  reg [2:0] idxPages_8; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_37;
  reg [2:0] idxPages_9; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_38;
  reg [2:0] idxPages_10; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_39;
  reg [2:0] idxPages_11; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_40;
  reg [2:0] idxPages_12; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_41;
  reg [2:0] idxPages_13; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_42;
  reg [2:0] idxPages_14; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_43;
  reg [2:0] idxPages_15; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_44;
  reg [2:0] idxPages_16; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_45;
  reg [2:0] idxPages_17; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_46;
  reg [2:0] idxPages_18; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_47;
  reg [2:0] idxPages_19; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_48;
  reg [2:0] idxPages_20; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_49;
  reg [2:0] idxPages_21; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_50;
  reg [2:0] idxPages_22; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_51;
  reg [2:0] idxPages_23; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_52;
  reg [2:0] idxPages_24; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_53;
  reg [2:0] idxPages_25; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_54;
  reg [2:0] idxPages_26; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_55;
  reg [2:0] idxPages_27; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213263.4]
  reg [31:0] _RAND_56;
  reg [12:0] tgts_0; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_57;
  reg [12:0] tgts_1; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_58;
  reg [12:0] tgts_2; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_59;
  reg [12:0] tgts_3; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_60;
  reg [12:0] tgts_4; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_61;
  reg [12:0] tgts_5; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_62;
  reg [12:0] tgts_6; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_63;
  reg [12:0] tgts_7; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_64;
  reg [12:0] tgts_8; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_65;
  reg [12:0] tgts_9; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_66;
  reg [12:0] tgts_10; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_67;
  reg [12:0] tgts_11; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_68;
  reg [12:0] tgts_12; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_69;
  reg [12:0] tgts_13; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_70;
  reg [12:0] tgts_14; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_71;
  reg [12:0] tgts_15; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_72;
  reg [12:0] tgts_16; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_73;
  reg [12:0] tgts_17; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_74;
  reg [12:0] tgts_18; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_75;
  reg [12:0] tgts_19; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_76;
  reg [12:0] tgts_20; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_77;
  reg [12:0] tgts_21; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_78;
  reg [12:0] tgts_22; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_79;
  reg [12:0] tgts_23; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_80;
  reg [12:0] tgts_24; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_81;
  reg [12:0] tgts_25; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_82;
  reg [12:0] tgts_26; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_83;
  reg [12:0] tgts_27; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213264.4]
  reg [31:0] _RAND_84;
  reg [2:0] tgtPages_0; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_85;
  reg [2:0] tgtPages_1; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_86;
  reg [2:0] tgtPages_2; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_87;
  reg [2:0] tgtPages_3; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_88;
  reg [2:0] tgtPages_4; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_89;
  reg [2:0] tgtPages_5; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_90;
  reg [2:0] tgtPages_6; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_91;
  reg [2:0] tgtPages_7; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_92;
  reg [2:0] tgtPages_8; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_93;
  reg [2:0] tgtPages_9; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_94;
  reg [2:0] tgtPages_10; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_95;
  reg [2:0] tgtPages_11; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_96;
  reg [2:0] tgtPages_12; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_97;
  reg [2:0] tgtPages_13; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_98;
  reg [2:0] tgtPages_14; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_99;
  reg [2:0] tgtPages_15; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_100;
  reg [2:0] tgtPages_16; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_101;
  reg [2:0] tgtPages_17; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_102;
  reg [2:0] tgtPages_18; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_103;
  reg [2:0] tgtPages_19; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_104;
  reg [2:0] tgtPages_20; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_105;
  reg [2:0] tgtPages_21; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_106;
  reg [2:0] tgtPages_22; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_107;
  reg [2:0] tgtPages_23; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_108;
  reg [2:0] tgtPages_24; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_109;
  reg [2:0] tgtPages_25; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_110;
  reg [2:0] tgtPages_26; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_111;
  reg [2:0] tgtPages_27; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213265.4]
  reg [31:0] _RAND_112;
  reg [17:0] pages_0; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213266.4]
  reg [31:0] _RAND_113;
  reg [17:0] pages_1; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213266.4]
  reg [31:0] _RAND_114;
  reg [17:0] pages_2; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213266.4]
  reg [31:0] _RAND_115;
  reg [17:0] pages_3; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213266.4]
  reg [31:0] _RAND_116;
  reg [17:0] pages_4; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213266.4]
  reg [31:0] _RAND_117;
  reg [17:0] pages_5; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213266.4]
  reg [31:0] _RAND_118;
  reg [5:0] pageValid; // @[BTB.scala 193:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213267.4]
  reg [31:0] _RAND_119;
  reg [27:0] isValid; // @[BTB.scala 195:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213268.4]
  reg [31:0] _RAND_120;
  reg [1:0] cfiType_0; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_121;
  reg [1:0] cfiType_1; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_122;
  reg [1:0] cfiType_2; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_123;
  reg [1:0] cfiType_3; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_124;
  reg [1:0] cfiType_4; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_125;
  reg [1:0] cfiType_5; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_126;
  reg [1:0] cfiType_6; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_127;
  reg [1:0] cfiType_7; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_128;
  reg [1:0] cfiType_8; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_129;
  reg [1:0] cfiType_9; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_130;
  reg [1:0] cfiType_10; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_131;
  reg [1:0] cfiType_11; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_132;
  reg [1:0] cfiType_12; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_133;
  reg [1:0] cfiType_13; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_134;
  reg [1:0] cfiType_14; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_135;
  reg [1:0] cfiType_15; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_136;
  reg [1:0] cfiType_16; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_137;
  reg [1:0] cfiType_17; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_138;
  reg [1:0] cfiType_18; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_139;
  reg [1:0] cfiType_19; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_140;
  reg [1:0] cfiType_20; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_141;
  reg [1:0] cfiType_21; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_142;
  reg [1:0] cfiType_22; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_143;
  reg [1:0] cfiType_23; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_144;
  reg [1:0] cfiType_24; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_145;
  reg [1:0] cfiType_25; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_146;
  reg [1:0] cfiType_26; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_147;
  reg [1:0] cfiType_27; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213269.4]
  reg [31:0] _RAND_148;
  reg  brIdx_0; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_149;
  reg  brIdx_1; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_150;
  reg  brIdx_2; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_151;
  reg  brIdx_3; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_152;
  reg  brIdx_4; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_153;
  reg  brIdx_5; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_154;
  reg  brIdx_6; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_155;
  reg  brIdx_7; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_156;
  reg  brIdx_8; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_157;
  reg  brIdx_9; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_158;
  reg  brIdx_10; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_159;
  reg  brIdx_11; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_160;
  reg  brIdx_12; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_161;
  reg  brIdx_13; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_162;
  reg  brIdx_14; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_163;
  reg  brIdx_15; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_164;
  reg  brIdx_16; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_165;
  reg  brIdx_17; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_166;
  reg  brIdx_18; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_167;
  reg  brIdx_19; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_168;
  reg  brIdx_20; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_169;
  reg  brIdx_21; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_170;
  reg  brIdx_22; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_171;
  reg  brIdx_23; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_172;
  reg  brIdx_24; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_173;
  reg  brIdx_25; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_174;
  reg  brIdx_26; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_175;
  reg  brIdx_27; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213270.4]
  reg [31:0] _RAND_176;
  reg  r_btb_update_valid; // @[Valid.scala 48:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213271.4]
  reg [31:0] _RAND_177;
  reg [4:0] r_btb_update_bits_prediction_entry; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213273.4]
  reg [31:0] _RAND_178;
  reg [31:0] r_btb_update_bits_pc; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213273.4]
  reg [31:0] _RAND_179;
  reg  r_btb_update_bits_isValid; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213273.4]
  reg [31:0] _RAND_180;
  reg [31:0] r_btb_update_bits_br_pc; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213273.4]
  reg [31:0] _RAND_181;
  reg [1:0] r_btb_update_bits_cfiType; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213273.4]
  reg [31:0] _RAND_182;
  wire [17:0] _T_248; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@213294.4]
  wire  _T_249; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213295.4]
  wire  _T_250; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213296.4]
  wire  _T_251; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213297.4]
  wire  _T_252; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213298.4]
  wire  _T_253; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213299.4]
  wire  _T_254; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213300.4]
  wire [1:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213301.4]
  wire [2:0] _T_256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213302.4]
  wire [1:0] _T_257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213303.4]
  wire [2:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213304.4]
  wire [5:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213305.4]
  wire [5:0] pageHit; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@213306.4]
  wire [12:0] _T_260; // @[BTB.scala 205:19:shc.marmotcaravel.MarmotCaravelConfig.fir@213307.4]
  wire  _T_261; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213308.4]
  wire  _T_262; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213309.4]
  wire  _T_263; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213310.4]
  wire  _T_264; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213311.4]
  wire  _T_265; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213312.4]
  wire  _T_266; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213313.4]
  wire  _T_267; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213314.4]
  wire  _T_268; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213315.4]
  wire  _T_269; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213316.4]
  wire  _T_270; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213317.4]
  wire  _T_271; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213318.4]
  wire  _T_272; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213319.4]
  wire  _T_273; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213320.4]
  wire  _T_274; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213321.4]
  wire  _T_275; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213322.4]
  wire  _T_276; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213323.4]
  wire  _T_277; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213324.4]
  wire  _T_278; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213325.4]
  wire  _T_279; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213326.4]
  wire  _T_280; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213327.4]
  wire  _T_281; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213328.4]
  wire  _T_282; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213329.4]
  wire  _T_283; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213330.4]
  wire  _T_284; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213331.4]
  wire  _T_285; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213332.4]
  wire  _T_286; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213333.4]
  wire  _T_287; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213334.4]
  wire  _T_288; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213335.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213336.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213337.4]
  wire [1:0] _T_291; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213338.4]
  wire [1:0] _T_292; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213339.4]
  wire [3:0] _T_293; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213340.4]
  wire [6:0] _T_294; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213341.4]
  wire [1:0] _T_295; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213342.4]
  wire [2:0] _T_296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213343.4]
  wire [1:0] _T_297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213344.4]
  wire [1:0] _T_298; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213345.4]
  wire [3:0] _T_299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213346.4]
  wire [6:0] _T_300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213347.4]
  wire [13:0] _T_301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213348.4]
  wire [1:0] _T_302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213349.4]
  wire [2:0] _T_303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213350.4]
  wire [1:0] _T_304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213351.4]
  wire [1:0] _T_305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213352.4]
  wire [3:0] _T_306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213353.4]
  wire [6:0] _T_307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213354.4]
  wire [1:0] _T_308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213355.4]
  wire [2:0] _T_309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213356.4]
  wire [1:0] _T_310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213357.4]
  wire [1:0] _T_311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213358.4]
  wire [3:0] _T_312; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213359.4]
  wire [6:0] _T_313; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213360.4]
  wire [13:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213361.4]
  wire [27:0] _T_315; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213362.4]
  wire [27:0] idxHit; // @[BTB.scala 206:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213363.4]
  wire [17:0] _T_316; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@213364.4]
  wire  _T_317; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213365.4]
  wire  _T_318; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213366.4]
  wire  _T_319; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213367.4]
  wire  _T_320; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213368.4]
  wire  _T_321; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213369.4]
  wire  _T_322; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213370.4]
  wire [1:0] _T_323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213371.4]
  wire [2:0] _T_324; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213372.4]
  wire [1:0] _T_325; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213373.4]
  wire [2:0] _T_326; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213374.4]
  wire [5:0] _T_327; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213375.4]
  wire [5:0] updatePageHit; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@213376.4]
  wire  updateHit; // @[BTB.scala 220:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213377.4]
  wire  useUpdatePageHit; // @[BTB.scala 222:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213378.4]
  wire  usePageHit; // @[BTB.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213379.4]
  wire  doIdxPageRepl; // @[BTB.scala 224:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213380.4]
  reg [2:0] nextPageRepl; // @[BTB.scala 225:25:shc.marmotcaravel.MarmotCaravelConfig.fir@213381.4]
  reg [31:0] _RAND_183;
  wire [4:0] _T_329; // @[BTB.scala 226:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213382.4]
  wire  _T_330; // @[BTB.scala 226:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213383.4]
  wire [5:0] _T_331; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213384.4]
  wire [7:0] _T_332; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@213385.4]
  wire [7:0] _T_333; // @[BTB.scala 226:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213386.4]
  wire [7:0] _GEN_438; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@213387.4]
  wire [7:0] idxPageRepl; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@213387.4]
  wire [7:0] idxPageUpdateOH; // @[BTB.scala 227:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213388.4]
  wire [3:0] _T_334; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213389.4]
  wire [3:0] _T_335; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213390.4]
  wire  _T_336; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213391.4]
  wire [3:0] _T_337; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213392.4]
  wire [1:0] _T_338; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213393.4]
  wire [1:0] _T_339; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213394.4]
  wire  _T_340; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213395.4]
  wire [1:0] _T_341; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213396.4]
  wire  _T_342; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213397.4]
  wire [1:0] _T_343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213398.4]
  wire [2:0] idxPageUpdate; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213399.4]
  wire [7:0] idxPageReplEn; // @[BTB.scala 229:26:shc.marmotcaravel.MarmotCaravelConfig.fir@213400.4]
  wire  samePage; // @[BTB.scala 231:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213403.4]
  wire  _T_346; // @[BTB.scala 232:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213404.4]
  wire  _T_347; // @[BTB.scala 232:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213405.4]
  wire  doTgtPageRepl; // @[BTB.scala 232:33:shc.marmotcaravel.MarmotCaravelConfig.fir@213406.4]
  wire [4:0] _T_348; // @[BTB.scala 233:71:shc.marmotcaravel.MarmotCaravelConfig.fir@213407.4]
  wire  _T_349; // @[BTB.scala 233:100:shc.marmotcaravel.MarmotCaravelConfig.fir@213408.4]
  wire [5:0] _T_350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213409.4]
  wire [7:0] tgtPageRepl; // @[BTB.scala 233:24:shc.marmotcaravel.MarmotCaravelConfig.fir@213410.4]
  wire [7:0] _T_351; // @[BTB.scala 234:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213411.4]
  wire [7:0] _GEN_439; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213412.4]
  wire [7:0] _T_352; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213412.4]
  wire [3:0] _T_353; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213413.4]
  wire [3:0] _T_354; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213414.4]
  wire  _T_355; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213415.4]
  wire [3:0] _T_356; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213416.4]
  wire [1:0] _T_357; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213417.4]
  wire [1:0] _T_358; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213418.4]
  wire  _T_359; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213419.4]
  wire [1:0] _T_360; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213420.4]
  wire  _T_361; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213421.4]
  wire [1:0] _T_362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213422.4]
  wire [2:0] tgtPageUpdate; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213423.4]
  wire [7:0] tgtPageReplEn; // @[BTB.scala 235:26:shc.marmotcaravel.MarmotCaravelConfig.fir@213424.4]
  wire  _T_363; // @[BTB.scala 237:46:shc.marmotcaravel.MarmotCaravelConfig.fir@213425.4]
  wire  _T_364; // @[BTB.scala 237:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213426.4]
  wire  _T_365; // @[BTB.scala 238:30:shc.marmotcaravel.MarmotCaravelConfig.fir@213428.6]
  wire [1:0] _T_366; // @[BTB.scala 239:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213429.6]
  wire [2:0] _GEN_440; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213430.6]
  wire [2:0] _T_368; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213431.6]
  wire  _T_369; // @[BTB.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@213432.6]
  wire  _T_370; // @[BTB.scala 240:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213433.6]
  reg [26:0] _T_373; // @[Replacement.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@213437.4]
  reg [31:0] _RAND_184;
  wire [27:0] _GEN_441; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213438.4]
  wire [27:0] _T_374; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213438.4]
  wire [27:0] _T_378; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213442.4]
  wire  _T_379; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213443.4]
  wire [1:0] _T_381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213445.4]
  wire [5:0] _T_382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213446.4]
  wire [4:0] _T_383; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213447.4]
  wire  _T_384; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213448.4]
  wire [27:0] _T_385; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213449.4]
  wire  _T_386; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213450.4]
  wire  _T_387; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213451.4]
  wire [2:0] _T_388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213452.4]
  wire [5:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213453.4]
  wire [4:0] _T_390; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213454.4]
  wire  _T_391; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213455.4]
  wire [27:0] _T_392; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213456.4]
  wire  _T_393; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213457.4]
  wire  _T_394; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213458.4]
  wire [3:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213459.4]
  wire [5:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213460.4]
  wire [4:0] _T_397; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213461.4]
  wire  _T_398; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213462.4]
  wire [27:0] _T_399; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213463.4]
  wire  _T_400; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213464.4]
  wire  _T_401; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213465.4]
  wire [4:0] _T_402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213466.4]
  wire [5:0] _T_403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213467.4]
  wire [4:0] _T_404; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213468.4]
  wire  _T_405; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213469.4]
  wire [27:0] _T_406; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213470.4]
  wire  _T_407; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213471.4]
  wire  _T_408; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213472.4]
  wire [5:0] _T_409; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213473.4]
  wire [4:0] _T_410; // @[Replacement.scala 63:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213474.4]
  wire [4:0] waddr; // @[BTB.scala 244:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213475.4]
  reg  r_resp_valid; // @[Valid.scala 48:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213476.4]
  reg [31:0] _RAND_185;
  reg  r_resp_bits_taken; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213478.4]
  reg [31:0] _RAND_186;
  reg [4:0] r_resp_bits_entry; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213478.4]
  reg [31:0] _RAND_187;
  wire  _T_419; // @[BTB.scala 246:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213493.4]
  wire  _T_420; // @[BTB.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213494.4]
  wire [4:0] _T_421; // @[BTB.scala 247:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213496.6]
  wire  _T_423; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213498.6]
  wire  _T_424; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213499.6]
  wire [1:0] _T_425; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213500.6]
  wire [27:0] _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213501.6]
  wire [27:0] _T_426; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213501.6]
  wire [27:0] _T_427; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213502.6]
  wire [27:0] _T_428; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213503.6]
  wire [27:0] _T_429; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213504.6]
  wire [27:0] _T_430; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213505.6]
  wire [1:0] _T_431; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213506.6]
  wire  _T_432; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213507.6]
  wire  _T_433; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213508.6]
  wire [3:0] _T_434; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213509.6]
  wire [27:0] _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213510.6]
  wire [27:0] _T_435; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213510.6]
  wire [27:0] _T_436; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213511.6]
  wire [27:0] _T_437; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213512.6]
  wire [27:0] _T_438; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213513.6]
  wire [27:0] _T_439; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213514.6]
  wire [2:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213515.6]
  wire  _T_441; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213516.6]
  wire  _T_442; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213517.6]
  wire [7:0] _T_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213518.6]
  wire [27:0] _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213519.6]
  wire [27:0] _T_444; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213519.6]
  wire [27:0] _T_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213520.6]
  wire [27:0] _T_446; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213521.6]
  wire [27:0] _T_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213522.6]
  wire [27:0] _T_448; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213523.6]
  wire [3:0] _T_449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213524.6]
  wire  _T_450; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213525.6]
  wire  _T_451; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213526.6]
  wire [15:0] _T_452; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213527.6]
  wire [27:0] _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213528.6]
  wire [27:0] _T_453; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213528.6]
  wire [27:0] _T_454; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213529.6]
  wire [27:0] _T_455; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213530.6]
  wire [27:0] _T_456; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213531.6]
  wire [27:0] _T_457; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213532.6]
  wire [4:0] _T_458; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213533.6]
  wire  _T_459; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213534.6]
  wire  _T_460; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213535.6]
  wire [31:0] _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213536.6]
  wire [31:0] _GEN_451; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213537.6]
  wire [31:0] _T_462; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213537.6]
  wire [27:0] _T_463; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213538.6]
  wire [31:0] _GEN_452; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213539.6]
  wire [31:0] _T_464; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213539.6]
  wire [31:0] _T_465; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213540.6]
  wire [31:0] _T_466; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213541.6]
  wire [26:0] _T_468; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@213543.6]
  wire [31:0] _T_469; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@213547.6]
  wire [12:0] _T_471; // @[BTB.scala 252:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213548.6]
  wire [3:0] _T_475; // @[BTB.scala 254:38:shc.marmotcaravel.MarmotCaravelConfig.fir@213552.6]
  wire [2:0] _idxPages_waddr; // @[BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213553.6 BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213553.6]
  wire [31:0] _GEN_453; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@213556.6]
  wire [31:0] _T_478; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@213556.6]
  wire [31:0] _T_479; // @[BTB.scala 257:73:shc.marmotcaravel.MarmotCaravelConfig.fir@213557.6]
  wire [31:0] _T_480; // @[BTB.scala 257:71:shc.marmotcaravel.MarmotCaravelConfig.fir@213558.6]
  wire [31:0] _T_481; // @[BTB.scala 257:19:shc.marmotcaravel.MarmotCaravelConfig.fir@213559.6]
  wire [30:0] _T_483; // @[BTB.scala 259:47:shc.marmotcaravel.MarmotCaravelConfig.fir@213561.6]
  wire  _brIdx_waddr; // @[BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213562.6 BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213562.6]
  wire  _T_484; // @[BTB.scala 262:39:shc.marmotcaravel.MarmotCaravelConfig.fir@213563.6]
  wire  _T_485; // @[BTB.scala 262:25:shc.marmotcaravel.MarmotCaravelConfig.fir@213564.6]
  wire [7:0] _T_486; // @[BTB.scala 268:24:shc.marmotcaravel.MarmotCaravelConfig.fir@213565.6]
  wire  _T_490; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213569.6]
  wire  _T_491; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213573.6]
  wire  _T_492; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213577.6]
  wire [7:0] _T_493; // @[BTB.scala 270:24:shc.marmotcaravel.MarmotCaravelConfig.fir@213581.6]
  wire  _T_497; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213585.6]
  wire  _T_498; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213589.6]
  wire  _T_499; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213593.6]
  wire [7:0] _GEN_455; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213597.6]
  wire [7:0] _T_500; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213597.6]
  wire [7:0] _T_501; // @[BTB.scala 272:44:shc.marmotcaravel.MarmotCaravelConfig.fir@213598.6]
  wire [31:0] _GEN_338; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213546.4]
  wire [7:0] _GEN_373; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213546.4]
  wire [6:0] _GEN_456; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213601.4]
  wire [6:0] _T_502; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213601.4]
  wire  _T_503; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213602.4]
  wire  _T_504; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213603.4]
  wire  _T_505; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213604.4]
  wire  _T_506; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213605.4]
  wire  _T_507; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213606.4]
  wire  _T_508; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213607.4]
  wire  _T_509; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213608.4]
  wire  _T_510; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213609.4]
  wire  _T_511; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213610.4]
  wire  _T_512; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213611.4]
  wire  _T_513; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213612.4]
  wire  _T_514; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213613.4]
  wire  _T_515; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213614.4]
  wire  _T_516; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213615.4]
  wire  _T_517; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213616.4]
  wire  _T_518; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213617.4]
  wire  _T_519; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213618.4]
  wire  _T_520; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213619.4]
  wire  _T_521; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213620.4]
  wire  _T_522; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213621.4]
  wire  _T_523; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213622.4]
  wire  _T_524; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213623.4]
  wire  _T_525; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213624.4]
  wire  _T_526; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213625.4]
  wire  _T_527; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213626.4]
  wire  _T_528; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213627.4]
  wire  _T_529; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213628.4]
  wire  _T_530; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213629.4]
  wire [2:0] _T_532; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213630.4]
  wire [2:0] _T_533; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213631.4]
  wire [2:0] _T_534; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213632.4]
  wire [2:0] _T_535; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213633.4]
  wire [2:0] _T_536; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213634.4]
  wire [2:0] _T_537; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213635.4]
  wire [2:0] _T_538; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213636.4]
  wire [2:0] _T_539; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213637.4]
  wire [2:0] _T_540; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213638.4]
  wire [2:0] _T_541; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213639.4]
  wire [2:0] _T_542; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213640.4]
  wire [2:0] _T_543; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213641.4]
  wire [2:0] _T_544; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213642.4]
  wire [2:0] _T_545; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213643.4]
  wire [2:0] _T_546; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213644.4]
  wire [2:0] _T_547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213645.4]
  wire [2:0] _T_548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213646.4]
  wire [2:0] _T_549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213647.4]
  wire [2:0] _T_550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213648.4]
  wire [2:0] _T_551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213649.4]
  wire [2:0] _T_552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213650.4]
  wire [2:0] _T_553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213651.4]
  wire [2:0] _T_554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213652.4]
  wire [2:0] _T_555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213653.4]
  wire [2:0] _T_556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213654.4]
  wire [2:0] _T_557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213655.4]
  wire [2:0] _T_558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213656.4]
  wire [2:0] _T_559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213657.4]
  wire [2:0] _T_560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213658.4]
  wire [2:0] _T_561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213659.4]
  wire [2:0] _T_562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213660.4]
  wire [2:0] _T_563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213661.4]
  wire [2:0] _T_564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213662.4]
  wire [2:0] _T_565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213663.4]
  wire [2:0] _T_566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213664.4]
  wire [2:0] _T_567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213665.4]
  wire [2:0] _T_568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213666.4]
  wire [2:0] _T_569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213667.4]
  wire [2:0] _T_570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213668.4]
  wire [2:0] _T_571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213669.4]
  wire [2:0] _T_572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213670.4]
  wire [2:0] _T_573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213671.4]
  wire [2:0] _T_574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213672.4]
  wire [2:0] _T_575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213673.4]
  wire [2:0] _T_576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213674.4]
  wire [2:0] _T_577; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213675.4]
  wire [2:0] _T_578; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213676.4]
  wire [2:0] _T_579; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213677.4]
  wire [2:0] _T_580; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213678.4]
  wire [2:0] _T_581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213679.4]
  wire [2:0] _T_582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213680.4]
  wire [2:0] _T_583; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213681.4]
  wire [2:0] _T_584; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213682.4]
  wire [2:0] _T_585; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213683.4]
  wire [2:0] _T_586; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213684.4]
  wire [6:0] _T_589; // @[BTB.scala 275:34:shc.marmotcaravel.MarmotCaravelConfig.fir@213687.4]
  wire [2:0] _T_620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213719.4]
  wire [2:0] _T_621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213720.4]
  wire [2:0] _T_622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213721.4]
  wire [2:0] _T_623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213722.4]
  wire [2:0] _T_624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213723.4]
  wire [2:0] _T_625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213724.4]
  wire [2:0] _T_626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213725.4]
  wire [2:0] _T_627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213726.4]
  wire [2:0] _T_628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213727.4]
  wire [2:0] _T_629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213728.4]
  wire [2:0] _T_630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213729.4]
  wire [2:0] _T_631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213730.4]
  wire [2:0] _T_632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213731.4]
  wire [2:0] _T_633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213732.4]
  wire [2:0] _T_634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213733.4]
  wire [2:0] _T_635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213734.4]
  wire [2:0] _T_636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213735.4]
  wire [2:0] _T_637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213736.4]
  wire [2:0] _T_638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213737.4]
  wire [2:0] _T_639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213738.4]
  wire [2:0] _T_640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213739.4]
  wire [2:0] _T_641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213740.4]
  wire [2:0] _T_642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213741.4]
  wire [2:0] _T_643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213742.4]
  wire [2:0] _T_644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213743.4]
  wire [2:0] _T_645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213744.4]
  wire [2:0] _T_646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213745.4]
  wire [2:0] _T_647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213746.4]
  wire [2:0] _T_648; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213747.4]
  wire [2:0] _T_649; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213748.4]
  wire [2:0] _T_650; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213749.4]
  wire [2:0] _T_651; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213750.4]
  wire [2:0] _T_652; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213751.4]
  wire [2:0] _T_653; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213752.4]
  wire [2:0] _T_654; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213753.4]
  wire [2:0] _T_655; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213754.4]
  wire [2:0] _T_656; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213755.4]
  wire [2:0] _T_657; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213756.4]
  wire [2:0] _T_658; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213757.4]
  wire [2:0] _T_659; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213758.4]
  wire [2:0] _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213759.4]
  wire [2:0] _T_661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213760.4]
  wire [2:0] _T_662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213761.4]
  wire [2:0] _T_663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213762.4]
  wire [2:0] _T_664; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213763.4]
  wire [2:0] _T_665; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213764.4]
  wire [2:0] _T_666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213765.4]
  wire [2:0] _T_667; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213766.4]
  wire [2:0] _T_668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213767.4]
  wire [2:0] _T_669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213768.4]
  wire [2:0] _T_670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213769.4]
  wire [2:0] _T_671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213770.4]
  wire [2:0] _T_672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213771.4]
  wire [2:0] _T_673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213772.4]
  wire [2:0] _T_674; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213773.4]
  wire [12:0] _T_707; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213804.4]
  wire [12:0] _T_708; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213805.4]
  wire [12:0] _T_709; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213806.4]
  wire [12:0] _T_710; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213807.4]
  wire [12:0] _T_711; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213808.4]
  wire [12:0] _T_712; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213809.4]
  wire [12:0] _T_713; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213810.4]
  wire [12:0] _T_714; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213811.4]
  wire [12:0] _T_715; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213812.4]
  wire [12:0] _T_716; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213813.4]
  wire [12:0] _T_717; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213814.4]
  wire [12:0] _T_718; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213815.4]
  wire [12:0] _T_719; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213816.4]
  wire [12:0] _T_720; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213817.4]
  wire [12:0] _T_721; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213818.4]
  wire [12:0] _T_722; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213819.4]
  wire [12:0] _T_723; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213820.4]
  wire [12:0] _T_724; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213821.4]
  wire [12:0] _T_725; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213822.4]
  wire [12:0] _T_726; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213823.4]
  wire [12:0] _T_727; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213824.4]
  wire [12:0] _T_728; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213825.4]
  wire [12:0] _T_729; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213826.4]
  wire [12:0] _T_730; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213827.4]
  wire [12:0] _T_731; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213828.4]
  wire [12:0] _T_732; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213829.4]
  wire [12:0] _T_733; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213830.4]
  wire [12:0] _T_734; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213831.4]
  wire [12:0] _T_735; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213832.4]
  wire [12:0] _T_736; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213833.4]
  wire [12:0] _T_737; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213834.4]
  wire [12:0] _T_738; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213835.4]
  wire [12:0] _T_739; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213836.4]
  wire [12:0] _T_740; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213837.4]
  wire [12:0] _T_741; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213838.4]
  wire [12:0] _T_742; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213839.4]
  wire [12:0] _T_743; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213840.4]
  wire [12:0] _T_744; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213841.4]
  wire [12:0] _T_745; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213842.4]
  wire [12:0] _T_746; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213843.4]
  wire [12:0] _T_747; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213844.4]
  wire [12:0] _T_748; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213845.4]
  wire [12:0] _T_749; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213846.4]
  wire [12:0] _T_750; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213847.4]
  wire [12:0] _T_751; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213848.4]
  wire [12:0] _T_752; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213849.4]
  wire [12:0] _T_753; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213850.4]
  wire [12:0] _T_754; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213851.4]
  wire [12:0] _T_755; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213852.4]
  wire [12:0] _T_756; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213853.4]
  wire [12:0] _T_757; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213854.4]
  wire [12:0] _T_758; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213855.4]
  wire [12:0] _T_759; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213856.4]
  wire [12:0] _T_760; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213857.4]
  wire [12:0] _T_761; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213858.4]
  wire [13:0] _GEN_457; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@213861.4]
  wire [13:0] _T_764; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@213861.4]
  wire [17:0] _GEN_375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  wire [17:0] _GEN_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  wire [17:0] _GEN_377; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  wire [17:0] _GEN_378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  wire [17:0] _GEN_379; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  wire [31:0] _T_765; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  wire [11:0] _T_766; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213864.4]
  wire [15:0] _T_767; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213865.4]
  wire  _T_768; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213866.4]
  wire [15:0] _GEN_458; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213867.4]
  wire [15:0] _T_769; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213867.4]
  wire [7:0] _T_770; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213868.4]
  wire [7:0] _T_771; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213869.4]
  wire  _T_772; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213870.4]
  wire [7:0] _T_773; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213871.4]
  wire [3:0] _T_774; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213872.4]
  wire [3:0] _T_775; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213873.4]
  wire  _T_776; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213874.4]
  wire [3:0] _T_777; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213875.4]
  wire [1:0] _T_778; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213876.4]
  wire [1:0] _T_779; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213877.4]
  wire  _T_780; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213878.4]
  wire [1:0] _T_781; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213879.4]
  wire  _T_782; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213880.4]
  wire [1:0] _T_783; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213881.4]
  wire [2:0] _T_784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213882.4]
  wire [3:0] _T_785; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213883.4]
  wire  _T_816; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213914.4]
  wire  _T_817; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213915.4]
  wire  _T_818; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213916.4]
  wire  _T_819; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213917.4]
  wire  _T_820; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213918.4]
  wire  _T_821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213919.4]
  wire  _T_822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213920.4]
  wire  _T_823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213921.4]
  wire  _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213922.4]
  wire  _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213923.4]
  wire  _T_826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213924.4]
  wire  _T_827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213925.4]
  wire  _T_828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213926.4]
  wire  _T_829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213927.4]
  wire  _T_830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213928.4]
  wire  _T_831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213929.4]
  wire  _T_832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213930.4]
  wire  _T_833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213931.4]
  wire  _T_834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213932.4]
  wire  _T_835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213933.4]
  wire  _T_836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213934.4]
  wire  _T_837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213935.4]
  wire  _T_838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213936.4]
  wire  _T_839; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213937.4]
  wire  _T_840; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213938.4]
  wire  _T_841; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213939.4]
  wire  _T_842; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213940.4]
  wire  _T_843; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213941.4]
  wire  _T_844; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213942.4]
  wire  _T_845; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213943.4]
  wire  _T_846; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213944.4]
  wire  _T_847; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213945.4]
  wire  _T_848; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213946.4]
  wire  _T_849; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213947.4]
  wire  _T_850; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213948.4]
  wire  _T_851; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213949.4]
  wire  _T_852; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213950.4]
  wire  _T_853; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213951.4]
  wire  _T_854; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213952.4]
  wire  _T_855; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213953.4]
  wire  _T_856; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213954.4]
  wire  _T_857; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213955.4]
  wire  _T_858; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213956.4]
  wire  _T_859; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213957.4]
  wire  _T_860; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213958.4]
  wire  _T_861; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213959.4]
  wire  _T_862; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213960.4]
  wire  _T_863; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213961.4]
  wire  _T_864; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213962.4]
  wire  _T_865; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213963.4]
  wire  _T_866; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213964.4]
  wire  _T_867; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213965.4]
  wire  _T_868; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213966.4]
  wire  _T_869; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213967.4]
  wire [13:0] _T_967; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214067.4]
  wire [6:0] _T_968; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214068.4]
  wire [2:0] _T_969; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214069.4]
  wire  _T_970; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214070.4]
  wire [1:0] _T_972; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214072.4]
  wire  _T_973; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214073.4]
  wire  _T_975; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214075.4]
  wire  _T_977; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214077.4]
  wire  _T_979; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214079.4]
  wire  _T_981; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214081.4]
  wire  _T_983; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214083.4]
  wire  _T_984; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214084.4]
  wire [3:0] _T_985; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214085.4]
  wire [1:0] _T_986; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214086.4]
  wire  _T_987; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214087.4]
  wire  _T_989; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214089.4]
  wire  _T_991; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214091.4]
  wire  _T_993; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214093.4]
  wire [1:0] _T_995; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214095.4]
  wire  _T_996; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214096.4]
  wire  _T_998; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214098.4]
  wire  _T_1000; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214100.4]
  wire  _T_1002; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214102.4]
  wire  _T_1004; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214104.4]
  wire  _T_1005; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214105.4]
  wire  _T_1006; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214106.4]
  wire  _T_1007; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214107.4]
  wire  _T_1008; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214108.4]
  wire  _T_1009; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214109.4]
  wire  _T_1010; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214110.4]
  wire  _T_1011; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214111.4]
  wire [6:0] _T_1012; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214112.4]
  wire [2:0] _T_1013; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214113.4]
  wire  _T_1014; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214114.4]
  wire [1:0] _T_1016; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214116.4]
  wire  _T_1017; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214117.4]
  wire  _T_1019; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214119.4]
  wire  _T_1021; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214121.4]
  wire  _T_1023; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214123.4]
  wire  _T_1025; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214125.4]
  wire  _T_1027; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214127.4]
  wire  _T_1028; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214128.4]
  wire [3:0] _T_1029; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214129.4]
  wire [1:0] _T_1030; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214130.4]
  wire  _T_1031; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214131.4]
  wire  _T_1033; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214133.4]
  wire  _T_1035; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214135.4]
  wire  _T_1037; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214137.4]
  wire [1:0] _T_1039; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214139.4]
  wire  _T_1040; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214140.4]
  wire  _T_1042; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214142.4]
  wire  _T_1044; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214144.4]
  wire  _T_1046; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214146.4]
  wire  _T_1048; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214148.4]
  wire  _T_1049; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214149.4]
  wire  _T_1050; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214150.4]
  wire  _T_1051; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214151.4]
  wire  _T_1052; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214152.4]
  wire  _T_1053; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214153.4]
  wire  _T_1054; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214154.4]
  wire  _T_1055; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214155.4]
  wire  _T_1056; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214156.4]
  wire  _T_1057; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214157.4]
  wire  _T_1058; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214158.4]
  wire  _T_1059; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214159.4]
  wire [13:0] _T_1060; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214160.4]
  wire [6:0] _T_1061; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214161.4]
  wire [2:0] _T_1062; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214162.4]
  wire  _T_1063; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214163.4]
  wire [1:0] _T_1065; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214165.4]
  wire  _T_1066; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214166.4]
  wire  _T_1068; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214168.4]
  wire  _T_1070; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214170.4]
  wire  _T_1072; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214172.4]
  wire  _T_1074; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214174.4]
  wire  _T_1076; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214176.4]
  wire  _T_1077; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214177.4]
  wire [3:0] _T_1078; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214178.4]
  wire [1:0] _T_1079; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214179.4]
  wire  _T_1080; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214180.4]
  wire  _T_1082; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214182.4]
  wire  _T_1084; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214184.4]
  wire  _T_1086; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214186.4]
  wire [1:0] _T_1088; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214188.4]
  wire  _T_1089; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214189.4]
  wire  _T_1091; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214191.4]
  wire  _T_1093; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214193.4]
  wire  _T_1095; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214195.4]
  wire  _T_1097; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214197.4]
  wire  _T_1098; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214198.4]
  wire  _T_1099; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214199.4]
  wire  _T_1100; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214200.4]
  wire  _T_1101; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214201.4]
  wire  _T_1102; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214202.4]
  wire  _T_1103; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214203.4]
  wire  _T_1104; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214204.4]
  wire [6:0] _T_1105; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214205.4]
  wire [2:0] _T_1106; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214206.4]
  wire  _T_1107; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214207.4]
  wire [1:0] _T_1109; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214209.4]
  wire  _T_1110; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214210.4]
  wire  _T_1112; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214212.4]
  wire  _T_1114; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214214.4]
  wire  _T_1116; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214216.4]
  wire  _T_1118; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214218.4]
  wire  _T_1120; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214220.4]
  wire  _T_1121; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214221.4]
  wire [3:0] _T_1122; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214222.4]
  wire [1:0] _T_1123; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214223.4]
  wire  _T_1124; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214224.4]
  wire  _T_1126; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214226.4]
  wire  _T_1128; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214228.4]
  wire  _T_1130; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214230.4]
  wire [1:0] _T_1132; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214232.4]
  wire  _T_1133; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214233.4]
  wire  _T_1135; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214235.4]
  wire  _T_1137; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214237.4]
  wire  _T_1139; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214239.4]
  wire  _T_1141; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214241.4]
  wire  _T_1142; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214242.4]
  wire  _T_1143; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214243.4]
  wire  _T_1144; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214244.4]
  wire  _T_1145; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214245.4]
  wire  _T_1146; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214246.4]
  wire  _T_1147; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214247.4]
  wire  _T_1148; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214248.4]
  wire  _T_1149; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214249.4]
  wire  _T_1150; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214250.4]
  wire  _T_1151; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214251.4]
  wire  _T_1152; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214252.4]
  wire  _T_1154; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214254.4]
  wire  _T_1155; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  wire  _T_1156; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214256.4]
  wire [27:0] _T_1157; // @[BTB.scala 285:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214258.6]
  wire [27:0] _T_1158; // @[BTB.scala 285:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214259.6]
  wire [31:0] _GEN_380; // @[BTB.scala 284:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214257.4]
  wire [31:0] _GEN_381; // @[BTB.scala 287:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214262.4]
  reg [7:0] _T_1163; // @[BTB.scala 114:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214266.4]
  reg [31:0] _RAND_188;
  wire  _T_1164; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214267.4]
  wire  _T_1165; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214268.4]
  wire  _T_1166; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214269.4]
  wire  _T_1167; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214270.4]
  wire  _T_1168; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214271.4]
  wire  _T_1169; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214272.4]
  wire  _T_1170; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214273.4]
  wire  _T_1171; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214274.4]
  wire  _T_1172; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214275.4]
  wire  _T_1173; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214276.4]
  wire  _T_1174; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214277.4]
  wire  _T_1175; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214278.4]
  wire  _T_1176; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214279.4]
  wire  _T_1177; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214280.4]
  wire  _T_1178; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214281.4]
  wire  _T_1179; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214282.4]
  wire  _T_1180; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214283.4]
  wire  _T_1181; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214284.4]
  wire  _T_1182; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214285.4]
  wire  _T_1183; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214286.4]
  wire  _T_1184; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214287.4]
  wire  _T_1185; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214288.4]
  wire  _T_1186; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214289.4]
  wire  _T_1187; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214290.4]
  wire  _T_1188; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214291.4]
  wire  _T_1189; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214292.4]
  wire  _T_1190; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214293.4]
  wire  _T_1191; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214294.4]
  wire [1:0] _T_1192; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214295.4]
  wire [2:0] _T_1193; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214296.4]
  wire [1:0] _T_1194; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214297.4]
  wire [1:0] _T_1195; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214298.4]
  wire [3:0] _T_1196; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214299.4]
  wire [6:0] _T_1197; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214300.4]
  wire [1:0] _T_1198; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214301.4]
  wire [2:0] _T_1199; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214302.4]
  wire [1:0] _T_1200; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214303.4]
  wire [1:0] _T_1201; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214304.4]
  wire [3:0] _T_1202; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214305.4]
  wire [6:0] _T_1203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214306.4]
  wire [13:0] _T_1204; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214307.4]
  wire [1:0] _T_1205; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214308.4]
  wire [2:0] _T_1206; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214309.4]
  wire [1:0] _T_1207; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214310.4]
  wire [1:0] _T_1208; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214311.4]
  wire [3:0] _T_1209; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214312.4]
  wire [6:0] _T_1210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214313.4]
  wire [1:0] _T_1211; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214314.4]
  wire [2:0] _T_1212; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214315.4]
  wire [1:0] _T_1213; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214316.4]
  wire [1:0] _T_1214; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214317.4]
  wire [3:0] _T_1215; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214318.4]
  wire [6:0] _T_1216; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214319.4]
  wire [13:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214320.4]
  wire [27:0] _T_1218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214321.4]
  wire [27:0] _T_1219; // @[BTB.scala 293:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214322.4]
  wire  _T_1220; // @[BTB.scala 293:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214323.4]
  wire [29:0] _T_1223; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214326.4]
  wire [8:0] _T_1224; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214327.4]
  wire [20:0] _T_1225; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214328.4]
  wire [1:0] _T_1226; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214329.4]
  wire [8:0] _GEN_459; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
  wire [8:0] _T_1227; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
  wire [15:0] _T_1228; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214331.4]
  wire [2:0] _T_1229; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214332.4]
  wire [8:0] _GEN_460; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214333.4]
  wire [8:0] _T_1230; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214333.4]
  wire [6:0] _T_1234; // @[BTB.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214340.6]
  wire [7:0] _T_1235; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214341.6]
  wire [29:0] _T_1236; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214346.8]
  wire [8:0] _T_1237; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214347.8]
  wire [20:0] _T_1238; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214348.8]
  wire [1:0] _T_1239; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214349.8]
  wire [8:0] _GEN_461; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214350.8]
  wire [8:0] _T_1240; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214350.8]
  wire [15:0] _T_1241; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214351.8]
  wire [2:0] _T_1242; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214352.8]
  wire [8:0] _GEN_462; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214353.8]
  wire [8:0] _T_1243; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214353.8]
  wire [6:0] _T_1246; // @[BTB.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214358.10]
  wire [7:0] _T_1247; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214359.10]
  wire  _T_1222_value; // @[BTB.scala 92:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214324.4 BTB.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@214336.4]
  wire  _T_1249; // @[BTB.scala 308:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214369.4]
  wire  _T_1250; // @[BTB.scala 308:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214370.4]
  reg [2:0] _T_1252; // @[BTB.scala 57:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214375.4]
  reg [31:0] _RAND_189;
  reg [2:0] _T_1254; // @[BTB.scala 58:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214376.4]
  reg [31:0] _RAND_190;
  reg [31:0] _T_1258_0; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214377.4]
  reg [31:0] _RAND_191;
  reg [31:0] _T_1258_1; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214377.4]
  reg [31:0] _RAND_192;
  reg [31:0] _T_1258_2; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214377.4]
  reg [31:0] _RAND_193;
  reg [31:0] _T_1258_3; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214377.4]
  reg [31:0] _RAND_194;
  reg [31:0] _T_1258_4; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214377.4]
  reg [31:0] _RAND_195;
  reg [31:0] _T_1258_5; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214377.4]
  reg [31:0] _RAND_196;
  wire  _T_1267; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214378.4]
  wire  _T_1268; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214379.4]
  wire  _T_1269; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214380.4]
  wire  _T_1270; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214381.4]
  wire  _T_1271; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214382.4]
  wire  _T_1272; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214383.4]
  wire  _T_1273; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214384.4]
  wire  _T_1274; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214385.4]
  wire  _T_1275; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214386.4]
  wire  _T_1276; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214387.4]
  wire  _T_1277; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214388.4]
  wire  _T_1278; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214389.4]
  wire  _T_1279; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214390.4]
  wire  _T_1280; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214391.4]
  wire  _T_1281; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214392.4]
  wire  _T_1282; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214393.4]
  wire  _T_1283; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214394.4]
  wire  _T_1284; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214395.4]
  wire  _T_1285; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214396.4]
  wire  _T_1286; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214397.4]
  wire  _T_1287; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214398.4]
  wire  _T_1288; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214399.4]
  wire  _T_1289; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214400.4]
  wire  _T_1290; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214401.4]
  wire  _T_1291; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214402.4]
  wire  _T_1292; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214403.4]
  wire  _T_1293; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214404.4]
  wire  _T_1294; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214405.4]
  wire [1:0] _T_1295; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214406.4]
  wire [2:0] _T_1296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214407.4]
  wire [1:0] _T_1297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214408.4]
  wire [1:0] _T_1298; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214409.4]
  wire [3:0] _T_1299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214410.4]
  wire [6:0] _T_1300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214411.4]
  wire [1:0] _T_1301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214412.4]
  wire [2:0] _T_1302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214413.4]
  wire [1:0] _T_1303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214414.4]
  wire [1:0] _T_1304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214415.4]
  wire [3:0] _T_1305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214416.4]
  wire [6:0] _T_1306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214417.4]
  wire [13:0] _T_1307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214418.4]
  wire [1:0] _T_1308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214419.4]
  wire [2:0] _T_1309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214420.4]
  wire [1:0] _T_1310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214421.4]
  wire [1:0] _T_1311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214422.4]
  wire [3:0] _T_1312; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214423.4]
  wire [6:0] _T_1313; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214424.4]
  wire [1:0] _T_1314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214425.4]
  wire [2:0] _T_1315; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214426.4]
  wire [1:0] _T_1316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214427.4]
  wire [1:0] _T_1317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214428.4]
  wire [3:0] _T_1318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214429.4]
  wire [6:0] _T_1319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214430.4]
  wire [13:0] _T_1320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214431.4]
  wire [27:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214432.4]
  wire [27:0] _T_1322; // @[BTB.scala 314:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214433.4]
  wire  _T_1323; // @[BTB.scala 314:67:shc.marmotcaravel.MarmotCaravelConfig.fir@214434.4]
  wire  _T_1324; // @[BTB.scala 55:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214435.4]
  wire  _T_1325; // @[BTB.scala 315:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214436.4]
  wire [31:0] _GEN_399; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  wire [31:0] _GEN_400; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  wire [31:0] _GEN_401; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  wire [31:0] _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  wire [31:0] _GEN_403; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  wire  _T_1329; // @[BTB.scala 317:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214441.4]
  wire  _T_1331; // @[BTB.scala 321:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214446.6]
  wire  _T_1332; // @[BTB.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@214448.8]
  wire [2:0] _T_1334; // @[BTB.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214451.10]
  wire  _T_1335; // @[BTB.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214454.8]
  wire [2:0] _T_1338; // @[BTB.scala 45:62:shc.marmotcaravel.MarmotCaravelConfig.fir@214457.8]
  wire [2:0] _T_1339; // @[BTB.scala 45:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214458.8]
  wire  _T_1341; // @[BTB.scala 323:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214463.8]
  wire [3:0] _T_1344; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214468.12]
  wire [3:0] _T_1345; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214469.12]
  wire [2:0] _T_1346; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214470.12]
  wire  _T_1347; // @[BTB.scala 52:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214472.12]
  wire [3:0] _T_1349; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214474.12]
  wire [3:0] _T_1350; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214475.12]
  wire [2:0] _T_1351; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214476.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@214265.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@213294.4]
  assign _T_249 = pages_0 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213295.4]
  assign _T_250 = pages_1 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213296.4]
  assign _T_251 = pages_2 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213297.4]
  assign _T_252 = pages_3 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213298.4]
  assign _T_253 = pages_4 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213299.4]
  assign _T_254 = pages_5 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213300.4]
  assign _T_255 = {_T_251,_T_250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213301.4]
  assign _T_256 = {_T_255,_T_249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213302.4]
  assign _T_257 = {_T_254,_T_253}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213303.4]
  assign _T_258 = {_T_257,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213304.4]
  assign _T_259 = {_T_258,_T_256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213305.4]
  assign pageHit = pageValid & _T_259; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@213306.4]
  assign _T_260 = io_req_bits_addr[13:1]; // @[BTB.scala 205:19:shc.marmotcaravel.MarmotCaravelConfig.fir@213307.4]
  assign _T_261 = idxs_0 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213308.4]
  assign _T_262 = idxs_1 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213309.4]
  assign _T_263 = idxs_2 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213310.4]
  assign _T_264 = idxs_3 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213311.4]
  assign _T_265 = idxs_4 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213312.4]
  assign _T_266 = idxs_5 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213313.4]
  assign _T_267 = idxs_6 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213314.4]
  assign _T_268 = idxs_7 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213315.4]
  assign _T_269 = idxs_8 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213316.4]
  assign _T_270 = idxs_9 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213317.4]
  assign _T_271 = idxs_10 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213318.4]
  assign _T_272 = idxs_11 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213319.4]
  assign _T_273 = idxs_12 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213320.4]
  assign _T_274 = idxs_13 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213321.4]
  assign _T_275 = idxs_14 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213322.4]
  assign _T_276 = idxs_15 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213323.4]
  assign _T_277 = idxs_16 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213324.4]
  assign _T_278 = idxs_17 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213325.4]
  assign _T_279 = idxs_18 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213326.4]
  assign _T_280 = idxs_19 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213327.4]
  assign _T_281 = idxs_20 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213328.4]
  assign _T_282 = idxs_21 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213329.4]
  assign _T_283 = idxs_22 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213330.4]
  assign _T_284 = idxs_23 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213331.4]
  assign _T_285 = idxs_24 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213332.4]
  assign _T_286 = idxs_25 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213333.4]
  assign _T_287 = idxs_26 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213334.4]
  assign _T_288 = idxs_27 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@213335.4]
  assign _T_289 = {_T_263,_T_262}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213336.4]
  assign _T_290 = {_T_289,_T_261}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213337.4]
  assign _T_291 = {_T_265,_T_264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213338.4]
  assign _T_292 = {_T_267,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213339.4]
  assign _T_293 = {_T_292,_T_291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213340.4]
  assign _T_294 = {_T_293,_T_290}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213341.4]
  assign _T_295 = {_T_270,_T_269}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213342.4]
  assign _T_296 = {_T_295,_T_268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213343.4]
  assign _T_297 = {_T_272,_T_271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213344.4]
  assign _T_298 = {_T_274,_T_273}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213345.4]
  assign _T_299 = {_T_298,_T_297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213346.4]
  assign _T_300 = {_T_299,_T_296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213347.4]
  assign _T_301 = {_T_300,_T_294}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213348.4]
  assign _T_302 = {_T_277,_T_276}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213349.4]
  assign _T_303 = {_T_302,_T_275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213350.4]
  assign _T_304 = {_T_279,_T_278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213351.4]
  assign _T_305 = {_T_281,_T_280}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213352.4]
  assign _T_306 = {_T_305,_T_304}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213353.4]
  assign _T_307 = {_T_306,_T_303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213354.4]
  assign _T_308 = {_T_284,_T_283}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213355.4]
  assign _T_309 = {_T_308,_T_282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213356.4]
  assign _T_310 = {_T_286,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213357.4]
  assign _T_311 = {_T_288,_T_287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213358.4]
  assign _T_312 = {_T_311,_T_310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213359.4]
  assign _T_313 = {_T_312,_T_309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213360.4]
  assign _T_314 = {_T_313,_T_307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213361.4]
  assign _T_315 = {_T_314,_T_301}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213362.4]
  assign idxHit = _T_315 & isValid; // @[BTB.scala 206:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213363.4]
  assign _T_316 = r_btb_update_bits_pc[31:14]; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@213364.4]
  assign _T_317 = pages_0 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213365.4]
  assign _T_318 = pages_1 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213366.4]
  assign _T_319 = pages_2 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213367.4]
  assign _T_320 = pages_3 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213368.4]
  assign _T_321 = pages_4 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213369.4]
  assign _T_322 = pages_5 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213370.4]
  assign _T_323 = {_T_319,_T_318}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213371.4]
  assign _T_324 = {_T_323,_T_317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213372.4]
  assign _T_325 = {_T_322,_T_321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213373.4]
  assign _T_326 = {_T_325,_T_320}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213374.4]
  assign _T_327 = {_T_326,_T_324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213375.4]
  assign updatePageHit = pageValid & _T_327; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@213376.4]
  assign updateHit = r_btb_update_bits_prediction_entry < 5'h1c; // @[BTB.scala 220:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213377.4]
  assign useUpdatePageHit = updatePageHit != 6'h0; // @[BTB.scala 222:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213378.4]
  assign usePageHit = pageHit != 6'h0; // @[BTB.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213379.4]
  assign doIdxPageRepl = useUpdatePageHit == 1'h0; // @[BTB.scala 224:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213380.4]
  assign _T_329 = pageHit[4:0]; // @[BTB.scala 226:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213382.4]
  assign _T_330 = pageHit[5]; // @[BTB.scala 226:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213383.4]
  assign _T_331 = {_T_329,_T_330}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213384.4]
  assign _T_332 = 8'h1 << nextPageRepl; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@213385.4]
  assign _T_333 = usePageHit ? 8'h0 : _T_332; // @[BTB.scala 226:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213386.4]
  assign _GEN_438 = {{2'd0}, _T_331}; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@213387.4]
  assign idxPageRepl = _GEN_438 | _T_333; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@213387.4]
  assign idxPageUpdateOH = useUpdatePageHit ? {{2'd0}, updatePageHit} : idxPageRepl; // @[BTB.scala 227:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213388.4]
  assign _T_334 = idxPageUpdateOH[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213389.4]
  assign _T_335 = idxPageUpdateOH[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213390.4]
  assign _T_336 = _T_334 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213391.4]
  assign _T_337 = _T_334 | _T_335; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213392.4]
  assign _T_338 = _T_337[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213393.4]
  assign _T_339 = _T_337[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213394.4]
  assign _T_340 = _T_338 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213395.4]
  assign _T_341 = _T_338 | _T_339; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213396.4]
  assign _T_342 = _T_341[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213397.4]
  assign _T_343 = {_T_340,_T_342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213398.4]
  assign idxPageUpdate = {_T_336,_T_343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213399.4]
  assign idxPageReplEn = doIdxPageRepl ? idxPageRepl : 8'h0; // @[BTB.scala 229:26:shc.marmotcaravel.MarmotCaravelConfig.fir@213400.4]
  assign samePage = _T_316 == _T_248; // @[BTB.scala 231:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213403.4]
  assign _T_346 = samePage == 1'h0; // @[BTB.scala 232:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213404.4]
  assign _T_347 = usePageHit == 1'h0; // @[BTB.scala 232:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213405.4]
  assign doTgtPageRepl = _T_346 & _T_347; // @[BTB.scala 232:33:shc.marmotcaravel.MarmotCaravelConfig.fir@213406.4]
  assign _T_348 = idxPageUpdateOH[4:0]; // @[BTB.scala 233:71:shc.marmotcaravel.MarmotCaravelConfig.fir@213407.4]
  assign _T_349 = idxPageUpdateOH[5]; // @[BTB.scala 233:100:shc.marmotcaravel.MarmotCaravelConfig.fir@213408.4]
  assign _T_350 = {_T_348,_T_349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213409.4]
  assign tgtPageRepl = samePage ? idxPageUpdateOH : {{2'd0}, _T_350}; // @[BTB.scala 233:24:shc.marmotcaravel.MarmotCaravelConfig.fir@213410.4]
  assign _T_351 = usePageHit ? 8'h0 : tgtPageRepl; // @[BTB.scala 234:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213411.4]
  assign _GEN_439 = {{2'd0}, pageHit}; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213412.4]
  assign _T_352 = _GEN_439 | _T_351; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213412.4]
  assign _T_353 = _T_352[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213413.4]
  assign _T_354 = _T_352[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213414.4]
  assign _T_355 = _T_353 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213415.4]
  assign _T_356 = _T_353 | _T_354; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213416.4]
  assign _T_357 = _T_356[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213417.4]
  assign _T_358 = _T_356[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213418.4]
  assign _T_359 = _T_357 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213419.4]
  assign _T_360 = _T_357 | _T_358; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213420.4]
  assign _T_361 = _T_360[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213421.4]
  assign _T_362 = {_T_359,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213422.4]
  assign tgtPageUpdate = {_T_355,_T_362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213423.4]
  assign tgtPageReplEn = doTgtPageRepl ? tgtPageRepl : 8'h0; // @[BTB.scala 235:26:shc.marmotcaravel.MarmotCaravelConfig.fir@213424.4]
  assign _T_363 = doIdxPageRepl | doTgtPageRepl; // @[BTB.scala 237:46:shc.marmotcaravel.MarmotCaravelConfig.fir@213425.4]
  assign _T_364 = r_btb_update_valid & _T_363; // @[BTB.scala 237:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213426.4]
  assign _T_365 = doIdxPageRepl & doTgtPageRepl; // @[BTB.scala 238:30:shc.marmotcaravel.MarmotCaravelConfig.fir@213428.6]
  assign _T_366 = _T_365 ? 2'h2 : 2'h1; // @[BTB.scala 239:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213429.6]
  assign _GEN_440 = {{1'd0}, _T_366}; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213430.6]
  assign _T_368 = nextPageRepl + _GEN_440; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213431.6]
  assign _T_369 = _T_368 >= 3'h6; // @[BTB.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@213432.6]
  assign _T_370 = _T_368[0]; // @[BTB.scala 240:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213433.6]
  assign _GEN_441 = {{1'd0}, _T_373}; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213438.4]
  assign _T_374 = _GEN_441 << 1; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213438.4]
  assign _T_378 = _T_374 >> 1'h1; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213442.4]
  assign _T_379 = _T_378[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213443.4]
  assign _T_381 = {1'h1,_T_379}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213445.4]
  assign _T_382 = {_T_381,4'h8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213446.4]
  assign _T_383 = _T_382[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213447.4]
  assign _T_384 = _T_383 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213448.4]
  assign _T_385 = _T_374 >> _T_381; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213449.4]
  assign _T_386 = _T_385[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213450.4]
  assign _T_387 = _T_384 & _T_386; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213451.4]
  assign _T_388 = {_T_381,_T_387}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213452.4]
  assign _T_389 = {_T_388,3'h4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213453.4]
  assign _T_390 = _T_389[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213454.4]
  assign _T_391 = _T_390 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213455.4]
  assign _T_392 = _T_374 >> _T_388; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213456.4]
  assign _T_393 = _T_392[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213457.4]
  assign _T_394 = _T_391 & _T_393; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213458.4]
  assign _T_395 = {_T_388,_T_394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213459.4]
  assign _T_396 = {_T_395,2'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213460.4]
  assign _T_397 = _T_396[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213461.4]
  assign _T_398 = _T_397 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213462.4]
  assign _T_399 = _T_374 >> _T_395; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213463.4]
  assign _T_400 = _T_399[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213464.4]
  assign _T_401 = _T_398 & _T_400; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213465.4]
  assign _T_402 = {_T_395,_T_401}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213466.4]
  assign _T_403 = {_T_402,1'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213467.4]
  assign _T_404 = _T_403[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@213468.4]
  assign _T_405 = _T_404 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@213469.4]
  assign _T_406 = _T_374 >> _T_402; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213470.4]
  assign _T_407 = _T_406[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@213471.4]
  assign _T_408 = _T_405 & _T_407; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@213472.4]
  assign _T_409 = {_T_402,_T_408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213473.4]
  assign _T_410 = _T_409[4:0]; // @[Replacement.scala 63:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213474.4]
  assign waddr = updateHit ? r_btb_update_bits_prediction_entry : _T_410; // @[BTB.scala 244:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213475.4]
  assign _T_419 = r_resp_valid & r_resp_bits_taken; // @[BTB.scala 246:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213493.4]
  assign _T_420 = _T_419 | r_btb_update_valid; // @[BTB.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213494.4]
  assign _T_421 = r_btb_update_valid ? waddr : r_resp_bits_entry; // @[BTB.scala 247:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213496.6]
  assign _T_423 = _T_421[4]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213498.6]
  assign _T_424 = _T_423 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213499.6]
  assign _T_425 = 2'h1 << 1'h1; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213500.6]
  assign _GEN_443 = {{26'd0}, _T_425}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213501.6]
  assign _T_426 = _T_374 | _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213501.6]
  assign _T_427 = ~ _T_374; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213502.6]
  assign _T_428 = _T_427 | _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213503.6]
  assign _T_429 = ~ _T_428; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213504.6]
  assign _T_430 = _T_424 ? _T_426 : _T_429; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213505.6]
  assign _T_431 = {1'h1,_T_423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213506.6]
  assign _T_432 = _T_421[3]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213507.6]
  assign _T_433 = _T_432 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213508.6]
  assign _T_434 = 4'h1 << _T_431; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213509.6]
  assign _GEN_445 = {{24'd0}, _T_434}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213510.6]
  assign _T_435 = _T_430 | _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213510.6]
  assign _T_436 = ~ _T_430; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213511.6]
  assign _T_437 = _T_436 | _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213512.6]
  assign _T_438 = ~ _T_437; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213513.6]
  assign _T_439 = _T_433 ? _T_435 : _T_438; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213514.6]
  assign _T_440 = {_T_431,_T_432}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213515.6]
  assign _T_441 = _T_421[2]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213516.6]
  assign _T_442 = _T_441 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213517.6]
  assign _T_443 = 8'h1 << _T_440; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213518.6]
  assign _GEN_447 = {{20'd0}, _T_443}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213519.6]
  assign _T_444 = _T_439 | _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213519.6]
  assign _T_445 = ~ _T_439; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213520.6]
  assign _T_446 = _T_445 | _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213521.6]
  assign _T_447 = ~ _T_446; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213522.6]
  assign _T_448 = _T_442 ? _T_444 : _T_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213523.6]
  assign _T_449 = {_T_440,_T_441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213524.6]
  assign _T_450 = _T_421[1]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213525.6]
  assign _T_451 = _T_450 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213526.6]
  assign _T_452 = 16'h1 << _T_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213527.6]
  assign _GEN_449 = {{12'd0}, _T_452}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213528.6]
  assign _T_453 = _T_448 | _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213528.6]
  assign _T_454 = ~ _T_448; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213529.6]
  assign _T_455 = _T_454 | _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213530.6]
  assign _T_456 = ~ _T_455; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213531.6]
  assign _T_457 = _T_451 ? _T_453 : _T_456; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213532.6]
  assign _T_458 = {_T_449,_T_450}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213533.6]
  assign _T_459 = _T_421[0]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213534.6]
  assign _T_460 = _T_459 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@213535.6]
  assign _T_461 = 32'h1 << _T_458; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213536.6]
  assign _GEN_451 = {{4'd0}, _T_457}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213537.6]
  assign _T_462 = _GEN_451 | _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213537.6]
  assign _T_463 = ~ _T_457; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213538.6]
  assign _GEN_452 = {{4'd0}, _T_463}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213539.6]
  assign _T_464 = _GEN_452 | _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213539.6]
  assign _T_465 = ~ _T_464; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213540.6]
  assign _T_466 = _T_460 ? _T_462 : _T_465; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213541.6]
  assign _T_468 = _T_466[27:1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@213543.6]
  assign _T_469 = 32'h1 << waddr; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@213547.6]
  assign _T_471 = r_btb_update_bits_pc[13:1]; // @[BTB.scala 252:40:shc.marmotcaravel.MarmotCaravelConfig.fir@213548.6]
  assign _T_475 = idxPageUpdate + 3'h1; // @[BTB.scala 254:38:shc.marmotcaravel.MarmotCaravelConfig.fir@213552.6]
  assign _idxPages_waddr = _T_475[2:0]; // @[BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213553.6 BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213553.6]
  assign _GEN_453 = {{4'd0}, isValid}; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@213556.6]
  assign _T_478 = _GEN_453 | _T_469; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@213556.6]
  assign _T_479 = ~ _T_469; // @[BTB.scala 257:73:shc.marmotcaravel.MarmotCaravelConfig.fir@213557.6]
  assign _T_480 = _GEN_453 & _T_479; // @[BTB.scala 257:71:shc.marmotcaravel.MarmotCaravelConfig.fir@213558.6]
  assign _T_481 = r_btb_update_bits_isValid ? _T_478 : _T_480; // @[BTB.scala 257:19:shc.marmotcaravel.MarmotCaravelConfig.fir@213559.6]
  assign _T_483 = r_btb_update_bits_br_pc[31:1]; // @[BTB.scala 259:47:shc.marmotcaravel.MarmotCaravelConfig.fir@213561.6]
  assign _brIdx_waddr = _T_483[0]; // @[BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213562.6 BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@213562.6]
  assign _T_484 = idxPageUpdate[0]; // @[BTB.scala 262:39:shc.marmotcaravel.MarmotCaravelConfig.fir@213563.6]
  assign _T_485 = _T_484 == 1'h0; // @[BTB.scala 262:25:shc.marmotcaravel.MarmotCaravelConfig.fir@213564.6]
  assign _T_486 = _T_485 ? idxPageReplEn : tgtPageReplEn; // @[BTB.scala 268:24:shc.marmotcaravel.MarmotCaravelConfig.fir@213565.6]
  assign _T_490 = _T_486[0]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213569.6]
  assign _T_491 = _T_486[2]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213573.6]
  assign _T_492 = _T_486[4]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213577.6]
  assign _T_493 = _T_485 ? tgtPageReplEn : idxPageReplEn; // @[BTB.scala 270:24:shc.marmotcaravel.MarmotCaravelConfig.fir@213581.6]
  assign _T_497 = _T_493[1]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213585.6]
  assign _T_498 = _T_493[3]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213589.6]
  assign _T_499 = _T_493[5]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213593.6]
  assign _GEN_455 = {{2'd0}, pageValid}; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213597.6]
  assign _T_500 = _GEN_455 | tgtPageReplEn; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213597.6]
  assign _T_501 = _T_500 | idxPageReplEn; // @[BTB.scala 272:44:shc.marmotcaravel.MarmotCaravelConfig.fir@213598.6]
  assign _GEN_338 = r_btb_update_valid ? _T_481 : {{4'd0}, isValid}; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213546.4]
  assign _GEN_373 = r_btb_update_valid ? _T_501 : {{2'd0}, pageValid}; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213546.4]
  assign _GEN_456 = {{1'd0}, pageHit}; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213601.4]
  assign _T_502 = _GEN_456 << 1; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@213601.4]
  assign _T_503 = idxHit[0]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213602.4]
  assign _T_504 = idxHit[1]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213603.4]
  assign _T_505 = idxHit[2]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213604.4]
  assign _T_506 = idxHit[3]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213605.4]
  assign _T_507 = idxHit[4]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213606.4]
  assign _T_508 = idxHit[5]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213607.4]
  assign _T_509 = idxHit[6]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213608.4]
  assign _T_510 = idxHit[7]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213609.4]
  assign _T_511 = idxHit[8]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213610.4]
  assign _T_512 = idxHit[9]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213611.4]
  assign _T_513 = idxHit[10]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213612.4]
  assign _T_514 = idxHit[11]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213613.4]
  assign _T_515 = idxHit[12]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213614.4]
  assign _T_516 = idxHit[13]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213615.4]
  assign _T_517 = idxHit[14]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213616.4]
  assign _T_518 = idxHit[15]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213617.4]
  assign _T_519 = idxHit[16]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213618.4]
  assign _T_520 = idxHit[17]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213619.4]
  assign _T_521 = idxHit[18]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213620.4]
  assign _T_522 = idxHit[19]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213621.4]
  assign _T_523 = idxHit[20]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213622.4]
  assign _T_524 = idxHit[21]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213623.4]
  assign _T_525 = idxHit[22]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213624.4]
  assign _T_526 = idxHit[23]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213625.4]
  assign _T_527 = idxHit[24]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213626.4]
  assign _T_528 = idxHit[25]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213627.4]
  assign _T_529 = idxHit[26]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213628.4]
  assign _T_530 = idxHit[27]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@213629.4]
  assign _T_532 = _T_503 ? idxPages_0 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213630.4]
  assign _T_533 = _T_504 ? idxPages_1 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213631.4]
  assign _T_534 = _T_505 ? idxPages_2 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213632.4]
  assign _T_535 = _T_506 ? idxPages_3 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213633.4]
  assign _T_536 = _T_507 ? idxPages_4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213634.4]
  assign _T_537 = _T_508 ? idxPages_5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213635.4]
  assign _T_538 = _T_509 ? idxPages_6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213636.4]
  assign _T_539 = _T_510 ? idxPages_7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213637.4]
  assign _T_540 = _T_511 ? idxPages_8 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213638.4]
  assign _T_541 = _T_512 ? idxPages_9 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213639.4]
  assign _T_542 = _T_513 ? idxPages_10 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213640.4]
  assign _T_543 = _T_514 ? idxPages_11 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213641.4]
  assign _T_544 = _T_515 ? idxPages_12 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213642.4]
  assign _T_545 = _T_516 ? idxPages_13 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213643.4]
  assign _T_546 = _T_517 ? idxPages_14 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213644.4]
  assign _T_547 = _T_518 ? idxPages_15 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213645.4]
  assign _T_548 = _T_519 ? idxPages_16 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213646.4]
  assign _T_549 = _T_520 ? idxPages_17 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213647.4]
  assign _T_550 = _T_521 ? idxPages_18 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213648.4]
  assign _T_551 = _T_522 ? idxPages_19 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213649.4]
  assign _T_552 = _T_523 ? idxPages_20 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213650.4]
  assign _T_553 = _T_524 ? idxPages_21 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213651.4]
  assign _T_554 = _T_525 ? idxPages_22 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213652.4]
  assign _T_555 = _T_526 ? idxPages_23 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213653.4]
  assign _T_556 = _T_527 ? idxPages_24 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213654.4]
  assign _T_557 = _T_528 ? idxPages_25 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213655.4]
  assign _T_558 = _T_529 ? idxPages_26 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213656.4]
  assign _T_559 = _T_530 ? idxPages_27 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213657.4]
  assign _T_560 = _T_532 | _T_533; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213658.4]
  assign _T_561 = _T_560 | _T_534; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213659.4]
  assign _T_562 = _T_561 | _T_535; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213660.4]
  assign _T_563 = _T_562 | _T_536; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213661.4]
  assign _T_564 = _T_563 | _T_537; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213662.4]
  assign _T_565 = _T_564 | _T_538; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213663.4]
  assign _T_566 = _T_565 | _T_539; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213664.4]
  assign _T_567 = _T_566 | _T_540; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213665.4]
  assign _T_568 = _T_567 | _T_541; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213666.4]
  assign _T_569 = _T_568 | _T_542; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213667.4]
  assign _T_570 = _T_569 | _T_543; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213668.4]
  assign _T_571 = _T_570 | _T_544; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213669.4]
  assign _T_572 = _T_571 | _T_545; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213670.4]
  assign _T_573 = _T_572 | _T_546; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213671.4]
  assign _T_574 = _T_573 | _T_547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213672.4]
  assign _T_575 = _T_574 | _T_548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213673.4]
  assign _T_576 = _T_575 | _T_549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213674.4]
  assign _T_577 = _T_576 | _T_550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213675.4]
  assign _T_578 = _T_577 | _T_551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213676.4]
  assign _T_579 = _T_578 | _T_552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213677.4]
  assign _T_580 = _T_579 | _T_553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213678.4]
  assign _T_581 = _T_580 | _T_554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213679.4]
  assign _T_582 = _T_581 | _T_555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213680.4]
  assign _T_583 = _T_582 | _T_556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213681.4]
  assign _T_584 = _T_583 | _T_557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213682.4]
  assign _T_585 = _T_584 | _T_558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213683.4]
  assign _T_586 = _T_585 | _T_559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213684.4]
  assign _T_589 = _T_502 >> _T_586; // @[BTB.scala 275:34:shc.marmotcaravel.MarmotCaravelConfig.fir@213687.4]
  assign _T_620 = _T_503 ? tgtPages_0 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213719.4]
  assign _T_621 = _T_504 ? tgtPages_1 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213720.4]
  assign _T_622 = _T_505 ? tgtPages_2 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213721.4]
  assign _T_623 = _T_506 ? tgtPages_3 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213722.4]
  assign _T_624 = _T_507 ? tgtPages_4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213723.4]
  assign _T_625 = _T_508 ? tgtPages_5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213724.4]
  assign _T_626 = _T_509 ? tgtPages_6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213725.4]
  assign _T_627 = _T_510 ? tgtPages_7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213726.4]
  assign _T_628 = _T_511 ? tgtPages_8 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213727.4]
  assign _T_629 = _T_512 ? tgtPages_9 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213728.4]
  assign _T_630 = _T_513 ? tgtPages_10 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213729.4]
  assign _T_631 = _T_514 ? tgtPages_11 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213730.4]
  assign _T_632 = _T_515 ? tgtPages_12 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213731.4]
  assign _T_633 = _T_516 ? tgtPages_13 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213732.4]
  assign _T_634 = _T_517 ? tgtPages_14 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213733.4]
  assign _T_635 = _T_518 ? tgtPages_15 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213734.4]
  assign _T_636 = _T_519 ? tgtPages_16 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213735.4]
  assign _T_637 = _T_520 ? tgtPages_17 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213736.4]
  assign _T_638 = _T_521 ? tgtPages_18 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213737.4]
  assign _T_639 = _T_522 ? tgtPages_19 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213738.4]
  assign _T_640 = _T_523 ? tgtPages_20 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213739.4]
  assign _T_641 = _T_524 ? tgtPages_21 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213740.4]
  assign _T_642 = _T_525 ? tgtPages_22 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213741.4]
  assign _T_643 = _T_526 ? tgtPages_23 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213742.4]
  assign _T_644 = _T_527 ? tgtPages_24 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213743.4]
  assign _T_645 = _T_528 ? tgtPages_25 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213744.4]
  assign _T_646 = _T_529 ? tgtPages_26 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213745.4]
  assign _T_647 = _T_530 ? tgtPages_27 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213746.4]
  assign _T_648 = _T_620 | _T_621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213747.4]
  assign _T_649 = _T_648 | _T_622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213748.4]
  assign _T_650 = _T_649 | _T_623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213749.4]
  assign _T_651 = _T_650 | _T_624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213750.4]
  assign _T_652 = _T_651 | _T_625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213751.4]
  assign _T_653 = _T_652 | _T_626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213752.4]
  assign _T_654 = _T_653 | _T_627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213753.4]
  assign _T_655 = _T_654 | _T_628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213754.4]
  assign _T_656 = _T_655 | _T_629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213755.4]
  assign _T_657 = _T_656 | _T_630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213756.4]
  assign _T_658 = _T_657 | _T_631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213757.4]
  assign _T_659 = _T_658 | _T_632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213758.4]
  assign _T_660 = _T_659 | _T_633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213759.4]
  assign _T_661 = _T_660 | _T_634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213760.4]
  assign _T_662 = _T_661 | _T_635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213761.4]
  assign _T_663 = _T_662 | _T_636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213762.4]
  assign _T_664 = _T_663 | _T_637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213763.4]
  assign _T_665 = _T_664 | _T_638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213764.4]
  assign _T_666 = _T_665 | _T_639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213765.4]
  assign _T_667 = _T_666 | _T_640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213766.4]
  assign _T_668 = _T_667 | _T_641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213767.4]
  assign _T_669 = _T_668 | _T_642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213768.4]
  assign _T_670 = _T_669 | _T_643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213769.4]
  assign _T_671 = _T_670 | _T_644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213770.4]
  assign _T_672 = _T_671 | _T_645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213771.4]
  assign _T_673 = _T_672 | _T_646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213772.4]
  assign _T_674 = _T_673 | _T_647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213773.4]
  assign _T_707 = _T_503 ? tgts_0 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213804.4]
  assign _T_708 = _T_504 ? tgts_1 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213805.4]
  assign _T_709 = _T_505 ? tgts_2 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213806.4]
  assign _T_710 = _T_506 ? tgts_3 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213807.4]
  assign _T_711 = _T_507 ? tgts_4 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213808.4]
  assign _T_712 = _T_508 ? tgts_5 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213809.4]
  assign _T_713 = _T_509 ? tgts_6 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213810.4]
  assign _T_714 = _T_510 ? tgts_7 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213811.4]
  assign _T_715 = _T_511 ? tgts_8 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213812.4]
  assign _T_716 = _T_512 ? tgts_9 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213813.4]
  assign _T_717 = _T_513 ? tgts_10 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213814.4]
  assign _T_718 = _T_514 ? tgts_11 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213815.4]
  assign _T_719 = _T_515 ? tgts_12 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213816.4]
  assign _T_720 = _T_516 ? tgts_13 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213817.4]
  assign _T_721 = _T_517 ? tgts_14 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213818.4]
  assign _T_722 = _T_518 ? tgts_15 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213819.4]
  assign _T_723 = _T_519 ? tgts_16 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213820.4]
  assign _T_724 = _T_520 ? tgts_17 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213821.4]
  assign _T_725 = _T_521 ? tgts_18 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213822.4]
  assign _T_726 = _T_522 ? tgts_19 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213823.4]
  assign _T_727 = _T_523 ? tgts_20 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213824.4]
  assign _T_728 = _T_524 ? tgts_21 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213825.4]
  assign _T_729 = _T_525 ? tgts_22 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213826.4]
  assign _T_730 = _T_526 ? tgts_23 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213827.4]
  assign _T_731 = _T_527 ? tgts_24 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213828.4]
  assign _T_732 = _T_528 ? tgts_25 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213829.4]
  assign _T_733 = _T_529 ? tgts_26 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213830.4]
  assign _T_734 = _T_530 ? tgts_27 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213831.4]
  assign _T_735 = _T_707 | _T_708; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213832.4]
  assign _T_736 = _T_735 | _T_709; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213833.4]
  assign _T_737 = _T_736 | _T_710; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213834.4]
  assign _T_738 = _T_737 | _T_711; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213835.4]
  assign _T_739 = _T_738 | _T_712; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213836.4]
  assign _T_740 = _T_739 | _T_713; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213837.4]
  assign _T_741 = _T_740 | _T_714; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213838.4]
  assign _T_742 = _T_741 | _T_715; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213839.4]
  assign _T_743 = _T_742 | _T_716; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213840.4]
  assign _T_744 = _T_743 | _T_717; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213841.4]
  assign _T_745 = _T_744 | _T_718; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213842.4]
  assign _T_746 = _T_745 | _T_719; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213843.4]
  assign _T_747 = _T_746 | _T_720; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213844.4]
  assign _T_748 = _T_747 | _T_721; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213845.4]
  assign _T_749 = _T_748 | _T_722; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213846.4]
  assign _T_750 = _T_749 | _T_723; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213847.4]
  assign _T_751 = _T_750 | _T_724; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213848.4]
  assign _T_752 = _T_751 | _T_725; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213849.4]
  assign _T_753 = _T_752 | _T_726; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213850.4]
  assign _T_754 = _T_753 | _T_727; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213851.4]
  assign _T_755 = _T_754 | _T_728; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213852.4]
  assign _T_756 = _T_755 | _T_729; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213853.4]
  assign _T_757 = _T_756 | _T_730; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213854.4]
  assign _T_758 = _T_757 | _T_731; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213855.4]
  assign _T_759 = _T_758 | _T_732; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213856.4]
  assign _T_760 = _T_759 | _T_733; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213857.4]
  assign _T_761 = _T_760 | _T_734; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213858.4]
  assign _GEN_457 = {{1'd0}, _T_761}; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@213861.4]
  assign _T_764 = _GEN_457 << 1; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@213861.4]
  assign _GEN_375 = 3'h1 == _T_674 ? pages_1 : pages_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  assign _GEN_376 = 3'h2 == _T_674 ? pages_2 : _GEN_375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  assign _GEN_377 = 3'h3 == _T_674 ? pages_3 : _GEN_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  assign _GEN_378 = 3'h4 == _T_674 ? pages_4 : _GEN_377; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  assign _GEN_379 = 3'h5 == _T_674 ? pages_5 : _GEN_378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  assign _T_765 = {_GEN_379,_T_764}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213862.4]
  assign _T_766 = idxHit[27:16]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213864.4]
  assign _T_767 = idxHit[15:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213865.4]
  assign _T_768 = _T_766 != 12'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213866.4]
  assign _GEN_458 = {{4'd0}, _T_766}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213867.4]
  assign _T_769 = _GEN_458 | _T_767; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213867.4]
  assign _T_770 = _T_769[15:8]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213868.4]
  assign _T_771 = _T_769[7:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213869.4]
  assign _T_772 = _T_770 != 8'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213870.4]
  assign _T_773 = _T_770 | _T_771; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213871.4]
  assign _T_774 = _T_773[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213872.4]
  assign _T_775 = _T_773[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213873.4]
  assign _T_776 = _T_774 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213874.4]
  assign _T_777 = _T_774 | _T_775; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213875.4]
  assign _T_778 = _T_777[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213876.4]
  assign _T_779 = _T_777[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213877.4]
  assign _T_780 = _T_778 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@213878.4]
  assign _T_781 = _T_778 | _T_779; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@213879.4]
  assign _T_782 = _T_781[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@213880.4]
  assign _T_783 = {_T_780,_T_782}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213881.4]
  assign _T_784 = {_T_776,_T_783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213882.4]
  assign _T_785 = {_T_772,_T_784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@213883.4]
  assign _T_816 = _T_503 ? brIdx_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213914.4]
  assign _T_817 = _T_504 ? brIdx_1 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213915.4]
  assign _T_818 = _T_505 ? brIdx_2 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213916.4]
  assign _T_819 = _T_506 ? brIdx_3 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213917.4]
  assign _T_820 = _T_507 ? brIdx_4 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213918.4]
  assign _T_821 = _T_508 ? brIdx_5 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213919.4]
  assign _T_822 = _T_509 ? brIdx_6 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213920.4]
  assign _T_823 = _T_510 ? brIdx_7 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213921.4]
  assign _T_824 = _T_511 ? brIdx_8 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213922.4]
  assign _T_825 = _T_512 ? brIdx_9 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213923.4]
  assign _T_826 = _T_513 ? brIdx_10 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213924.4]
  assign _T_827 = _T_514 ? brIdx_11 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213925.4]
  assign _T_828 = _T_515 ? brIdx_12 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213926.4]
  assign _T_829 = _T_516 ? brIdx_13 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213927.4]
  assign _T_830 = _T_517 ? brIdx_14 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213928.4]
  assign _T_831 = _T_518 ? brIdx_15 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213929.4]
  assign _T_832 = _T_519 ? brIdx_16 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213930.4]
  assign _T_833 = _T_520 ? brIdx_17 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213931.4]
  assign _T_834 = _T_521 ? brIdx_18 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213932.4]
  assign _T_835 = _T_522 ? brIdx_19 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213933.4]
  assign _T_836 = _T_523 ? brIdx_20 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213934.4]
  assign _T_837 = _T_524 ? brIdx_21 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213935.4]
  assign _T_838 = _T_525 ? brIdx_22 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213936.4]
  assign _T_839 = _T_526 ? brIdx_23 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213937.4]
  assign _T_840 = _T_527 ? brIdx_24 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213938.4]
  assign _T_841 = _T_528 ? brIdx_25 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213939.4]
  assign _T_842 = _T_529 ? brIdx_26 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213940.4]
  assign _T_843 = _T_530 ? brIdx_27 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213941.4]
  assign _T_844 = _T_816 | _T_817; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213942.4]
  assign _T_845 = _T_844 | _T_818; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213943.4]
  assign _T_846 = _T_845 | _T_819; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213944.4]
  assign _T_847 = _T_846 | _T_820; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213945.4]
  assign _T_848 = _T_847 | _T_821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213946.4]
  assign _T_849 = _T_848 | _T_822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213947.4]
  assign _T_850 = _T_849 | _T_823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213948.4]
  assign _T_851 = _T_850 | _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213949.4]
  assign _T_852 = _T_851 | _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213950.4]
  assign _T_853 = _T_852 | _T_826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213951.4]
  assign _T_854 = _T_853 | _T_827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213952.4]
  assign _T_855 = _T_854 | _T_828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213953.4]
  assign _T_856 = _T_855 | _T_829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213954.4]
  assign _T_857 = _T_856 | _T_830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213955.4]
  assign _T_858 = _T_857 | _T_831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213956.4]
  assign _T_859 = _T_858 | _T_832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213957.4]
  assign _T_860 = _T_859 | _T_833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213958.4]
  assign _T_861 = _T_860 | _T_834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213959.4]
  assign _T_862 = _T_861 | _T_835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213960.4]
  assign _T_863 = _T_862 | _T_836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213961.4]
  assign _T_864 = _T_863 | _T_837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213962.4]
  assign _T_865 = _T_864 | _T_838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213963.4]
  assign _T_866 = _T_865 | _T_839; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213964.4]
  assign _T_867 = _T_866 | _T_840; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213965.4]
  assign _T_868 = _T_867 | _T_841; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213966.4]
  assign _T_869 = _T_868 | _T_842; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@213967.4]
  assign _T_967 = idxHit[13:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214067.4]
  assign _T_968 = _T_967[6:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214068.4]
  assign _T_969 = _T_968[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214069.4]
  assign _T_970 = _T_969[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214070.4]
  assign _T_972 = _T_969[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214072.4]
  assign _T_973 = _T_972[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214073.4]
  assign _T_975 = _T_972[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214075.4]
  assign _T_977 = _T_973 | _T_975; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214077.4]
  assign _T_979 = _T_973 & _T_975; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214079.4]
  assign _T_981 = _T_970 | _T_977; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214081.4]
  assign _T_983 = _T_970 & _T_977; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214083.4]
  assign _T_984 = _T_979 | _T_983; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214084.4]
  assign _T_985 = _T_968[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214085.4]
  assign _T_986 = _T_985[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214086.4]
  assign _T_987 = _T_986[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214087.4]
  assign _T_989 = _T_986[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214089.4]
  assign _T_991 = _T_987 | _T_989; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214091.4]
  assign _T_993 = _T_987 & _T_989; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214093.4]
  assign _T_995 = _T_985[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214095.4]
  assign _T_996 = _T_995[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214096.4]
  assign _T_998 = _T_995[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214098.4]
  assign _T_1000 = _T_996 | _T_998; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214100.4]
  assign _T_1002 = _T_996 & _T_998; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214102.4]
  assign _T_1004 = _T_991 | _T_1000; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214104.4]
  assign _T_1005 = _T_993 | _T_1002; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214105.4]
  assign _T_1006 = _T_991 & _T_1000; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214106.4]
  assign _T_1007 = _T_1005 | _T_1006; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214107.4]
  assign _T_1008 = _T_981 | _T_1004; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214108.4]
  assign _T_1009 = _T_984 | _T_1007; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214109.4]
  assign _T_1010 = _T_981 & _T_1004; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214110.4]
  assign _T_1011 = _T_1009 | _T_1010; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214111.4]
  assign _T_1012 = _T_967[13:7]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214112.4]
  assign _T_1013 = _T_1012[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214113.4]
  assign _T_1014 = _T_1013[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214114.4]
  assign _T_1016 = _T_1013[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214116.4]
  assign _T_1017 = _T_1016[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214117.4]
  assign _T_1019 = _T_1016[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214119.4]
  assign _T_1021 = _T_1017 | _T_1019; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214121.4]
  assign _T_1023 = _T_1017 & _T_1019; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214123.4]
  assign _T_1025 = _T_1014 | _T_1021; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214125.4]
  assign _T_1027 = _T_1014 & _T_1021; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214127.4]
  assign _T_1028 = _T_1023 | _T_1027; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214128.4]
  assign _T_1029 = _T_1012[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214129.4]
  assign _T_1030 = _T_1029[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214130.4]
  assign _T_1031 = _T_1030[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214131.4]
  assign _T_1033 = _T_1030[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214133.4]
  assign _T_1035 = _T_1031 | _T_1033; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214135.4]
  assign _T_1037 = _T_1031 & _T_1033; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214137.4]
  assign _T_1039 = _T_1029[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214139.4]
  assign _T_1040 = _T_1039[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214140.4]
  assign _T_1042 = _T_1039[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214142.4]
  assign _T_1044 = _T_1040 | _T_1042; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214144.4]
  assign _T_1046 = _T_1040 & _T_1042; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214146.4]
  assign _T_1048 = _T_1035 | _T_1044; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214148.4]
  assign _T_1049 = _T_1037 | _T_1046; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214149.4]
  assign _T_1050 = _T_1035 & _T_1044; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214150.4]
  assign _T_1051 = _T_1049 | _T_1050; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214151.4]
  assign _T_1052 = _T_1025 | _T_1048; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214152.4]
  assign _T_1053 = _T_1028 | _T_1051; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214153.4]
  assign _T_1054 = _T_1025 & _T_1048; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214154.4]
  assign _T_1055 = _T_1053 | _T_1054; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214155.4]
  assign _T_1056 = _T_1008 | _T_1052; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214156.4]
  assign _T_1057 = _T_1011 | _T_1055; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214157.4]
  assign _T_1058 = _T_1008 & _T_1052; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214158.4]
  assign _T_1059 = _T_1057 | _T_1058; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214159.4]
  assign _T_1060 = idxHit[27:14]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214160.4]
  assign _T_1061 = _T_1060[6:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214161.4]
  assign _T_1062 = _T_1061[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214162.4]
  assign _T_1063 = _T_1062[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214163.4]
  assign _T_1065 = _T_1062[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214165.4]
  assign _T_1066 = _T_1065[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214166.4]
  assign _T_1068 = _T_1065[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214168.4]
  assign _T_1070 = _T_1066 | _T_1068; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214170.4]
  assign _T_1072 = _T_1066 & _T_1068; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214172.4]
  assign _T_1074 = _T_1063 | _T_1070; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214174.4]
  assign _T_1076 = _T_1063 & _T_1070; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214176.4]
  assign _T_1077 = _T_1072 | _T_1076; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214177.4]
  assign _T_1078 = _T_1061[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214178.4]
  assign _T_1079 = _T_1078[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214179.4]
  assign _T_1080 = _T_1079[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214180.4]
  assign _T_1082 = _T_1079[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214182.4]
  assign _T_1084 = _T_1080 | _T_1082; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214184.4]
  assign _T_1086 = _T_1080 & _T_1082; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214186.4]
  assign _T_1088 = _T_1078[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214188.4]
  assign _T_1089 = _T_1088[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214189.4]
  assign _T_1091 = _T_1088[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214191.4]
  assign _T_1093 = _T_1089 | _T_1091; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214193.4]
  assign _T_1095 = _T_1089 & _T_1091; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214195.4]
  assign _T_1097 = _T_1084 | _T_1093; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214197.4]
  assign _T_1098 = _T_1086 | _T_1095; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214198.4]
  assign _T_1099 = _T_1084 & _T_1093; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214199.4]
  assign _T_1100 = _T_1098 | _T_1099; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214200.4]
  assign _T_1101 = _T_1074 | _T_1097; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214201.4]
  assign _T_1102 = _T_1077 | _T_1100; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214202.4]
  assign _T_1103 = _T_1074 & _T_1097; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214203.4]
  assign _T_1104 = _T_1102 | _T_1103; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214204.4]
  assign _T_1105 = _T_1060[13:7]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214205.4]
  assign _T_1106 = _T_1105[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214206.4]
  assign _T_1107 = _T_1106[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214207.4]
  assign _T_1109 = _T_1106[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214209.4]
  assign _T_1110 = _T_1109[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214210.4]
  assign _T_1112 = _T_1109[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214212.4]
  assign _T_1114 = _T_1110 | _T_1112; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214214.4]
  assign _T_1116 = _T_1110 & _T_1112; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214216.4]
  assign _T_1118 = _T_1107 | _T_1114; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214218.4]
  assign _T_1120 = _T_1107 & _T_1114; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214220.4]
  assign _T_1121 = _T_1116 | _T_1120; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214221.4]
  assign _T_1122 = _T_1105[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214222.4]
  assign _T_1123 = _T_1122[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214223.4]
  assign _T_1124 = _T_1123[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214224.4]
  assign _T_1126 = _T_1123[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214226.4]
  assign _T_1128 = _T_1124 | _T_1126; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214228.4]
  assign _T_1130 = _T_1124 & _T_1126; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214230.4]
  assign _T_1132 = _T_1122[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214232.4]
  assign _T_1133 = _T_1132[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214233.4]
  assign _T_1135 = _T_1132[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214235.4]
  assign _T_1137 = _T_1133 | _T_1135; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214237.4]
  assign _T_1139 = _T_1133 & _T_1135; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214239.4]
  assign _T_1141 = _T_1128 | _T_1137; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214241.4]
  assign _T_1142 = _T_1130 | _T_1139; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214242.4]
  assign _T_1143 = _T_1128 & _T_1137; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214243.4]
  assign _T_1144 = _T_1142 | _T_1143; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214244.4]
  assign _T_1145 = _T_1118 | _T_1141; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214245.4]
  assign _T_1146 = _T_1121 | _T_1144; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214246.4]
  assign _T_1147 = _T_1118 & _T_1141; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214247.4]
  assign _T_1148 = _T_1146 | _T_1147; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214248.4]
  assign _T_1149 = _T_1101 | _T_1145; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214249.4]
  assign _T_1150 = _T_1104 | _T_1148; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214250.4]
  assign _T_1151 = _T_1101 & _T_1145; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214251.4]
  assign _T_1152 = _T_1150 | _T_1151; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214252.4]
  assign _T_1154 = _T_1059 | _T_1152; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214254.4]
  assign _T_1155 = _T_1056 & _T_1149; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  assign _T_1156 = _T_1154 | _T_1155; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214256.4]
  assign _T_1157 = ~ idxHit; // @[BTB.scala 285:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214258.6]
  assign _T_1158 = isValid & _T_1157; // @[BTB.scala 285:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214259.6]
  assign _GEN_380 = _T_1156 ? {{4'd0}, _T_1158} : _GEN_338; // @[BTB.scala 284:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214257.4]
  assign _GEN_381 = io_flush ? 32'h0 : _GEN_380; // @[BTB.scala 287:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214262.4]
  assign _T_1164 = cfiType_0 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214267.4]
  assign _T_1165 = cfiType_1 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214268.4]
  assign _T_1166 = cfiType_2 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214269.4]
  assign _T_1167 = cfiType_3 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214270.4]
  assign _T_1168 = cfiType_4 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214271.4]
  assign _T_1169 = cfiType_5 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214272.4]
  assign _T_1170 = cfiType_6 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214273.4]
  assign _T_1171 = cfiType_7 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214274.4]
  assign _T_1172 = cfiType_8 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214275.4]
  assign _T_1173 = cfiType_9 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214276.4]
  assign _T_1174 = cfiType_10 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214277.4]
  assign _T_1175 = cfiType_11 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214278.4]
  assign _T_1176 = cfiType_12 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214279.4]
  assign _T_1177 = cfiType_13 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214280.4]
  assign _T_1178 = cfiType_14 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214281.4]
  assign _T_1179 = cfiType_15 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214282.4]
  assign _T_1180 = cfiType_16 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214283.4]
  assign _T_1181 = cfiType_17 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214284.4]
  assign _T_1182 = cfiType_18 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214285.4]
  assign _T_1183 = cfiType_19 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214286.4]
  assign _T_1184 = cfiType_20 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214287.4]
  assign _T_1185 = cfiType_21 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214288.4]
  assign _T_1186 = cfiType_22 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214289.4]
  assign _T_1187 = cfiType_23 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214290.4]
  assign _T_1188 = cfiType_24 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214291.4]
  assign _T_1189 = cfiType_25 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214292.4]
  assign _T_1190 = cfiType_26 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214293.4]
  assign _T_1191 = cfiType_27 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214294.4]
  assign _T_1192 = {_T_1166,_T_1165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214295.4]
  assign _T_1193 = {_T_1192,_T_1164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214296.4]
  assign _T_1194 = {_T_1168,_T_1167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214297.4]
  assign _T_1195 = {_T_1170,_T_1169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214298.4]
  assign _T_1196 = {_T_1195,_T_1194}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214299.4]
  assign _T_1197 = {_T_1196,_T_1193}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214300.4]
  assign _T_1198 = {_T_1173,_T_1172}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214301.4]
  assign _T_1199 = {_T_1198,_T_1171}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214302.4]
  assign _T_1200 = {_T_1175,_T_1174}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214303.4]
  assign _T_1201 = {_T_1177,_T_1176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214304.4]
  assign _T_1202 = {_T_1201,_T_1200}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214305.4]
  assign _T_1203 = {_T_1202,_T_1199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214306.4]
  assign _T_1204 = {_T_1203,_T_1197}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214307.4]
  assign _T_1205 = {_T_1180,_T_1179}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214308.4]
  assign _T_1206 = {_T_1205,_T_1178}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214309.4]
  assign _T_1207 = {_T_1182,_T_1181}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214310.4]
  assign _T_1208 = {_T_1184,_T_1183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214311.4]
  assign _T_1209 = {_T_1208,_T_1207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214312.4]
  assign _T_1210 = {_T_1209,_T_1206}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214313.4]
  assign _T_1211 = {_T_1187,_T_1186}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214314.4]
  assign _T_1212 = {_T_1211,_T_1185}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214315.4]
  assign _T_1213 = {_T_1189,_T_1188}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214316.4]
  assign _T_1214 = {_T_1191,_T_1190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214317.4]
  assign _T_1215 = {_T_1214,_T_1213}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214318.4]
  assign _T_1216 = {_T_1215,_T_1212}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214319.4]
  assign _T_1217 = {_T_1216,_T_1210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214320.4]
  assign _T_1218 = {_T_1217,_T_1204}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214321.4]
  assign _T_1219 = idxHit & _T_1218; // @[BTB.scala 293:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214322.4]
  assign _T_1220 = _T_1219 != 28'h0; // @[BTB.scala 293:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214323.4]
  assign _T_1223 = io_req_bits_addr[31:2]; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214326.4]
  assign _T_1224 = _T_1223[8:0]; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214327.4]
  assign _T_1225 = _T_1223[29:9]; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214328.4]
  assign _T_1226 = _T_1225[1:0]; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214329.4]
  assign _GEN_459 = {{7'd0}, _T_1226}; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
  assign _T_1227 = _T_1224 ^ _GEN_459; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
  assign _T_1228 = 8'hdd * _T_1163; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214331.4]
  assign _T_1229 = _T_1228[7:5]; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214332.4]
  assign _GEN_460 = {{6'd0}, _T_1229}; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214333.4]
  assign _T_1230 = _GEN_460 << 6; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214333.4]
  assign _T_1234 = _T_1163[7:1]; // @[BTB.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214340.6]
  assign _T_1235 = {io_bht_advance_bits_bht_value,_T_1234}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214341.6]
  assign _T_1236 = io_bht_update_bits_pc[31:2]; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214346.8]
  assign _T_1237 = _T_1236[8:0]; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214347.8]
  assign _T_1238 = _T_1236[29:9]; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214348.8]
  assign _T_1239 = _T_1238[1:0]; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214349.8]
  assign _GEN_461 = {{7'd0}, _T_1239}; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214350.8]
  assign _T_1240 = _T_1237 ^ _GEN_461; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214350.8]
  assign _T_1241 = 8'hdd * io_bht_update_bits_prediction_history; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214351.8]
  assign _T_1242 = _T_1241[7:5]; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214352.8]
  assign _GEN_462 = {{6'd0}, _T_1242}; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214353.8]
  assign _T_1243 = _GEN_462 << 6; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214353.8]
  assign _T_1246 = io_bht_update_bits_prediction_history[7:1]; // @[BTB.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214358.10]
  assign _T_1247 = {io_bht_update_bits_taken,_T_1246}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214359.10]
  assign _T_1222_value = _T_1161__T_1232_data; // @[BTB.scala 92:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214324.4 BTB.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@214336.4]
  assign _T_1249 = _T_1222_value == 1'h0; // @[BTB.scala 308:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214369.4]
  assign _T_1250 = _T_1249 & _T_1220; // @[BTB.scala 308:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214370.4]
  assign _T_1267 = cfiType_0 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214378.4]
  assign _T_1268 = cfiType_1 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214379.4]
  assign _T_1269 = cfiType_2 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214380.4]
  assign _T_1270 = cfiType_3 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214381.4]
  assign _T_1271 = cfiType_4 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214382.4]
  assign _T_1272 = cfiType_5 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214383.4]
  assign _T_1273 = cfiType_6 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214384.4]
  assign _T_1274 = cfiType_7 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214385.4]
  assign _T_1275 = cfiType_8 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214386.4]
  assign _T_1276 = cfiType_9 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214387.4]
  assign _T_1277 = cfiType_10 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214388.4]
  assign _T_1278 = cfiType_11 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214389.4]
  assign _T_1279 = cfiType_12 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214390.4]
  assign _T_1280 = cfiType_13 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214391.4]
  assign _T_1281 = cfiType_14 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214392.4]
  assign _T_1282 = cfiType_15 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214393.4]
  assign _T_1283 = cfiType_16 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214394.4]
  assign _T_1284 = cfiType_17 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214395.4]
  assign _T_1285 = cfiType_18 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214396.4]
  assign _T_1286 = cfiType_19 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214397.4]
  assign _T_1287 = cfiType_20 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214398.4]
  assign _T_1288 = cfiType_21 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214399.4]
  assign _T_1289 = cfiType_22 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214400.4]
  assign _T_1290 = cfiType_23 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214401.4]
  assign _T_1291 = cfiType_24 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214402.4]
  assign _T_1292 = cfiType_25 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214403.4]
  assign _T_1293 = cfiType_26 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214404.4]
  assign _T_1294 = cfiType_27 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214405.4]
  assign _T_1295 = {_T_1269,_T_1268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214406.4]
  assign _T_1296 = {_T_1295,_T_1267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214407.4]
  assign _T_1297 = {_T_1271,_T_1270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214408.4]
  assign _T_1298 = {_T_1273,_T_1272}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214409.4]
  assign _T_1299 = {_T_1298,_T_1297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214410.4]
  assign _T_1300 = {_T_1299,_T_1296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214411.4]
  assign _T_1301 = {_T_1276,_T_1275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214412.4]
  assign _T_1302 = {_T_1301,_T_1274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214413.4]
  assign _T_1303 = {_T_1278,_T_1277}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214414.4]
  assign _T_1304 = {_T_1280,_T_1279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214415.4]
  assign _T_1305 = {_T_1304,_T_1303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214416.4]
  assign _T_1306 = {_T_1305,_T_1302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214417.4]
  assign _T_1307 = {_T_1306,_T_1300}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214418.4]
  assign _T_1308 = {_T_1283,_T_1282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214419.4]
  assign _T_1309 = {_T_1308,_T_1281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214420.4]
  assign _T_1310 = {_T_1285,_T_1284}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214421.4]
  assign _T_1311 = {_T_1287,_T_1286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214422.4]
  assign _T_1312 = {_T_1311,_T_1310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214423.4]
  assign _T_1313 = {_T_1312,_T_1309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214424.4]
  assign _T_1314 = {_T_1290,_T_1289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214425.4]
  assign _T_1315 = {_T_1314,_T_1288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214426.4]
  assign _T_1316 = {_T_1292,_T_1291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214427.4]
  assign _T_1317 = {_T_1294,_T_1293}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214428.4]
  assign _T_1318 = {_T_1317,_T_1316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214429.4]
  assign _T_1319 = {_T_1318,_T_1315}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214430.4]
  assign _T_1320 = {_T_1319,_T_1313}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214431.4]
  assign _T_1321 = {_T_1320,_T_1307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214432.4]
  assign _T_1322 = idxHit & _T_1321; // @[BTB.scala 314:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214433.4]
  assign _T_1323 = _T_1322 != 28'h0; // @[BTB.scala 314:67:shc.marmotcaravel.MarmotCaravelConfig.fir@214434.4]
  assign _T_1324 = _T_1252 == 3'h0; // @[BTB.scala 55:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214435.4]
  assign _T_1325 = _T_1324 == 1'h0; // @[BTB.scala 315:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214436.4]
  assign _GEN_399 = 3'h1 == _T_1254 ? _T_1258_1 : _T_1258_0; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  assign _GEN_400 = 3'h2 == _T_1254 ? _T_1258_2 : _GEN_399; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  assign _GEN_401 = 3'h3 == _T_1254 ? _T_1258_3 : _GEN_400; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  assign _GEN_402 = 3'h4 == _T_1254 ? _T_1258_4 : _GEN_401; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  assign _GEN_403 = 3'h5 == _T_1254 ? _T_1258_5 : _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.4]
  assign _T_1329 = _T_1325 & _T_1323; // @[BTB.scala 317:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214441.4]
  assign _T_1331 = io_ras_update_bits_cfiType == 2'h2; // @[BTB.scala 321:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214446.6]
  assign _T_1332 = _T_1252 < 3'h6; // @[BTB.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@214448.8]
  assign _T_1334 = _T_1252 + 3'h1; // @[BTB.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214451.10]
  assign _T_1335 = _T_1254 < 3'h5; // @[BTB.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214454.8]
  assign _T_1338 = _T_1254 + 3'h1; // @[BTB.scala 45:62:shc.marmotcaravel.MarmotCaravelConfig.fir@214457.8]
  assign _T_1339 = _T_1335 ? _T_1338 : 3'h0; // @[BTB.scala 45:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214458.8]
  assign _T_1341 = io_ras_update_bits_cfiType == 2'h3; // @[BTB.scala 323:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214463.8]
  assign _T_1344 = _T_1252 - 3'h1; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214468.12]
  assign _T_1345 = $unsigned(_T_1344); // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214469.12]
  assign _T_1346 = _T_1345[2:0]; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214470.12]
  assign _T_1347 = _T_1254 > 3'h0; // @[BTB.scala 52:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214472.12]
  assign _T_1349 = _T_1254 - 3'h1; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214474.12]
  assign _T_1350 = $unsigned(_T_1349); // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214475.12]
  assign _T_1351 = _T_1350[2:0]; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214476.12]
  assign io_resp_valid = _T_589[0]; // @[BTB.scala 275:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213689.4]
  assign io_resp_bits_taken = _T_1250 ? 1'h0 : 1'h1; // @[BTB.scala 276:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213690.4 BTB.scala 308:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214372.6]
  assign io_resp_bits_bridx = _T_869 | _T_843; // @[BTB.scala 279:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213971.4]
  assign io_resp_bits_target = _T_1329 ? _GEN_403 : _T_765; // @[BTB.scala 277:23:shc.marmotcaravel.MarmotCaravelConfig.fir@213863.4 BTB.scala 318:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214443.6]
  assign io_resp_bits_entry = {_T_768,_T_785}; // @[BTB.scala 278:22:shc.marmotcaravel.MarmotCaravelConfig.fir@213885.4]
  assign io_resp_bits_bht_history = _T_1163; // @[BTB.scala 309:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214374.4]
  assign io_resp_bits_bht_value = _T_1161__T_1232_data; // @[BTB.scala 309:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214374.4]
  assign io_ras_head_valid = _T_1324 == 1'h0; // @[BTB.scala 315:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214437.4]
  assign io_ras_head_bits = 3'h5 == _T_1254 ? _T_1258_5 : _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214438.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@214265.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@214483.2]
  input         gated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214484.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214485.4]
  output        auto_icache_slave_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input         auto_icache_slave_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [2:0]  auto_icache_slave_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [1:0]  auto_icache_slave_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [6:0]  auto_icache_slave_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [27:0] auto_icache_slave_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [3:0]  auto_icache_slave_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [31:0] auto_icache_slave_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input         auto_icache_slave_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output        auto_icache_slave_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output [2:0]  auto_icache_slave_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output [1:0]  auto_icache_slave_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output [6:0]  auto_icache_slave_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output [31:0] auto_icache_slave_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input         auto_icache_master_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output        auto_icache_master_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output [31:0] auto_icache_master_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  output        auto_icache_master_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input         auto_icache_master_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [2:0]  auto_icache_master_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [3:0]  auto_icache_master_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [31:0] auto_icache_master_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input         auto_icache_master_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214486.4]
  input  [31:0] io_reset_vector, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_might_request, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_cpu_req_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_req_bits_speculative, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_sfence_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output        io_cpu_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output        io_cpu_resp_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output        io_cpu_resp_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output [4:0]  io_cpu_resp_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output [7:0]  io_cpu_resp_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output [31:0] io_cpu_resp_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output [31:0] io_cpu_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output        io_cpu_resp_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output        io_cpu_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [4:0]  io_cpu_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_cpu_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_cpu_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_cpu_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [7:0]  io_cpu_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_cpu_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_cpu_flush_icache, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  output [31:0] io_cpu_npc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.4]
  input  [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214487.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@214493.4]
  wire  icache_reset; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_slave_in_a_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_slave_in_a_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [2:0] icache_auto_slave_in_a_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [1:0] icache_auto_slave_in_a_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [6:0] icache_auto_slave_in_a_bits_source; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [27:0] icache_auto_slave_in_a_bits_address; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [3:0] icache_auto_slave_in_a_bits_mask; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_auto_slave_in_a_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_slave_in_d_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_slave_in_d_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [2:0] icache_auto_slave_in_d_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [1:0] icache_auto_slave_in_d_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [6:0] icache_auto_slave_in_d_bits_source; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_auto_slave_in_d_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_master_out_a_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_master_out_a_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_auto_master_out_a_bits_address; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_master_out_d_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_master_out_d_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [2:0] icache_auto_master_out_d_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [3:0] icache_auto_master_out_d_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_auto_master_out_d_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_auto_master_out_d_bits_corrupt; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_req_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_req_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_io_req_bits_addr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_io_s1_paddr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_io_s2_vaddr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_s1_kill; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_s2_kill; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_resp_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire [31:0] icache_io_resp_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_resp_bits_ae; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_invalidate; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_clock_enabled; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  icache_io_keep_clock_enabled; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.4]
  wire  fq_clock; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_reset; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_enq_ready; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_enq_valid; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_enq_bits_btb_taken; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_enq_bits_btb_bridx; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [4:0] fq_io_enq_bits_btb_entry; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [7:0] fq_io_enq_bits_btb_bht_history; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [31:0] fq_io_enq_bits_pc; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [31:0] fq_io_enq_bits_data; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [1:0] fq_io_enq_bits_mask; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_enq_bits_xcpt_ae_inst; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_enq_bits_replay; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_deq_ready; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_deq_valid; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_deq_bits_btb_taken; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_deq_bits_btb_bridx; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [4:0] fq_io_deq_bits_btb_entry; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [7:0] fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [31:0] fq_io_deq_bits_pc; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [31:0] fq_io_deq_bits_data; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire  fq_io_deq_bits_replay; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [4:0] fq_io_mask; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214504.4]
  wire [31:0] tlb_io_req_bits_vaddr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_resp_paddr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_resp_ae_inst; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_0_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_0_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_1_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_1_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_2_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_2_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_3_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_3_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_4_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_4_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_5_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_5_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_6_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_6_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  tlb_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [29:0] tlb_io_ptw_pmp_7_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [31:0] tlb_io_ptw_pmp_7_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire  btb_clock; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_reset; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_req_bits_addr; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_resp_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_resp_bits_taken; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_resp_bits_bridx; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_resp_bits_target; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [4:0] btb_io_resp_bits_entry; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [7:0] btb_io_resp_bits_bht_history; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_resp_bits_bht_value; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_btb_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [4:0] btb_io_btb_update_bits_prediction_entry; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_btb_update_bits_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_btb_update_bits_isValid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_btb_update_bits_br_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [1:0] btb_io_btb_update_bits_cfiType; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_bht_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [7:0] btb_io_bht_update_bits_prediction_history; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_bht_update_bits_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_bht_update_bits_branch; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_bht_update_bits_taken; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_bht_update_bits_mispredict; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_bht_advance_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_bht_advance_bits_bht_value; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_ras_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [1:0] btb_io_ras_update_bits_cfiType; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_ras_update_bits_returnAddr; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_ras_head_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire [31:0] btb_io_ras_head_bits; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  wire  btb_io_flush; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214648.4]
  reg  clock_en_reg; // @[Frontend.scala 84:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214508.4]
  reg [31:0] _RAND_0;
  wire  _T_284; // @[Frontend.scala 86:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214510.4]
  wire  _T_285; // @[Frontend.scala 86:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214511.4]
  wire  _T_286; // @[Frontend.scala 86:75:shc.marmotcaravel.MarmotCaravelConfig.fir@214512.4]
  wire  _T_287; // @[Frontend.scala 86:102:shc.marmotcaravel.MarmotCaravelConfig.fir@214513.4]
  wire  _T_288; // @[Frontend.scala 86:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214514.4]
  wire  _T_289; // @[Frontend.scala 86:130:shc.marmotcaravel.MarmotCaravelConfig.fir@214515.4]
  wire  _T_291; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214517.4]
  wire  _T_292; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214518.4]
  wire  _T_293; // @[Frontend.scala 97:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214529.4]
  wire  _T_294; // @[Frontend.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214530.4]
  wire  s0_valid; // @[Frontend.scala 97:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214531.4]
  reg  s1_valid; // @[Frontend.scala 98:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214532.4]
  reg [31:0] _RAND_1;
  reg [31:0] s1_pc; // @[Frontend.scala 99:18:shc.marmotcaravel.MarmotCaravelConfig.fir@214534.4]
  reg [31:0] _RAND_2;
  reg  s1_speculative; // @[Frontend.scala 100:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214535.4]
  reg [31:0] _RAND_3;
  reg  s2_valid; // @[Frontend.scala 101:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214536.4]
  reg [31:0] _RAND_4;
  wire [31:0] _T_300; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214537.4]
  wire [31:0] _T_301; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214538.4]
  wire [31:0] _T_302; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214539.4]
  reg [31:0] s2_pc; // @[Frontend.scala 102:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214540.4]
  reg [31:0] _RAND_5;
  reg  s2_btb_resp_valid; // @[Frontend.scala 103:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214541.4]
  reg [31:0] _RAND_6;
  reg  s2_btb_resp_bits_taken; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214542.4]
  reg [31:0] _RAND_7;
  reg  s2_btb_resp_bits_bridx; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214542.4]
  reg [31:0] _RAND_8;
  reg [4:0] s2_btb_resp_bits_entry; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214542.4]
  reg [31:0] _RAND_9;
  reg [7:0] s2_btb_resp_bits_bht_history; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214542.4]
  reg [31:0] _RAND_10;
  reg  s2_btb_resp_bits_bht_value; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214542.4]
  reg [31:0] _RAND_11;
  wire  s2_btb_taken; // @[Frontend.scala 105:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214543.4]
  reg  s2_tlb_resp_ae_inst; // @[Frontend.scala 106:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214544.4]
  reg [31:0] _RAND_12;
  reg  s2_speculative; // @[Frontend.scala 108:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214546.4]
  reg [31:0] _RAND_13;
  reg  s2_partial_insn_valid; // @[Frontend.scala 109:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214547.4]
  reg [31:0] _RAND_14;
  reg [15:0] s2_partial_insn; // @[Frontend.scala 110:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214548.4]
  reg [31:0] _RAND_15;
  reg  wrong_path; // @[Frontend.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214549.4]
  reg [31:0] _RAND_16;
  wire [31:0] _T_309; // @[Frontend.scala 113:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214550.4]
  wire [31:0] _T_310; // @[Frontend.scala 113:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214551.4]
  wire [31:0] s1_base_pc; // @[Frontend.scala 113:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214552.4]
  wire [31:0] ntpc; // @[Frontend.scala 114:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214554.4]
  wire  _T_315; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214563.4]
  wire  _T_316; // @[Frontend.scala 119:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214564.4]
  wire  _T_317; // @[Frontend.scala 119:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214565.4]
  wire  _T_318; // @[Frontend.scala 119:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214566.4]
  reg  _T_321; // @[Frontend.scala 119:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214568.4]
  reg [31:0] _RAND_17;
  wire  s2_replay; // @[Frontend.scala 119:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214570.4]
  wire  _T_319; // @[Frontend.scala 119:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214567.4]
  wire [1:0] _T_379; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214712.4]
  wire  _T_380; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214713.4]
  wire  _T_381; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214714.4]
  wire  taken_prevRVI; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214715.4]
  wire [15:0] taken_bits; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214719.4]
  wire [31:0] taken_rviBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214722.4]
  wire [6:0] _T_386; // @[Frontend.scala 206:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  wire  taken_rviJump; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214726.4]
  wire  taken_rviJALR; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214728.4]
  wire  _T_574; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214927.4]
  wire  taken_rviBranch; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214724.4]
  wire  _T_575; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214928.4]
  wire  _T_576; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214929.4]
  wire  _T_577; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@214930.4]
  wire  _T_382; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214716.4]
  wire  _T_383; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214717.4]
  wire  taken_valid; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214718.4]
  wire [15:0] _T_402; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214747.4]
  wire  _T_403; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
  wire  taken_rvcJAL; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214745.4]
  wire  taken_rvcJump; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214749.4]
  wire [15:0] _T_444; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214793.4]
  wire  _T_445; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
  wire [4:0] _T_446; // @[Frontend.scala 216:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214795.4]
  wire  _T_447; // @[Frontend.scala 216:62:shc.marmotcaravel.MarmotCaravelConfig.fir@214796.4]
  wire  taken_rvcJALR; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214797.4]
  wire  _T_578; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214931.4]
  wire  _T_438; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214785.4]
  wire  taken_rvcJR; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214788.4]
  wire  _T_579; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214932.4]
  wire  _T_397; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214740.4]
  wire  _T_399; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@214742.4]
  wire  taken_rvcBranch; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214743.4]
  wire  _T_580; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@214933.4]
  wire  _T_581; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214934.4]
  wire  _T_582; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@214935.4]
  wire  taken_taken; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214936.4]
  wire  taken_idx; // @[Frontend.scala 236:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215281.4]
  wire  _T_882; // @[Frontend.scala 245:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215304.6]
  wire [1:0] _T_646; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215034.4]
  wire  _T_647; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215035.4]
  wire  _T_648; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215036.4]
  wire  taken_prevRVI_1; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215037.4]
  wire [15:0] taken_bits_1; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215041.4]
  wire [31:0] taken_rviBits_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215044.4]
  wire [6:0] _T_654; // @[Frontend.scala 207:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215049.4]
  wire  taken_rviJALR_1; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215050.4]
  wire  _T_655; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215051.4]
  wire  _T_656; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215052.4]
  wire  _T_657; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215053.4]
  wire [4:0] _T_658; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215054.4]
  wire [4:0] _T_659; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215055.4]
  wire  _T_660; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215056.4]
  wire  taken_rviReturn_1; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215057.4]
  wire  _T_850; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215259.4]
  wire  _T_649; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@215038.4]
  wire  _T_650; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215039.4]
  wire  taken_valid_1; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215040.4]
  wire [15:0] _T_704; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215106.4]
  wire  _T_705; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215107.4]
  wire [4:0] _T_706; // @[Frontend.scala 214:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215108.4]
  wire  _T_707; // @[Frontend.scala 214:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215109.4]
  wire  taken_rvcJR_1; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215110.4]
  wire [4:0] _T_708; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215111.4]
  wire [4:0] _T_709; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215112.4]
  wire  _T_710; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215113.4]
  wire  taken_rvcReturn_1; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215114.4]
  wire  _T_851; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@215260.4]
  wire  _T_852; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@215261.4]
  wire  taken_predictReturn_1; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215262.4]
  wire  _T_891; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215317.8]
  wire  _T_388; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214729.4]
  wire  _T_389; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214730.4]
  wire  _T_390; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214731.4]
  wire [4:0] _T_391; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214732.4]
  wire [4:0] _T_392; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214733.4]
  wire  _T_393; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214734.4]
  wire  taken_rviReturn; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214735.4]
  wire  _T_583; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214937.4]
  wire [4:0] _T_441; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214789.4]
  wire [4:0] _T_442; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214790.4]
  wire  _T_443; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214791.4]
  wire  taken_rvcReturn; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214792.4]
  wire  _T_584; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@214938.4]
  wire  _T_585; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@214939.4]
  wire  taken_predictReturn; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214940.4]
  wire  _T_624; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214995.8]
  wire  _GEN_44; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214983.6]
  wire  _GEN_77; // @[Frontend.scala 249:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215318.8]
  wire  _GEN_80; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215305.6]
  wire  useRAS; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  wire  taken_rviBranch_1; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215046.4]
  wire  _T_855; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215266.4]
  wire [15:0] _T_663; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215061.4]
  wire  _T_664; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215062.4]
  wire  _T_666; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@215064.4]
  wire  taken_rvcBranch_1; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215065.4]
  wire  _T_856; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@215267.4]
  wire  _T_857; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215268.4]
  wire  taken_predictBranch_1; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215269.4]
  wire  taken_rviJump_1; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215048.4]
  wire  _T_853; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215263.4]
  wire  _T_670; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215070.4]
  wire  taken_rvcJAL_1; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215067.4]
  wire  taken_rvcJump_1; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215071.4]
  wire  _T_854; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215264.4]
  wire  taken_predictJump_1; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215265.4]
  wire  _T_892; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215321.8]
  wire  _T_893; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215322.8]
  wire [31:0] _T_361; // @[Frontend.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214677.4]
  wire [31:0] _T_362; // @[Frontend.scala 192:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214678.4]
  wire [31:0] s2_base_pc; // @[Frontend.scala 192:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214679.4]
  wire [31:0] taken_pc_1; // @[Frontend.scala 253:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215324.10]
  wire [32:0] _T_894; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215325.10]
  wire [32:0] _T_895; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215326.10]
  wire [31:0] _T_896; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215327.10]
  wire [31:0] _T_897; // @[Frontend.scala 256:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215328.10]
  wire [31:0] _T_898; // @[Frontend.scala 256:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215329.10]
  wire  _T_715; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215121.4]
  wire  _T_717; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215123.4]
  wire  _T_718; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215124.4]
  wire  _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215179.4]
  wire [10:0] _T_723; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215129.4]
  wire [10:0] _T_772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215178.4]
  wire [11:0] _T_774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215180.4]
  wire [7:0] _T_727; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215133.4]
  wire [7:0] _T_728; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215134.4]
  wire [7:0] _T_770; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215176.4]
  wire  _T_734; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215140.4]
  wire  _T_735; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215141.4]
  wire  _T_738; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215144.4]
  wire  _T_769; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215175.4]
  wire [8:0] _T_771; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215177.4]
  wire [20:0] _T_775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215181.4]
  wire [5:0] _T_745; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215151.4]
  wire [3:0] _T_751; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215157.4]
  wire [3:0] _T_754; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215160.4]
  wire [9:0] _T_767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215173.4]
  wire [10:0] _T_768; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215174.4]
  wire [31:0] _T_776; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215182.4]
  wire [31:0] _T_777; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215183.4]
  wire [7:0] _T_791; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215197.4]
  wire [7:0] _T_832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215238.4]
  wire  _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215237.4]
  wire [8:0] _T_833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215239.4]
  wire [20:0] _T_837; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215243.4]
  wire [9:0] _T_829; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215235.4]
  wire [10:0] _T_830; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215236.4]
  wire [31:0] _T_838; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215244.4]
  wire [31:0] _T_839; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215245.4]
  wire [31:0] taken_rviImm_1; // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215246.4]
  wire  _T_671; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215072.4]
  wire  _T_672; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215073.4]
  wire [4:0] _T_674; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215075.4]
  wire [1:0] _T_675; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215076.4]
  wire [6:0] _T_681; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215082.4]
  wire  _T_676; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215077.4]
  wire [7:0] _T_682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215083.4]
  wire [1:0] _T_677; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215078.4]
  wire [1:0] _T_678; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215079.4]
  wire [3:0] _T_679; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215080.4]
  wire [4:0] _T_680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215081.4]
  wire [12:0] _T_683; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215084.4]
  wire [12:0] _T_684; // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215085.4]
  wire [9:0] _T_687; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215088.4]
  wire  _T_688; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215089.4]
  wire [10:0] _T_699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215100.4]
  wire [1:0] _T_689; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215090.4]
  wire [12:0] _T_700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215101.4]
  wire  _T_690; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215091.4]
  wire  _T_691; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215092.4]
  wire [1:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215099.4]
  wire [14:0] _T_701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215102.4]
  wire  _T_693; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@215094.4]
  wire [1:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215097.4]
  wire [2:0] _T_694; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215095.4]
  wire [3:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215096.4]
  wire [5:0] _T_697; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215098.4]
  wire [20:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215103.4]
  wire [20:0] _T_703; // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215104.4]
  wire [20:0] taken_rvcImm_1; // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215105.4]
  wire [31:0] _T_899; // @[Frontend.scala 256:69:shc.marmotcaravel.MarmotCaravelConfig.fir@215330.10]
  wire [31:0] _T_901; // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215332.10]
  wire [31:0] taken_npc_1; // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215333.10]
  wire [31:0] _T_902; // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215334.10]
  wire  _T_588; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214944.4]
  wire  _T_589; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@214945.4]
  wire  _T_590; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214946.4]
  wire  taken_predictBranch; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@214947.4]
  wire  _T_586; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214941.4]
  wire  _T_587; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214942.4]
  wire  taken_predictJump; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214943.4]
  wire  _T_625; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214999.8]
  wire  _T_626; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215000.8]
  wire [31:0] _T_627; // @[Frontend.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215003.10]
  wire  _T_448; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214799.4]
  wire  _T_450; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214801.4]
  wire  _T_451; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214802.4]
  wire  _T_506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214857.4]
  wire [10:0] _T_456; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214807.4]
  wire [10:0] _T_505; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214856.4]
  wire [11:0] _T_507; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214858.4]
  wire [7:0] _T_460; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@214811.4]
  wire [7:0] _T_461; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@214812.4]
  wire [7:0] _T_503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214854.4]
  wire  _T_467; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214818.4]
  wire  _T_468; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214819.4]
  wire  _T_471; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214822.4]
  wire  _T_502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214853.4]
  wire [8:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214855.4]
  wire [20:0] _T_508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214859.4]
  wire [5:0] _T_478; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214829.4]
  wire [3:0] _T_484; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214835.4]
  wire [3:0] _T_487; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214838.4]
  wire [9:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214851.4]
  wire [10:0] _T_501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214852.4]
  wire [31:0] _T_509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214860.4]
  wire [31:0] _T_510; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214861.4]
  wire [7:0] _T_524; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214875.4]
  wire [7:0] _T_565; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214916.4]
  wire  _T_564; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214915.4]
  wire [8:0] _T_566; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214917.4]
  wire [20:0] _T_570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214921.4]
  wire [9:0] _T_562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214913.4]
  wire [10:0] _T_563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214914.4]
  wire [31:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214922.4]
  wire [31:0] _T_572; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214923.4]
  wire [31:0] taken_rviImm; // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214924.4]
  wire [32:0] _T_628; // @[Frontend.scala 255:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215004.10]
  wire  _T_404; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214750.4]
  wire  _T_405; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214751.4]
  wire [4:0] _T_407; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214753.4]
  wire [1:0] _T_408; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214754.4]
  wire [6:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214760.4]
  wire  _T_409; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214755.4]
  wire [7:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214761.4]
  wire [1:0] _T_410; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214756.4]
  wire [1:0] _T_411; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@214757.4]
  wire [3:0] _T_412; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214758.4]
  wire [4:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214759.4]
  wire [12:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214762.4]
  wire [12:0] _T_417; // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214763.4]
  wire [9:0] _T_420; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214766.4]
  wire  _T_421; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214767.4]
  wire [10:0] _T_432; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214778.4]
  wire [1:0] _T_422; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214768.4]
  wire [12:0] _T_433; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214779.4]
  wire  _T_423; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214769.4]
  wire  _T_424; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214770.4]
  wire [1:0] _T_431; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214777.4]
  wire [14:0] _T_434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214780.4]
  wire  _T_426; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214772.4]
  wire [1:0] _T_429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214775.4]
  wire [2:0] _T_427; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214773.4]
  wire [3:0] _T_428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214774.4]
  wire [5:0] _T_430; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214776.4]
  wire [20:0] _T_435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214781.4]
  wire [20:0] _T_436; // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@214782.4]
  wire [20:0] taken_rvcImm; // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214783.4]
  wire [32:0] _T_629; // @[Frontend.scala 255:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215005.10]
  wire [32:0] _GEN_126; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215006.10]
  wire [32:0] _T_631; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215007.10]
  wire [32:0] taken_npc; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215008.10]
  wire [32:0] _T_632; // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215009.10]
  wire  predicted_taken; // @[Frontend.scala 183:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214666.4]
  wire [31:0] _GEN_27; // @[Frontend.scala 183:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214667.4]
  wire [32:0] _GEN_42; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215001.8]
  wire [32:0] _GEN_45; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214983.6]
  wire [32:0] _GEN_78; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215323.8]
  wire [32:0] _GEN_81; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215305.6]
  wire [32:0] _GEN_98; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  wire [32:0] predicted_npc; // @[Frontend.scala 296:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215372.4]
  wire [32:0] npc; // @[Frontend.scala 120:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214572.4]
  wire  _T_323; // @[Frontend.scala 126:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214574.4]
  wire  _T_324; // @[Frontend.scala 126:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214575.4]
  wire  _T_325; // @[Frontend.scala 126:41:shc.marmotcaravel.MarmotCaravelConfig.fir@214576.4]
  wire  s0_speculative; // @[Frontend.scala 126:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214577.4]
  wire  _T_329; // @[Frontend.scala 132:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214585.4]
  wire  _T_841; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215249.4]
  wire  _T_842; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215250.4]
  wire  _T_843; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215251.4]
  wire  _T_844; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@215252.4]
  wire  _T_712; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215116.4]
  wire  taken_rvcJALR_1; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215119.4]
  wire  _T_845; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215253.4]
  wire  _T_846; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@215254.4]
  wire  _T_847; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@215255.4]
  wire  _T_848; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215256.4]
  wire  _T_849; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215257.4]
  wire  taken_taken_1; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215258.4]
  wire  taken; // @[Frontend.scala 277:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215371.4]
  wire  _GEN_115; // @[Frontend.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215388.8]
  wire  _GEN_119; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  wire  s2_redirect; // @[Frontend.scala 302:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215382.4]
  wire  _T_330; // @[Frontend.scala 133:17:shc.marmotcaravel.MarmotCaravelConfig.fir@214587.6]
  reg  _T_340; // @[Frontend.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214617.4]
  reg [31:0] _RAND_18;
  wire  _T_341; // @[Frontend.scala 157:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214619.4]
  wire  _T_343; // @[Frontend.scala 157:98:shc.marmotcaravel.MarmotCaravelConfig.fir@214621.4]
  wire  _T_344; // @[Frontend.scala 157:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214622.4]
  wire [32:0] _T_346; // @[Frontend.scala 159:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214626.4]
  wire [32:0] _T_347; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214627.4]
  wire [32:0] _T_348; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214628.4]
  wire [32:0] _T_349; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214629.4]
  wire  _T_350; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@214632.4]
  wire [2:0] _T_351; // @[Frontend.scala 162:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214633.4]
  wire  _T_352; // @[Frontend.scala 163:79:shc.marmotcaravel.MarmotCaravelConfig.fir@214635.4]
  wire  _T_353; // @[Frontend.scala 163:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214636.4]
  wire  _T_354; // @[Frontend.scala 163:104:shc.marmotcaravel.MarmotCaravelConfig.fir@214637.4]
  wire  _T_355; // @[Frontend.scala 163:101:shc.marmotcaravel.MarmotCaravelConfig.fir@214638.4]
  wire  _T_357; // @[Frontend.scala 167:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214644.4]
  wire  _T_367; // @[Frontend.scala 283:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214690.4]
  wire  _T_368; // @[Frontend.scala 284:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214692.6]
  wire  fetch_bubble_likely; // @[Frontend.scala 284:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214693.6]
  wire  _T_370; // @[Frontend.scala 285:54:shc.marmotcaravel.MarmotCaravelConfig.fir@214695.6]
  wire  _T_371; // @[Frontend.scala 285:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214696.6]
  wire  _T_372; // @[Frontend.scala 285:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214697.6]
  wire  _T_909; // @[Frontend.scala 264:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215348.6]
  wire  _T_911; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215350.6]
  wire  _T_912; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@215351.6]
  wire  _T_913; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215352.6]
  wire  _T_914; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215353.6]
  wire  _T_641; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215025.6]
  wire  _T_642; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@215026.6]
  wire  _T_643; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215027.6]
  wire  _T_644; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215028.6]
  wire  _GEN_91; // @[Frontend.scala 264:125:shc.marmotcaravel.MarmotCaravelConfig.fir@215354.6]
  wire  updateBTB; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  wire  _T_373; // @[Frontend.scala 285:89:shc.marmotcaravel.MarmotCaravelConfig.fir@214698.6]
  wire [1:0] _GEN_127; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.6]
  wire [1:0] _T_374; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.6]
  wire [31:0] _GEN_128; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.6]
  wire [31:0] _T_375; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.6]
  wire [1:0] after_idx; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  wire [2:0] _GEN_129; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214708.4]
  wire [2:0] _T_376; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214708.4]
  wire [31:0] _GEN_130; // @[Frontend.scala 293:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214709.4]
  wire  _T_394; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214736.4]
  wire  taken_rviCall; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214738.4]
  wire  taken_rvcCall; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214798.4]
  wire  _T_591; // @[Frontend.scala 227:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214948.4]
  wire  _T_592; // @[Frontend.scala 227:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214949.4]
  wire  _T_593; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214950.4]
  wire  _T_594; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214951.4]
  wire  _T_596; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@214953.4]
  wire  _GEN_38; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@214954.4]
  wire  _GEN_39; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@214954.4]
  wire  _T_601; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@214966.6]
  wire  _T_602; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@214967.6]
  wire  _T_603; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@214968.6]
  wire  _T_604; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@214969.6]
  wire  _T_605; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@214970.6]
  wire  _T_606; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@214971.6]
  wire  _T_607; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214973.6]
  wire  _T_608; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214974.6]
  wire  _T_609; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214975.6]
  wire  _T_612; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214978.6]
  wire [1:0] _T_613; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214979.6]
  wire [1:0] _T_614; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214980.6]
  wire  _T_617; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214985.8]
  wire  _T_618; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214986.8]
  wire  _T_619; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214987.8]
  wire  _T_620; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@214988.8]
  wire  _T_621; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214989.8]
  wire  _T_622; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@214990.8]
  wire  _T_623; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214991.8]
  wire  _GEN_46; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215016.6]
  wire [1:0] _T_651; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215042.4]
  wire  taken_rvc_1; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215043.4]
  wire  _T_661; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215058.4]
  wire  taken_rviCall_1; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215060.4]
  wire  taken_rvcCall_1; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215120.4]
  wire  _T_860; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215272.4]
  wire  _T_861; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215273.4]
  wire  _T_862; // @[Frontend.scala 227:89:shc.marmotcaravel.MarmotCaravelConfig.fir@215274.4]
  wire  _T_863; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@215275.4]
  wire  _T_868; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215288.6]
  wire  _T_869; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215289.6]
  wire  _T_870; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@215290.6]
  wire  _T_871; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@215291.6]
  wire  _T_872; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215292.6]
  wire  _T_873; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215293.6]
  wire  _T_874; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215295.6]
  wire  _T_875; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215296.6]
  wire  _T_876; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215297.6]
  wire  _T_879; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215300.6]
  wire [1:0] _T_880; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215301.6]
  wire [1:0] _T_881; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215302.6]
  wire  _T_884; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215307.8]
  wire  _T_885; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215308.8]
  wire  _T_886; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215309.8]
  wire  _T_887; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215310.8]
  wire  _T_888; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215311.8]
  wire  _T_889; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215312.8]
  wire  _T_890; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215313.8]
  wire  _GEN_82; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215341.6]
  wire  _T_917; // @[Frontend.scala 272:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215362.6]
  wire  _T_919; // @[Frontend.scala 272:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215364.6]
  wire [15:0] _T_920; // @[Frontend.scala 274:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215367.8]
  wire  _T_922; // @[Frontend.scala 299:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215376.4]
  wire  _T_923; // @[Frontend.scala 299:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215377.4]
  wire  _GEN_116; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  wire  _GEN_117; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  wire [4:0] _GEN_118; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  wire  _T_926; // @[Frontend.scala 311:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215393.4]
  wire  _T_928; // @[Frontend.scala 311:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215395.4]
  wire  _T_930; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@215397.4]
  wire  _T_931; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  wire  _T_933; // @[Frontend.scala 324:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  wire  _T_934; // @[Frontend.scala 325:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215415.4]
  wire  _T_935; // @[Frontend.scala 326:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  wire  _T_938; // @[Frontend.scala 328:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215419.4]
  wire  _T_939; // @[Frontend.scala 328:5:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  ICache icache ( // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214493.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@214504.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@214525.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@214648.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@214510.4]
  assign _T_285 = _T_284 | io_cpu_flush_icache; // @[Frontend.scala 86:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214511.4]
  assign _T_286 = _T_285 | io_cpu_bht_update_valid; // @[Frontend.scala 86:75:shc.marmotcaravel.MarmotCaravelConfig.fir@214512.4]
  assign _T_287 = _T_286 | io_cpu_btb_update_valid; // @[Frontend.scala 86:102:shc.marmotcaravel.MarmotCaravelConfig.fir@214513.4]
  assign _T_288 = _T_287 == 1'h0; // @[Frontend.scala 86:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214514.4]
  assign _T_289 = _T_288 | io_cpu_might_request; // @[Frontend.scala 86:130:shc.marmotcaravel.MarmotCaravelConfig.fir@214515.4]
  assign _T_291 = _T_289 | reset; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214517.4]
  assign _T_292 = _T_291 == 1'h0; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214518.4]
  assign _T_293 = fq_io_mask[2]; // @[Frontend.scala 97:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214529.4]
  assign _T_294 = _T_293 == 1'h0; // @[Frontend.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214530.4]
  assign s0_valid = io_cpu_req_valid | _T_294; // @[Frontend.scala 97:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214531.4]
  assign _T_300 = ~ io_reset_vector; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214537.4]
  assign _T_301 = _T_300 | 32'h1; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214538.4]
  assign _T_302 = ~ _T_301; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214539.4]
  assign s2_btb_taken = s2_btb_resp_valid & s2_btb_resp_bits_taken; // @[Frontend.scala 105:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214543.4]
  assign _T_309 = ~ s1_pc; // @[Frontend.scala 113:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214550.4]
  assign _T_310 = _T_309 | 32'h3; // @[Frontend.scala 113:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214551.4]
  assign s1_base_pc = ~ _T_310; // @[Frontend.scala 113:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214552.4]
  assign ntpc = s1_base_pc + 32'h4; // @[Frontend.scala 114:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214554.4]
  assign _T_315 = fq_io_enq_ready & fq_io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214563.4]
  assign _T_316 = _T_315 == 1'h0; // @[Frontend.scala 119:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214564.4]
  assign _T_317 = s2_valid & _T_316; // @[Frontend.scala 119:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214565.4]
  assign _T_318 = s0_valid == 1'h0; // @[Frontend.scala 119:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214566.4]
  assign s2_replay = _T_317 | _T_321; // @[Frontend.scala 119:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214570.4]
  assign _T_319 = s2_replay & _T_318; // @[Frontend.scala 119:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214567.4]
  assign _T_379 = s2_partial_insn[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214712.4]
  assign _T_380 = _T_379 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214713.4]
  assign _T_381 = _T_380 == 1'h0; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214714.4]
  assign taken_prevRVI = s2_partial_insn_valid & _T_381; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214715.4]
  assign taken_bits = fq_io_enq_bits_data[15:0]; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@214719.4]
  assign taken_rviBits = {taken_bits,s2_partial_insn}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214722.4]
  assign _T_386 = taken_rviBits[6:0]; // @[Frontend.scala 206:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  assign taken_rviJump = _T_386 == 7'h6f; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214726.4]
  assign taken_rviJALR = _T_386 == 7'h67; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214728.4]
  assign _T_574 = taken_rviJump | taken_rviJALR; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214927.4]
  assign taken_rviBranch = _T_386 == 7'h63; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214724.4]
  assign _T_575 = taken_rviBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214928.4]
  assign _T_576 = _T_574 | _T_575; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214929.4]
  assign _T_577 = taken_prevRVI & _T_576; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@214930.4]
  assign _T_382 = fq_io_enq_bits_mask[0]; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214716.4]
  assign _T_383 = taken_prevRVI == 1'h0; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214717.4]
  assign taken_valid = _T_382 & _T_383; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214718.4]
  assign _T_402 = taken_bits & 16'he003; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214747.4]
  assign _T_403 = 16'ha001 == _T_402; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
  assign taken_rvcJAL = 16'h2001 == _T_402; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214745.4]
  assign taken_rvcJump = _T_403 | taken_rvcJAL; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214749.4]
  assign _T_444 = taken_bits & 16'hf003; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214793.4]
  assign _T_445 = 16'h9002 == _T_444; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
  assign _T_446 = taken_bits[6:2]; // @[Frontend.scala 216:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214795.4]
  assign _T_447 = _T_446 == 5'h0; // @[Frontend.scala 216:62:shc.marmotcaravel.MarmotCaravelConfig.fir@214796.4]
  assign taken_rvcJALR = _T_445 & _T_447; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214797.4]
  assign _T_578 = taken_rvcJump | taken_rvcJALR; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214931.4]
  assign _T_438 = 16'h8002 == _T_444; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214785.4]
  assign taken_rvcJR = _T_438 & _T_447; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214788.4]
  assign _T_579 = _T_578 | taken_rvcJR; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214932.4]
  assign _T_397 = 16'hc001 == _T_402; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214740.4]
  assign _T_399 = 16'he001 == _T_402; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@214742.4]
  assign taken_rvcBranch = _T_397 | _T_399; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214743.4]
  assign _T_580 = taken_rvcBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@214933.4]
  assign _T_581 = _T_579 | _T_580; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214934.4]
  assign _T_582 = taken_valid & _T_581; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@214935.4]
  assign taken_taken = _T_577 | _T_582; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214936.4]
  assign taken_idx = taken_taken == 1'h0; // @[Frontend.scala 236:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215281.4]
  assign _T_882 = s2_btb_taken == 1'h0; // @[Frontend.scala 245:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215304.6]
  assign _T_646 = taken_bits[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215034.4]
  assign _T_647 = _T_646 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215035.4]
  assign _T_648 = _T_647 == 1'h0; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215036.4]
  assign taken_prevRVI_1 = taken_valid & _T_648; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215037.4]
  assign taken_bits_1 = fq_io_enq_bits_data[31:16]; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215041.4]
  assign taken_rviBits_1 = {taken_bits_1,taken_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215044.4]
  assign _T_654 = taken_rviBits_1[6:0]; // @[Frontend.scala 207:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215049.4]
  assign taken_rviJALR_1 = _T_654 == 7'h67; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215050.4]
  assign _T_655 = taken_rviBits_1[7]; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215051.4]
  assign _T_656 = _T_655 == 1'h0; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215052.4]
  assign _T_657 = taken_rviJALR_1 & _T_656; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215053.4]
  assign _T_658 = taken_rviBits_1[19:15]; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215054.4]
  assign _T_659 = _T_658 & 5'h1b; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215055.4]
  assign _T_660 = 5'h1 == _T_659; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215056.4]
  assign taken_rviReturn_1 = _T_657 & _T_660; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215057.4]
  assign _T_850 = taken_prevRVI_1 & taken_rviReturn_1; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215259.4]
  assign _T_649 = fq_io_enq_bits_mask[1]; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@215038.4]
  assign _T_650 = taken_prevRVI_1 == 1'h0; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215039.4]
  assign taken_valid_1 = _T_649 & _T_650; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215040.4]
  assign _T_704 = taken_bits_1 & 16'hf003; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215106.4]
  assign _T_705 = 16'h8002 == _T_704; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215107.4]
  assign _T_706 = taken_bits_1[6:2]; // @[Frontend.scala 214:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215108.4]
  assign _T_707 = _T_706 == 5'h0; // @[Frontend.scala 214:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215109.4]
  assign taken_rvcJR_1 = _T_705 & _T_707; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215110.4]
  assign _T_708 = taken_bits_1[11:7]; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215111.4]
  assign _T_709 = _T_708 & 5'h1b; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215112.4]
  assign _T_710 = 5'h1 == _T_709; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215113.4]
  assign taken_rvcReturn_1 = taken_rvcJR_1 & _T_710; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215114.4]
  assign _T_851 = taken_valid_1 & taken_rvcReturn_1; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@215260.4]
  assign _T_852 = _T_850 | _T_851; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@215261.4]
  assign taken_predictReturn_1 = btb_io_ras_head_valid & _T_852; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215262.4]
  assign _T_891 = s2_valid & taken_predictReturn_1; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215317.8]
  assign _T_388 = taken_rviBits[7]; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214729.4]
  assign _T_389 = _T_388 == 1'h0; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214730.4]
  assign _T_390 = taken_rviJALR & _T_389; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214731.4]
  assign _T_391 = taken_rviBits[19:15]; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214732.4]
  assign _T_392 = _T_391 & 5'h1b; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214733.4]
  assign _T_393 = 5'h1 == _T_392; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214734.4]
  assign taken_rviReturn = _T_390 & _T_393; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214735.4]
  assign _T_583 = taken_prevRVI & taken_rviReturn; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214937.4]
  assign _T_441 = taken_bits[11:7]; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214789.4]
  assign _T_442 = _T_441 & 5'h1b; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214790.4]
  assign _T_443 = 5'h1 == _T_442; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214791.4]
  assign taken_rvcReturn = taken_rvcJR & _T_443; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214792.4]
  assign _T_584 = taken_valid & taken_rvcReturn; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@214938.4]
  assign _T_585 = _T_583 | _T_584; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@214939.4]
  assign taken_predictReturn = btb_io_ras_head_valid & _T_585; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214940.4]
  assign _T_624 = s2_valid & taken_predictReturn; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214995.8]
  assign _GEN_44 = _T_882 ? _T_624 : 1'h0; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214983.6]
  assign _GEN_77 = _T_891 ? 1'h1 : _GEN_44; // @[Frontend.scala 249:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215318.8]
  assign _GEN_80 = _T_882 ? _GEN_77 : _GEN_44; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215305.6]
  assign useRAS = taken_idx ? _GEN_80 : _GEN_44; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  assign taken_rviBranch_1 = _T_654 == 7'h63; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215046.4]
  assign _T_855 = taken_prevRVI_1 & taken_rviBranch_1; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215266.4]
  assign _T_663 = taken_bits_1 & 16'he003; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215061.4]
  assign _T_664 = 16'hc001 == _T_663; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215062.4]
  assign _T_666 = 16'he001 == _T_663; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@215064.4]
  assign taken_rvcBranch_1 = _T_664 | _T_666; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215065.4]
  assign _T_856 = taken_valid_1 & taken_rvcBranch_1; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@215267.4]
  assign _T_857 = _T_855 | _T_856; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215268.4]
  assign taken_predictBranch_1 = s2_btb_resp_bits_bht_value & _T_857; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215269.4]
  assign taken_rviJump_1 = _T_654 == 7'h6f; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215048.4]
  assign _T_853 = taken_prevRVI_1 & taken_rviJump_1; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215263.4]
  assign _T_670 = 16'ha001 == _T_663; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215070.4]
  assign taken_rvcJAL_1 = 16'h2001 == _T_663; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215067.4]
  assign taken_rvcJump_1 = _T_670 | taken_rvcJAL_1; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215071.4]
  assign _T_854 = taken_valid_1 & taken_rvcJump_1; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215264.4]
  assign taken_predictJump_1 = _T_853 | _T_854; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215265.4]
  assign _T_892 = taken_predictBranch_1 | taken_predictJump_1; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215321.8]
  assign _T_893 = s2_valid & _T_892; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215322.8]
  assign _T_361 = ~ s2_pc; // @[Frontend.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214677.4]
  assign _T_362 = _T_361 | 32'h3; // @[Frontend.scala 192:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214678.4]
  assign s2_base_pc = ~ _T_362; // @[Frontend.scala 192:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214679.4]
  assign taken_pc_1 = s2_base_pc | 32'h2; // @[Frontend.scala 253:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215324.10]
  assign _T_894 = taken_pc_1 - 32'h2; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215325.10]
  assign _T_895 = $unsigned(_T_894); // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215326.10]
  assign _T_896 = _T_895[31:0]; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215327.10]
  assign _T_897 = taken_prevRVI_1 ? _T_896 : taken_pc_1; // @[Frontend.scala 256:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215328.10]
  assign _T_898 = $signed(_T_897); // @[Frontend.scala 256:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215329.10]
  assign _T_715 = taken_rviBits_1[3]; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215121.4]
  assign _T_717 = taken_rviBits_1[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215123.4]
  assign _T_718 = $signed(_T_717); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215124.4]
  assign _T_773 = $unsigned(_T_718); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215179.4]
  assign _T_723 = {11{_T_718}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215129.4]
  assign _T_772 = $unsigned(_T_723); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215178.4]
  assign _T_774 = {_T_773,_T_772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215180.4]
  assign _T_727 = taken_rviBits_1[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215133.4]
  assign _T_728 = $signed(_T_727); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215134.4]
  assign _T_770 = $unsigned(_T_728); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215176.4]
  assign _T_734 = taken_rviBits_1[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215140.4]
  assign _T_735 = $signed(_T_734); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215141.4]
  assign _T_738 = $signed(_T_655); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215144.4]
  assign _T_769 = $unsigned(_T_735); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215175.4]
  assign _T_771 = {_T_770,_T_769}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215177.4]
  assign _T_775 = {_T_774,_T_771}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215181.4]
  assign _T_745 = taken_rviBits_1[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215151.4]
  assign _T_751 = taken_rviBits_1[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215157.4]
  assign _T_754 = taken_rviBits_1[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215160.4]
  assign _T_767 = {_T_745,_T_754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215173.4]
  assign _T_768 = {_T_767,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215174.4]
  assign _T_776 = {_T_775,_T_768}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215182.4]
  assign _T_777 = $signed(_T_776); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215183.4]
  assign _T_791 = {8{_T_718}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215197.4]
  assign _T_832 = $unsigned(_T_791); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215238.4]
  assign _T_831 = $unsigned(_T_738); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215237.4]
  assign _T_833 = {_T_832,_T_831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215239.4]
  assign _T_837 = {_T_774,_T_833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215243.4]
  assign _T_829 = {_T_745,_T_751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215235.4]
  assign _T_830 = {_T_829,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215236.4]
  assign _T_838 = {_T_837,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215244.4]
  assign _T_839 = $signed(_T_838); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215245.4]
  assign taken_rviImm_1 = _T_715 ? $signed(_T_777) : $signed(_T_839); // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215246.4]
  assign _T_671 = taken_bits_1[14]; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215072.4]
  assign _T_672 = taken_bits_1[12]; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215073.4]
  assign _T_674 = _T_672 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215075.4]
  assign _T_675 = taken_bits_1[6:5]; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215076.4]
  assign _T_681 = {_T_674,_T_675}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215082.4]
  assign _T_676 = taken_bits_1[2]; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215077.4]
  assign _T_682 = {_T_681,_T_676}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215083.4]
  assign _T_677 = taken_bits_1[11:10]; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215078.4]
  assign _T_678 = taken_bits_1[4:3]; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215079.4]
  assign _T_679 = {_T_677,_T_678}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215080.4]
  assign _T_680 = {_T_679,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215081.4]
  assign _T_683 = {_T_682,_T_680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215084.4]
  assign _T_684 = $signed(_T_683); // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215085.4]
  assign _T_687 = _T_672 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215088.4]
  assign _T_688 = taken_bits_1[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215089.4]
  assign _T_699 = {_T_687,_T_688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215100.4]
  assign _T_689 = taken_bits_1[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215090.4]
  assign _T_700 = {_T_699,_T_689}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215101.4]
  assign _T_690 = taken_bits_1[6]; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215091.4]
  assign _T_691 = taken_bits_1[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215092.4]
  assign _T_698 = {_T_690,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215099.4]
  assign _T_701 = {_T_700,_T_698}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215102.4]
  assign _T_693 = taken_bits_1[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@215094.4]
  assign _T_696 = {_T_676,_T_693}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215097.4]
  assign _T_694 = taken_bits_1[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215095.4]
  assign _T_695 = {_T_694,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215096.4]
  assign _T_697 = {_T_696,_T_695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215098.4]
  assign _T_702 = {_T_701,_T_697}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215103.4]
  assign _T_703 = $signed(_T_702); // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215104.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@215105.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@215330.10]
  assign _T_901 = $signed(_T_898) + $signed(_T_899); // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215332.10]
  assign taken_npc_1 = $signed(_T_901); // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215333.10]
  assign _T_902 = $unsigned(taken_npc_1); // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215334.10]
  assign _T_588 = taken_prevRVI & taken_rviBranch; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214944.4]
  assign _T_589 = taken_valid & taken_rvcBranch; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@214945.4]
  assign _T_590 = _T_588 | _T_589; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214946.4]
  assign taken_predictBranch = s2_btb_resp_bits_bht_value & _T_590; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@214947.4]
  assign _T_586 = taken_prevRVI & taken_rviJump; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214941.4]
  assign _T_587 = taken_valid & taken_rvcJump; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214942.4]
  assign taken_predictJump = _T_586 | _T_587; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214943.4]
  assign _T_625 = taken_predictBranch | taken_predictJump; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214999.8]
  assign _T_626 = s2_valid & _T_625; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215000.8]
  assign _T_627 = $signed(s2_base_pc); // @[Frontend.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215003.10]
  assign _T_448 = taken_rviBits[3]; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214799.4]
  assign _T_450 = taken_rviBits[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@214801.4]
  assign _T_451 = $signed(_T_450); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214802.4]
  assign _T_506 = $unsigned(_T_451); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214857.4]
  assign _T_456 = {11{_T_451}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214807.4]
  assign _T_505 = $unsigned(_T_456); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214856.4]
  assign _T_507 = {_T_506,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214858.4]
  assign _T_460 = taken_rviBits[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@214811.4]
  assign _T_461 = $signed(_T_460); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@214812.4]
  assign _T_503 = $unsigned(_T_461); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214854.4]
  assign _T_467 = taken_rviBits[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214818.4]
  assign _T_468 = $signed(_T_467); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214819.4]
  assign _T_471 = $signed(_T_388); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214822.4]
  assign _T_502 = $unsigned(_T_468); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214853.4]
  assign _T_504 = {_T_503,_T_502}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214855.4]
  assign _T_508 = {_T_507,_T_504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214859.4]
  assign _T_478 = taken_rviBits[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214829.4]
  assign _T_484 = taken_rviBits[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214835.4]
  assign _T_487 = taken_rviBits[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214838.4]
  assign _T_500 = {_T_478,_T_487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214851.4]
  assign _T_501 = {_T_500,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214852.4]
  assign _T_509 = {_T_508,_T_501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214860.4]
  assign _T_510 = $signed(_T_509); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214861.4]
  assign _T_524 = {8{_T_451}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214875.4]
  assign _T_565 = $unsigned(_T_524); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214916.4]
  assign _T_564 = $unsigned(_T_471); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214915.4]
  assign _T_566 = {_T_565,_T_564}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214917.4]
  assign _T_570 = {_T_507,_T_566}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214921.4]
  assign _T_562 = {_T_478,_T_484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214913.4]
  assign _T_563 = {_T_562,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214914.4]
  assign _T_571 = {_T_570,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214922.4]
  assign _T_572 = $signed(_T_571); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214923.4]
  assign taken_rviImm = _T_448 ? $signed(_T_510) : $signed(_T_572); // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214924.4]
  assign _T_628 = $signed(taken_rviImm) - $signed(32'sh2); // @[Frontend.scala 255:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215004.10]
  assign _T_404 = taken_bits[14]; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214750.4]
  assign _T_405 = taken_bits[12]; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214751.4]
  assign _T_407 = _T_405 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214753.4]
  assign _T_408 = taken_bits[6:5]; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214754.4]
  assign _T_414 = {_T_407,_T_408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214760.4]
  assign _T_409 = taken_bits[2]; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214755.4]
  assign _T_415 = {_T_414,_T_409}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214761.4]
  assign _T_410 = taken_bits[11:10]; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214756.4]
  assign _T_411 = taken_bits[4:3]; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@214757.4]
  assign _T_412 = {_T_410,_T_411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214758.4]
  assign _T_413 = {_T_412,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214759.4]
  assign _T_416 = {_T_415,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214762.4]
  assign _T_417 = $signed(_T_416); // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214763.4]
  assign _T_420 = _T_405 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214766.4]
  assign _T_421 = taken_bits[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214767.4]
  assign _T_432 = {_T_420,_T_421}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214778.4]
  assign _T_422 = taken_bits[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214768.4]
  assign _T_433 = {_T_432,_T_422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214779.4]
  assign _T_423 = taken_bits[6]; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214769.4]
  assign _T_424 = taken_bits[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214770.4]
  assign _T_431 = {_T_423,_T_424}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214777.4]
  assign _T_434 = {_T_433,_T_431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214780.4]
  assign _T_426 = taken_bits[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214772.4]
  assign _T_429 = {_T_409,_T_426}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214775.4]
  assign _T_427 = taken_bits[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214773.4]
  assign _T_428 = {_T_427,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214774.4]
  assign _T_430 = {_T_429,_T_428}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214776.4]
  assign _T_435 = {_T_434,_T_430}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214781.4]
  assign _T_436 = $signed(_T_435); // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@214782.4]
  assign taken_rvcImm = _T_404 ? $signed({{8{_T_417[12]}},_T_417}) : $signed(_T_436); // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214783.4]
  assign _T_629 = taken_prevRVI ? $signed(_T_628) : $signed({{12{taken_rvcImm[20]}},taken_rvcImm}); // @[Frontend.scala 255:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215005.10]
  assign _GEN_126 = {{1{_T_627[31]}},_T_627}; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215006.10]
  assign _T_631 = $signed(_GEN_126) + $signed(_T_629); // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215007.10]
  assign taken_npc = $signed(_T_631); // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215008.10]
  assign _T_632 = $unsigned(taken_npc); // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215009.10]
  assign predicted_taken = btb_io_resp_valid & btb_io_resp_bits_taken; // @[Frontend.scala 183:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214666.4]
  assign _GEN_27 = predicted_taken ? btb_io_resp_bits_target : ntpc; // @[Frontend.scala 183:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214667.4]
  assign _GEN_42 = _T_626 ? _T_632 : {{1'd0}, _GEN_27}; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215001.8]
  assign _GEN_45 = _T_882 ? _GEN_42 : {{1'd0}, _GEN_27}; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214983.6]
  assign _GEN_78 = _T_893 ? {{1'd0}, _T_902} : _GEN_45; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215323.8]
  assign _GEN_81 = _T_882 ? _GEN_78 : _GEN_45; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215305.6]
  assign _GEN_98 = taken_idx ? _GEN_81 : _GEN_45; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  assign predicted_npc = useRAS ? {{1'd0}, btb_io_ras_head_bits} : _GEN_98; // @[Frontend.scala 296:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215372.4]
  assign npc = s2_replay ? {{1'd0}, s2_pc} : predicted_npc; // @[Frontend.scala 120:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214572.4]
  assign _T_323 = s2_speculative == 1'h0; // @[Frontend.scala 126:56:shc.marmotcaravel.MarmotCaravelConfig.fir@214574.4]
  assign _T_324 = s2_valid & _T_323; // @[Frontend.scala 126:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214575.4]
  assign _T_325 = s1_speculative | _T_324; // @[Frontend.scala 126:41:shc.marmotcaravel.MarmotCaravelConfig.fir@214576.4]
  assign s0_speculative = _T_325 | predicted_taken; // @[Frontend.scala 126:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214577.4]
  assign _T_329 = s2_replay == 1'h0; // @[Frontend.scala 132:9:shc.marmotcaravel.MarmotCaravelConfig.fir@214585.4]
  assign _T_841 = taken_rviJump_1 | taken_rviJALR_1; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215249.4]
  assign _T_842 = taken_rviBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215250.4]
  assign _T_843 = _T_841 | _T_842; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215251.4]
  assign _T_844 = taken_prevRVI_1 & _T_843; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@215252.4]
  assign _T_712 = 16'h9002 == _T_704; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215116.4]
  assign taken_rvcJALR_1 = _T_712 & _T_707; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215119.4]
  assign _T_845 = taken_rvcJump_1 | taken_rvcJALR_1; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215253.4]
  assign _T_846 = _T_845 | taken_rvcJR_1; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@215254.4]
  assign _T_847 = taken_rvcBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@215255.4]
  assign _T_848 = _T_846 | _T_847; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215256.4]
  assign _T_849 = taken_valid_1 & _T_848; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215257.4]
  assign taken_taken_1 = _T_844 | _T_849; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215258.4]
  assign taken = taken_taken | taken_taken_1; // @[Frontend.scala 277:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215371.4]
  assign _GEN_115 = _T_315 ? 1'h1 : io_cpu_req_valid; // @[Frontend.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215388.8]
  assign _GEN_119 = taken ? _GEN_115 : io_cpu_req_valid; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  assign s2_redirect = _T_882 ? _GEN_119 : io_cpu_req_valid; // @[Frontend.scala 302:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215382.4]
  assign _T_330 = s2_redirect == 1'h0; // @[Frontend.scala 133:17:shc.marmotcaravel.MarmotCaravelConfig.fir@214587.6]
  assign _T_341 = _T_340 & s2_valid; // @[Frontend.scala 157:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214619.4]
  assign _T_343 = icache_io_s2_kill; // @[Frontend.scala 157:98:shc.marmotcaravel.MarmotCaravelConfig.fir@214621.4]
  assign _T_344 = icache_io_resp_valid | _T_343; // @[Frontend.scala 157:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214622.4]
  assign _T_346 = io_cpu_req_valid ? {{1'd0}, io_cpu_req_bits_pc} : npc; // @[Frontend.scala 159:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214626.4]
  assign _T_347 = ~ _T_346; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214627.4]
  assign _T_348 = _T_347 | 33'h1; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214628.4]
  assign _T_349 = ~ _T_348; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214629.4]
  assign _T_350 = s2_pc[1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@214632.4]
  assign _T_351 = 3'h3 << _T_350; // @[Frontend.scala 162:52:shc.marmotcaravel.MarmotCaravelConfig.fir@214633.4]
  assign _T_352 = icache_io_resp_valid == 1'h0; // @[Frontend.scala 163:79:shc.marmotcaravel.MarmotCaravelConfig.fir@214635.4]
  assign _T_353 = icache_io_s2_kill & _T_352; // @[Frontend.scala 163:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214636.4]
  assign _T_354 = s2_tlb_resp_ae_inst == 1'h0; // @[Frontend.scala 163:104:shc.marmotcaravel.MarmotCaravelConfig.fir@214637.4]
  assign _T_355 = _T_353 & _T_354; // @[Frontend.scala 163:101:shc.marmotcaravel.MarmotCaravelConfig.fir@214638.4]
  assign _T_357 = icache_io_resp_valid & icache_io_resp_bits_ae; // @[Frontend.scala 167:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214644.4]
  assign _T_367 = io_cpu_btb_update_valid == 1'h0; // @[Frontend.scala 283:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214690.4]
  assign _T_368 = fq_io_mask[1]; // @[Frontend.scala 284:44:shc.marmotcaravel.MarmotCaravelConfig.fir@214692.6]
  assign fetch_bubble_likely = _T_368 == 1'h0; // @[Frontend.scala 284:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214693.6]
  assign _T_370 = wrong_path == 1'h0; // @[Frontend.scala 285:54:shc.marmotcaravel.MarmotCaravelConfig.fir@214695.6]
  assign _T_371 = _T_315 & _T_370; // @[Frontend.scala 285:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214696.6]
  assign _T_372 = _T_371 & fetch_bubble_likely; // @[Frontend.scala 285:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214697.6]
  assign _T_909 = s2_btb_resp_valid == 1'h0; // @[Frontend.scala 264:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215348.6]
  assign _T_911 = taken_predictBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215350.6]
  assign _T_912 = _T_911 | taken_predictJump_1; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@215351.6]
  assign _T_913 = _T_912 | taken_predictReturn_1; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215352.6]
  assign _T_914 = _T_909 & _T_913; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215353.6]
  assign _T_641 = taken_predictBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215025.6]
  assign _T_642 = _T_641 | taken_predictJump; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@215026.6]
  assign _T_643 = _T_642 | taken_predictReturn; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215027.6]
  assign _T_644 = _T_909 & _T_643; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215028.6]
  assign _GEN_91 = _T_914 ? 1'h1 : _T_644; // @[Frontend.scala 264:125:shc.marmotcaravel.MarmotCaravelConfig.fir@215354.6]
  assign updateBTB = taken_idx ? _GEN_91 : _T_644; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  assign _T_373 = _T_372 & updateBTB; // @[Frontend.scala 285:89:shc.marmotcaravel.MarmotCaravelConfig.fir@214698.6]
  assign _GEN_127 = {{1'd0}, taken_idx}; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.6]
  assign _T_374 = _GEN_127 << 1; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.6]
  assign _GEN_128 = {{30'd0}, _T_374}; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.6]
  assign _T_375 = s2_base_pc | _GEN_128; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.6]
  assign after_idx = taken_idx ? 2'h2 : 2'h1; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215282.4]
  assign _GEN_129 = {{1'd0}, after_idx}; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214708.4]
  assign _T_376 = _GEN_129 << 1; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214708.4]
  assign _GEN_130 = {{29'd0}, _T_376}; // @[Frontend.scala 293:53:shc.marmotcaravel.MarmotCaravelConfig.fir@214709.4]
  assign _T_394 = taken_rviJALR | taken_rviJump; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214736.4]
  assign taken_rviCall = _T_394 & _T_388; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214738.4]
  assign taken_rvcCall = taken_rvcJAL | taken_rvcJALR; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214798.4]
  assign _T_591 = s2_valid & s2_btb_resp_valid; // @[Frontend.scala 227:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214948.4]
  assign _T_592 = s2_btb_resp_bits_bridx == 1'h0; // @[Frontend.scala 227:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214949.4]
  assign _T_593 = _T_591 & _T_592; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214950.4]
  assign _T_594 = _T_593 & taken_valid; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214951.4]
  assign _T_596 = _T_594 & _T_648; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@214953.4]
  assign _GEN_38 = _T_596 ? 1'h1 : _T_355; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@214954.4]
  assign _GEN_39 = _T_596 ? 1'h1 : wrong_path; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@214954.4]
  assign _T_601 = taken_rviCall | taken_rviReturn; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@214966.6]
  assign _T_602 = taken_prevRVI & _T_601; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@214967.6]
  assign _T_603 = taken_rvcCall | taken_rvcReturn; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@214968.6]
  assign _T_604 = taken_valid & _T_603; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@214969.6]
  assign _T_605 = _T_602 | _T_604; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@214970.6]
  assign _T_606 = _T_371 & _T_605; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@214971.6]
  assign _T_607 = taken_prevRVI ? taken_rviReturn : taken_rvcReturn; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214973.6]
  assign _T_608 = taken_prevRVI ? taken_rviCall : taken_rvcCall; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214974.6]
  assign _T_609 = taken_prevRVI ? taken_rviBranch : taken_rvcBranch; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214975.6]
  assign _T_612 = _T_609 ? 1'h0 : 1'h1; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214978.6]
  assign _T_613 = _T_608 ? 2'h2 : {{1'd0}, _T_612}; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214979.6]
  assign _T_614 = _T_607 ? 2'h3 : _T_613; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214980.6]
  assign _T_617 = _T_315 & taken_taken; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@214985.8]
  assign _T_618 = taken_predictBranch == 1'h0; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214986.8]
  assign _T_619 = _T_617 & _T_618; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214987.8]
  assign _T_620 = taken_predictJump == 1'h0; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@214988.8]
  assign _T_621 = _T_619 & _T_620; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@214989.8]
  assign _T_622 = taken_predictReturn == 1'h0; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@214990.8]
  assign _T_623 = _T_621 & _T_622; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@214991.8]
  assign _GEN_46 = _T_590 ? _T_371 : 1'h0; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215016.6]
  assign _T_651 = taken_bits_1[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215042.4]
  assign taken_rvc_1 = _T_651 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215043.4]
  assign _T_661 = taken_rviJALR_1 | taken_rviJump_1; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215058.4]
  assign taken_rviCall_1 = _T_661 & _T_655; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215060.4]
  assign taken_rvcCall_1 = taken_rvcJAL_1 | taken_rvcJALR_1; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215120.4]
  assign _T_860 = _T_591 & s2_btb_resp_bits_bridx; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215272.4]
  assign _T_861 = _T_860 & taken_valid_1; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215273.4]
  assign _T_862 = taken_rvc_1 == 1'h0; // @[Frontend.scala 227:89:shc.marmotcaravel.MarmotCaravelConfig.fir@215274.4]
  assign _T_863 = _T_861 & _T_862; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@215275.4]
  assign _T_868 = taken_rviCall_1 | taken_rviReturn_1; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215288.6]
  assign _T_869 = taken_prevRVI_1 & _T_868; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215289.6]
  assign _T_870 = taken_rvcCall_1 | taken_rvcReturn_1; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@215290.6]
  assign _T_871 = taken_valid_1 & _T_870; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@215291.6]
  assign _T_872 = _T_869 | _T_871; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@215292.6]
  assign _T_873 = _T_371 & _T_872; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215293.6]
  assign _T_874 = taken_prevRVI_1 ? taken_rviReturn_1 : taken_rvcReturn_1; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215295.6]
  assign _T_875 = taken_prevRVI_1 ? taken_rviCall_1 : taken_rvcCall_1; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215296.6]
  assign _T_876 = taken_prevRVI_1 ? taken_rviBranch_1 : taken_rvcBranch_1; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215297.6]
  assign _T_879 = _T_876 ? 1'h0 : 1'h1; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215300.6]
  assign _T_880 = _T_875 ? 2'h2 : {{1'd0}, _T_879}; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215301.6]
  assign _T_881 = _T_874 ? 2'h3 : _T_880; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215302.6]
  assign _T_884 = _T_315 & taken_taken_1; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215307.8]
  assign _T_885 = taken_predictBranch_1 == 1'h0; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215308.8]
  assign _T_886 = _T_884 & _T_885; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215309.8]
  assign _T_887 = taken_predictJump_1 == 1'h0; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215310.8]
  assign _T_888 = _T_886 & _T_887; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215311.8]
  assign _T_889 = taken_predictReturn_1 == 1'h0; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215312.8]
  assign _T_890 = _T_888 & _T_889; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215313.8]
  assign _GEN_82 = _T_857 ? _T_371 : _GEN_46; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@215341.6]
  assign _T_917 = taken_valid_1 & taken_idx; // @[Frontend.scala 272:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215362.6]
  assign _T_919 = _T_917 & _T_862; // @[Frontend.scala 272:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215364.6]
  assign _T_920 = taken_bits_1 | 16'h3; // @[Frontend.scala 274:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215367.8]
  assign _T_922 = s2_btb_taken | taken; // @[Frontend.scala 299:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215376.4]
  assign _T_923 = _T_315 & _T_922; // @[Frontend.scala 299:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215377.4]
  assign _GEN_116 = taken ? taken_idx : s2_btb_resp_bits_bridx; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  assign _GEN_117 = taken ? 1'h1 : s2_btb_taken; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  assign _GEN_118 = taken ? 5'h1c : s2_btb_resp_bits_entry; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215383.6]
  assign _T_926 = s2_partial_insn_valid == 1'h0; // @[Frontend.scala 311:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215393.4]
  assign _T_928 = _T_926 | _T_382; // @[Frontend.scala 311:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215395.4]
  assign _T_930 = _T_928 | reset; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@215397.4]
  assign _T_931 = _T_930 == 1'h0; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  assign _T_933 = io_cpu_might_request | icache_io_keep_clock_enabled; // @[Frontend.scala 324:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  assign _T_934 = _T_933 | s1_valid; // @[Frontend.scala 325:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215415.4]
  assign _T_935 = _T_934 | s2_valid; // @[Frontend.scala 326:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  assign _T_938 = fq_io_mask[4]; // @[Frontend.scala 328:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215419.4]
  assign _T_939 = _T_938 == 1'h0; // @[Frontend.scala 328:5:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  assign auto_icache_slave_in_a_ready = icache_auto_slave_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign auto_icache_slave_in_d_valid = icache_auto_slave_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign auto_icache_slave_in_d_bits_opcode = icache_auto_slave_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign auto_icache_slave_in_d_bits_size = icache_auto_slave_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign auto_icache_slave_in_d_bits_source = icache_auto_slave_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign auto_icache_slave_in_d_bits_data = icache_auto_slave_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign auto_icache_master_out_a_valid = icache_auto_master_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign auto_icache_master_out_a_bits_address = icache_auto_master_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign auto_icache_master_out_d_ready = icache_auto_master_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign io_cpu_resp_valid = fq_io_deq_valid; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_btb_taken = fq_io_deq_bits_btb_taken; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_btb_bridx = fq_io_deq_bits_btb_bridx; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_btb_entry = fq_io_deq_bits_btb_entry; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_btb_bht_history = fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_pc = fq_io_deq_bits_pc; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_data = fq_io_deq_bits_data; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_xcpt_ae_inst = fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_resp_bits_replay = fq_io_deq_bits_replay; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign io_cpu_npc = _T_349[31:0]; // @[Frontend.scala 159:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214630.4]
  assign icache_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214498.4 Frontend.scala 91:16:shc.marmotcaravel.MarmotCaravelConfig.fir@214523.4]
  assign icache_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214499.4]
  assign icache_auto_slave_in_a_valid = auto_icache_slave_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_a_bits_opcode = auto_icache_slave_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_a_bits_size = auto_icache_slave_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_a_bits_source = auto_icache_slave_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_a_bits_address = auto_icache_slave_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_a_bits_mask = auto_icache_slave_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_a_bits_data = auto_icache_slave_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_slave_in_d_ready = auto_icache_slave_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214501.4]
  assign icache_auto_master_out_a_ready = auto_icache_master_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign icache_auto_master_out_d_valid = auto_icache_master_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign icache_auto_master_out_d_bits_opcode = auto_icache_master_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign icache_auto_master_out_d_bits_size = auto_icache_master_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign icache_auto_master_out_d_bits_data = auto_icache_master_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign icache_auto_master_out_d_bits_corrupt = auto_icache_master_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign icache_io_req_valid = io_cpu_req_valid | _T_294; // @[Frontend.scala 148:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214604.4]
  assign icache_io_req_bits_addr = io_cpu_npc; // @[Frontend.scala 149:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214605.4]
  assign icache_io_s1_paddr = tlb_io_resp_paddr; // @[Frontend.scala 151:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214607.4]
  assign icache_io_s2_vaddr = s2_pc; // @[Frontend.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214608.4]
  assign icache_io_s1_kill = s2_redirect | s2_replay; // @[Frontend.scala 153:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214611.4]
  assign icache_io_s2_kill = s2_speculative | s2_tlb_resp_ae_inst; // @[Frontend.scala 154:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214615.4]
  assign icache_io_invalidate = io_cpu_flush_icache; // @[Frontend.scala 150:24:shc.marmotcaravel.MarmotCaravelConfig.fir@214606.4]
  assign icache_io_clock_enabled = clock_en_reg | io_cpu_might_request; // @[Frontend.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214524.4]
  assign fq_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214506.4]
  assign fq_reset = reset | io_cpu_req_valid; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214507.4]
  assign fq_io_enq_valid = _T_341 & _T_344; // @[Frontend.scala 157:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214624.4]
  assign fq_io_enq_bits_btb_taken = _T_882 ? _GEN_117 : s2_btb_taken; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214641.4 Frontend.scala 165:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214642.4 Frontend.scala 305:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215385.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@214641.4 Frontend.scala 304:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215384.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@214641.4 Frontend.scala 306:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215386.8]
  assign fq_io_enq_bits_btb_bht_history = s2_btb_resp_bits_bht_history; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214641.4]
  assign fq_io_enq_bits_pc = s2_pc; // @[Frontend.scala 158:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214625.4]
  assign fq_io_enq_bits_data = icache_io_resp_bits_data; // @[Frontend.scala 161:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214631.4]
  assign fq_io_enq_bits_mask = _T_351[1:0]; // @[Frontend.scala 162:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214634.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@214643.4 Frontend.scala 167:87:shc.marmotcaravel.MarmotCaravelConfig.fir@214646.6]
  assign fq_io_enq_bits_replay = _T_863 ? 1'h1 : _GEN_38; // @[Frontend.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214640.4 Frontend.scala 231:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214956.6 Frontend.scala 231:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215278.6]
  assign fq_io_deq_ready = io_cpu_resp_ready; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign tlb_io_req_bits_vaddr = s1_pc; // @[Frontend.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214597.4]
  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214593.4]
  assign btb_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214650.4]
  assign btb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214651.4]
  assign btb_io_req_bits_addr = s1_pc; // @[Frontend.scala 173:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214654.4]
  assign btb_io_btb_update_valid = _T_367 ? _T_373 : io_cpu_btb_update_valid; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214655.4 Frontend.scala 285:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214699.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@214655.4 Frontend.scala 286:47:shc.marmotcaravel.MarmotCaravelConfig.fir@214700.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@214655.4 Frontend.scala 290:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214706.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@214655.4 Frontend.scala 287:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214701.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@214655.4 Frontend.scala 289:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214705.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@214655.4 Frontend.scala 288:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214702.6]
  assign btb_io_bht_update_valid = io_cpu_bht_update_valid; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214656.4 Frontend.scala 190:50:shc.marmotcaravel.MarmotCaravelConfig.fir@214675.6]
  assign btb_io_bht_update_bits_prediction_history = io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214656.4]
  assign btb_io_bht_update_bits_pc = io_cpu_bht_update_bits_pc; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214656.4]
  assign btb_io_bht_update_bits_branch = io_cpu_bht_update_bits_branch; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214656.4]
  assign btb_io_bht_update_bits_taken = io_cpu_bht_update_bits_taken; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214656.4]
  assign btb_io_bht_update_bits_mispredict = io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214656.4]
  assign btb_io_bht_advance_valid = taken_idx ? _GEN_82 : _GEN_46; // @[Frontend.scala 177:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214658.4 Frontend.scala 261:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215020.8 Frontend.scala 261:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215345.8]
  assign btb_io_bht_advance_bits_bht_value = s2_btb_resp_bits_bht_value; // @[Frontend.scala 262:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215021.8 Frontend.scala 262:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215346.8]
  assign btb_io_ras_update_valid = taken_idx ? _T_873 : _T_606; // @[Frontend.scala 176:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214657.4 Frontend.scala 239:33:shc.marmotcaravel.MarmotCaravelConfig.fir@214972.6 Frontend.scala 239:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215294.6]
  assign btb_io_ras_update_bits_cfiType = taken_idx ? _T_881 : _T_614; // @[Frontend.scala 240:40:shc.marmotcaravel.MarmotCaravelConfig.fir@214981.6 Frontend.scala 240:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215303.6]
  assign btb_io_ras_update_bits_returnAddr = s2_base_pc + _GEN_130; // @[Frontend.scala 293:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214711.4]
  assign btb_io_flush = _T_863 ? 1'h1 : _T_596; // @[Frontend.scala 171:18:shc.marmotcaravel.MarmotCaravelConfig.fir@214652.4 Frontend.scala 189:54:shc.marmotcaravel.MarmotCaravelConfig.fir@214672.6 Frontend.scala 230:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214955.6 Frontend.scala 230:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215277.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@214520.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@214521.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@215400.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@215401.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215456.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215457.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [6:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [6:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
);
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [27:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [27:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  reg [3:0] _T_222; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215469.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_224; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215470.4]
  reg [31:0] _RAND_1;
  reg  _T_226; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215471.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_227; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215472.4]
  wire  _T_228; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215473.4]
  wire  _T_229; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
  wire [3:0] _T_231; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215476.4]
  wire [2:0] _T_232; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215477.4]
  wire [4:0] _T_234; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215479.4]
  wire [1:0] _T_235; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215480.4]
  wire [1:0] _T_236; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215481.4]
  wire  _T_237; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215482.4]
  wire  _T_249; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215498.4]
  wire  _T_250; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215499.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215500.4]
  wire [5:0] _T_251; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215500.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.4]
  wire [5:0] _T_252; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.4]
  wire [6:0] _T_253; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.4]
  wire [6:0] _T_254; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215503.4]
  wire [6:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215504.4]
  wire [6:0] _T_256; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215505.4]
  wire [6:0] _T_257; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215506.4]
  wire [2:0] _T_258; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215507.4]
  wire [3:0] _T_259; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215508.4]
  wire  _T_260; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215509.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215510.4]
  wire [3:0] _T_261; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215510.4]
  wire [1:0] _T_262; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215511.4]
  wire [1:0] _T_263; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215512.4]
  wire  _T_264; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215513.4]
  wire [1:0] _T_265; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215514.4]
  wire  _T_266; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@215515.4]
  wire [1:0] _T_267; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215516.4]
  wire [2:0] _T_268; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215517.4]
  wire  _T_276; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215532.4]
  wire  _T_275; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215531.4]
  wire  _T_277; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215533.4]
  wire  _T_278; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215534.4]
  wire  _T_279; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215535.4]
  wire  _T_280; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215536.4]
  wire  _T_269; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215518.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.6]
  wire [4:0] _T_270; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.6]
  wire [4:0] _T_271; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215521.6]
  wire [3:0] _T_272; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215522.6]
  wire  _T_274; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215527.8]
  wire  _T_281; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215538.4]
  wire  _T_309; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215571.4]
  wire [2:0] _T_310; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215572.4]
  wire [12:0] _T_312; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
  wire [5:0] _T_313; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215575.4]
  wire [5:0] _T_314; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215576.4]
  wire [8:0] _T_316; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215578.4]
  wire [1:0] _T_317; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215579.4]
  wire [1:0] _T_318; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215580.4]
  wire  _T_319; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215581.4]
  wire  _T_320; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215582.4]
  reg [3:0] _T_323; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215584.4]
  reg [31:0] _RAND_3;
  wire  _T_324; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215585.4]
  wire [3:0] _T_325; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215586.4]
  wire [4:0] _T_326; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215587.4]
  wire [4:0] _T_327; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215588.4]
  wire [3:0] _T_328; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215589.4]
  wire [3:0] _T_329; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215590.4]
  wire [3:0] _T_330; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215591.4]
  wire [3:0] _T_333; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215594.4]
  reg  _T_341; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215602.4]
  wire  _T_343; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215606.4]
  wire  _T_344; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215607.4]
  wire  _T_70_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215465.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.4]
  wire  _T_345; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215608.4]
  wire  _T_346; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215612.4]
  wire  _T_347; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215613.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
  wire [5:0] _T_349; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215618.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@215619.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
  wire [5:0] _T_352; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
  wire [5:0] _T_353; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@215621.4]
  wire [5:0] _T_354; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215622.4]
  wire [27:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215623.4]
  wire [4:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215625.4]
  wire [1:0] _T_357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215626.4]
  wire  _T_359; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215630.4]
  wire  _T_361; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215632.4]
  wire  _T_363; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215634.4]
  wire  _T_364; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215635.4]
  wire  _T_366; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215642.4]
  wire  _T_367; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215643.4]
  wire  _T_369; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215645.4]
  wire  _T_370; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215646.4]
  Repeater Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.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@215472.4]
  assign _T_228 = _T_222 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215473.4]
  assign _T_229 = _T_227 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
  assign _T_231 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215476.4]
  assign _T_232 = _T_231[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215477.4]
  assign _T_234 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215479.4]
  assign _T_235 = _T_234[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215480.4]
  assign _T_236 = ~ _T_235; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215481.4]
  assign _T_237 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215482.4]
  assign _T_249 = _T_232[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215498.4]
  assign _T_250 = _T_237 ? 1'h1 : _T_249; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215499.4]
  assign _GEN_7 = {{2'd0}, _T_227}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215500.4]
  assign _T_251 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215500.4]
  assign _GEN_8 = {{4'd0}, _T_236}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.4]
  assign _T_252 = _T_251 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.4]
  assign _GEN_9 = {{1'd0}, _T_252}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.4]
  assign _T_253 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.4]
  assign _T_254 = _T_253 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215503.4]
  assign _T_255 = {1'h0,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215504.4]
  assign _T_256 = ~ _T_255; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215505.4]
  assign _T_257 = _T_254 & _T_256; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215506.4]
  assign _T_258 = _T_257[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215507.4]
  assign _T_259 = _T_257[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215508.4]
  assign _T_260 = _T_258 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215509.4]
  assign _GEN_10 = {{1'd0}, _T_258}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215510.4]
  assign _T_261 = _GEN_10 | _T_259; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215510.4]
  assign _T_262 = _T_261[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215511.4]
  assign _T_263 = _T_261[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215512.4]
  assign _T_264 = _T_262 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215513.4]
  assign _T_265 = _T_262 | _T_263; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215514.4]
  assign _T_266 = _T_265[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@215515.4]
  assign _T_267 = {_T_264,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215516.4]
  assign _T_268 = {_T_260,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215517.4]
  assign _T_276 = _T_237 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215532.4]
  assign _T_275 = auto_out_d_bits_source[5]; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215531.4]
  assign _T_277 = _T_275 ? _T_228 : _T_229; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215533.4]
  assign _T_278 = _T_277 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215534.4]
  assign _T_279 = _T_276 & _T_278; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215535.4]
  assign _T_280 = auto_in_d_ready | _T_279; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215536.4]
  assign _T_269 = _T_280 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215518.4]
  assign _GEN_11 = {{3'd0}, _T_250}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.6]
  assign _T_270 = _T_222 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.6]
  assign _T_271 = $unsigned(_T_270); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215521.6]
  assign _T_272 = _T_271[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215522.6]
  assign _T_274 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215527.8]
  assign _T_281 = _T_279 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215538.4]
  assign _T_309 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215571.4]
  assign _T_310 = _T_309 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215572.4]
  assign _T_312 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
  assign _T_313 = _T_312[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215575.4]
  assign _T_314 = ~ _T_313; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215576.4]
  assign _T_316 = 9'h3 << _T_310; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215578.4]
  assign _T_317 = _T_316[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215579.4]
  assign _T_318 = ~ _T_317; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215580.4]
  assign _T_319 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215581.4]
  assign _T_320 = _T_319 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215582.4]
  assign _T_324 = _T_323 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215585.4]
  assign _T_325 = _T_314[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215586.4]
  assign _T_326 = _T_323 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215587.4]
  assign _T_327 = $unsigned(_T_326); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215588.4]
  assign _T_328 = _T_327[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215589.4]
  assign _T_329 = _T_324 ? _T_325 : _T_328; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215590.4]
  assign _T_330 = ~ _T_329; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215591.4]
  assign _T_333 = ~ _T_330; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215594.4]
  assign _GEN_5 = _T_324 ? _T_226 : _T_341; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215602.4]
  assign _T_343 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215606.4]
  assign _T_344 = Repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215607.4]
  assign _T_70_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215465.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.4]
  assign _T_345 = auto_out_a_ready & _T_70_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215608.4]
  assign _T_346 = _T_320 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215612.4]
  assign _T_347 = _T_333 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215613.4]
  assign _GEN_12 = {{2'd0}, _T_329}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
  assign _T_349 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
  assign _T_350 = ~ _T_314; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215618.4]
  assign _T_351 = _T_349 | _T_350; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@215619.4]
  assign _GEN_13 = {{4'd0}, _T_318}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
  assign _T_352 = _T_351 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
  assign _T_353 = _T_352 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@215621.4]
  assign _T_354 = ~ _T_353; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215622.4]
  assign _GEN_14 = {{22'd0}, _T_354}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215623.4]
  assign _T_356 = {_T_343,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215625.4]
  assign _T_357 = {Repeater_io_deq_bits_source,_T_344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215626.4]
  assign _T_359 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215630.4]
  assign _T_361 = _T_359 | _T_346; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215632.4]
  assign _T_363 = _T_361 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215634.4]
  assign _T_364 = _T_363 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215635.4]
  assign _T_366 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215642.4]
  assign _T_367 = _T_359 | _T_366; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215643.4]
  assign _T_369 = _T_367 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215645.4]
  assign _T_370 = _T_369 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215646.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_281; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign auto_in_d_bits_size = _T_228 ? _T_268 : _T_224; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[6:6]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  assign auto_out_a_bits_size = _T_310[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  assign auto_out_a_bits_source = {_T_357,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.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@215467.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_279; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215548.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215549.4]
  assign Repeater_io_repeat = _T_346 & _T_347; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215615.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.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@215493.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@215494.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@215637.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@215638.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@215648.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@215649.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ScratchpadSlavePort( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215660.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215661.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215662.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [6:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  output [6:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.4]
  input         io_dmem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output        io_dmem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output [31:0] io_dmem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output [4:0]  io_dmem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output [2:0]  io_dmem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output        io_dmem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output [31:0] io_dmem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  output [3:0]  io_dmem_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  input         io_dmem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  input         io_dmem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
  input  [31:0] io_dmem_resp_bits_data_raw // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215664.4]
);
  reg [2:0] state; // @[ScratchpadSlavePort.scala 40:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215673.4]
  reg [31:0] _RAND_0;
  wire  _T_174; // @[ScratchpadSlavePort.scala 42:17:shc.marmotcaravel.MarmotCaravelConfig.fir@215676.4]
  wire  _T_226; // @[ScratchpadSlavePort.scala 91:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215766.4]
  wire  tl_in_d_valid; // @[ScratchpadSlavePort.scala 91:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215767.4]
  wire  _T_175; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215683.4]
  wire  _T_180; // @[ScratchpadSlavePort.scala 79:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215702.4]
  wire  _T_181; // @[ScratchpadSlavePort.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215703.4]
  wire  _T_182; // @[ScratchpadSlavePort.scala 79:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215704.4]
  wire  _T_183; // @[ScratchpadSlavePort.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@215705.4]
  wire  ready; // @[ScratchpadSlavePort.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215706.4]
  wire  _T_184; // @[ScratchpadSlavePort.scala 80:38:shc.marmotcaravel.MarmotCaravelConfig.fir@215707.4]
  wire  _T_185; // @[ScratchpadSlavePort.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215708.4]
  wire  dmem_req_valid; // @[ScratchpadSlavePort.scala 80:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215709.4]
  wire  _T_176; // @[ScratchpadSlavePort.scala 46:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215690.4]
  reg [2:0] acq_opcode; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_1;
  reg [2:0] acq_param; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_2;
  reg [1:0] acq_size; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_3;
  reg [6:0] acq_source; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_4;
  reg [31:0] acq_address; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_5;
  reg [3:0] acq_mask; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_6;
  reg [31:0] acq_data; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215694.4]
  reg [31:0] _RAND_7;
  wire  tl_in_a_ready; // @[ScratchpadSlavePort.scala 84:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215715.4]
  wire  _T_177; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215695.4]
  wire  ready_likely; // @[ScratchpadSlavePort.scala 78:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215701.4]
  wire  _T_187; // @[ScratchpadSlavePort.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215711.4]
  wire [2:0] _T_191_opcode; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215718.4]
  wire [2:0] _T_191_param; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215718.4]
  wire [1:0] _T_191_size; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215718.4]
  wire  _T_196; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215725.4]
  wire [3:0] _T_197; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215726.4]
  wire  _T_198; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215727.4]
  wire [3:0] _T_199; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215728.4]
  wire  _T_200; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215729.4]
  wire [3:0] _T_201; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215730.4]
  wire  _T_202; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215731.4]
  wire [3:0] _T_203; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215732.4]
  wire  _T_204; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215733.4]
  wire [3:0] _T_205; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215734.4]
  wire [2:0] _T_208; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215738.4]
  wire [3:0] _T_210; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215740.4]
  wire [3:0] _T_212; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215742.4]
  wire [3:0] _T_214; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215744.4]
  wire  _T_217; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215747.4]
  wire [3:0] _T_218; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215748.4]
  wire  _T_219; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215749.4]
  wire [3:0] _T_220; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215750.4]
  wire  _T_221; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
  wire [4:0] _T_222; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215752.4]
  wire  _T_223; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215753.4]
  wire  _T_228; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215769.4]
  wire  _T_229; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215770.4]
  wire  _T_230; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@215771.4]
  reg [31:0] _T_238; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215795.4]
  reg [31:0] _RAND_8;
  assign _T_174 = state == 3'h1; // @[ScratchpadSlavePort.scala 42:17:shc.marmotcaravel.MarmotCaravelConfig.fir@215676.4]
  assign _T_226 = state == 3'h4; // @[ScratchpadSlavePort.scala 91:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215766.4]
  assign tl_in_d_valid = io_dmem_resp_valid | _T_226; // @[ScratchpadSlavePort.scala 91:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215767.4]
  assign _T_175 = auto_in_d_ready & tl_in_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215683.4]
  assign _T_180 = state == 3'h0; // @[ScratchpadSlavePort.scala 79:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215702.4]
  assign _T_181 = state == 3'h2; // @[ScratchpadSlavePort.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215703.4]
  assign _T_182 = _T_181 & io_dmem_resp_valid; // @[ScratchpadSlavePort.scala 79:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215704.4]
  assign _T_183 = _T_182 & auto_in_d_ready; // @[ScratchpadSlavePort.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@215705.4]
  assign ready = _T_180 | _T_183; // @[ScratchpadSlavePort.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215706.4]
  assign _T_184 = auto_in_a_valid & ready; // @[ScratchpadSlavePort.scala 80:38:shc.marmotcaravel.MarmotCaravelConfig.fir@215707.4]
  assign _T_185 = state == 3'h3; // @[ScratchpadSlavePort.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215708.4]
  assign dmem_req_valid = _T_184 | _T_185; // @[ScratchpadSlavePort.scala 80:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215709.4]
  assign _T_176 = dmem_req_valid & io_dmem_req_ready; // @[ScratchpadSlavePort.scala 46:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215690.4]
  assign tl_in_a_ready = io_dmem_req_ready & ready; // @[ScratchpadSlavePort.scala 84:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215715.4]
  assign _T_177 = tl_in_a_ready & auto_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215695.4]
  assign ready_likely = _T_180 | _T_181; // @[ScratchpadSlavePort.scala 78:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215701.4]
  assign _T_187 = auto_in_a_valid & ready_likely; // @[ScratchpadSlavePort.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215711.4]
  assign _T_191_opcode = _T_185 ? acq_opcode : auto_in_a_bits_opcode; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215718.4]
  assign _T_191_param = _T_185 ? acq_param : auto_in_a_bits_param; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215718.4]
  assign _T_191_size = _T_185 ? acq_size : auto_in_a_bits_size; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215718.4]
  assign _T_196 = 3'h4 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215725.4]
  assign _T_197 = _T_196 ? 4'h8 : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215726.4]
  assign _T_198 = 3'h3 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215727.4]
  assign _T_199 = _T_198 ? 4'hf : _T_197; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215728.4]
  assign _T_200 = 3'h2 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215729.4]
  assign _T_201 = _T_200 ? 4'he : _T_199; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215730.4]
  assign _T_202 = 3'h1 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215731.4]
  assign _T_203 = _T_202 ? 4'hd : _T_201; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215732.4]
  assign _T_204 = 3'h0 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215733.4]
  assign _T_205 = _T_204 ? 4'hc : _T_203; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215734.4]
  assign _T_208 = _T_198 ? 3'h4 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215738.4]
  assign _T_210 = _T_200 ? 4'hb : {{1'd0}, _T_208}; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215740.4]
  assign _T_212 = _T_202 ? 4'ha : _T_210; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215742.4]
  assign _T_214 = _T_204 ? 4'h9 : _T_212; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215744.4]
  assign _T_217 = 3'h3 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215747.4]
  assign _T_218 = _T_217 ? _T_214 : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215748.4]
  assign _T_219 = 3'h2 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215749.4]
  assign _T_220 = _T_219 ? _T_205 : _T_218; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215750.4]
  assign _T_221 = 3'h1 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
  assign _T_222 = _T_221 ? 5'h11 : {{1'd0}, _T_220}; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215752.4]
  assign _T_223 = 3'h0 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215753.4]
  assign _T_228 = acq_opcode == 3'h0; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215769.4]
  assign _T_229 = acq_opcode == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215770.4]
  assign _T_230 = _T_228 | _T_229; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@215771.4]
  assign auto_in_a_ready = io_dmem_req_ready & ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215672.4]
  assign auto_in_d_valid = io_dmem_resp_valid | _T_226; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215672.4]
  assign auto_in_d_bits_opcode = _T_230 ? 3'h0 : 3'h1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215672.4]
  assign auto_in_d_bits_size = acq_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215672.4]
  assign auto_in_d_bits_source = acq_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215672.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@215672.4]
  assign io_dmem_req_valid = _T_187 | _T_185; // @[ScratchpadSlavePort.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215714.4]
  assign io_dmem_req_bits_addr = _T_185 ? acq_address : auto_in_a_bits_address; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215760.4]
  assign io_dmem_req_bits_cmd = _T_223 ? 5'h1 : _T_222; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215760.4]
  assign io_dmem_req_bits_typ = {{1'd0}, _T_191_size}; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215760.4]
  assign io_dmem_s1_kill = state != 3'h1; // @[ScratchpadSlavePort.scala 88:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215764.4]
  assign io_dmem_s1_data_data = acq_data; // @[ScratchpadSlavePort.scala 86:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215761.4]
  assign io_dmem_s1_data_mask = acq_mask; // @[ScratchpadSlavePort.scala 87:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215762.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_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215805.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215806.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215807.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
  output [3:0]  io_deq_bits_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215808.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215813.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215814.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215814.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215814.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215814.4]
  reg [31:0] _RAND_4;
  reg [31:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215814.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215814.4]
  reg [31:0] _RAND_6;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215817.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215823.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215824.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215829.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215830.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215831.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215817.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215823.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215824.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215829.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215830.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215831.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@215822.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215819.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215816.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215821.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215821.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215821.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215821.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215821.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215821.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_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215836.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215837.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215838.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [6:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [6:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215839.4]
);
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [31:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [31:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.4]
  reg [3:0] _T_222; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215850.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_224; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215851.4]
  reg [31:0] _RAND_1;
  reg  _T_226; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215852.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_227; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215853.4]
  wire  _T_228; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215854.4]
  wire  _T_229; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  wire [3:0] _T_231; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215857.4]
  wire [2:0] _T_232; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215858.4]
  wire [4:0] _T_234; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215860.4]
  wire [1:0] _T_235; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215861.4]
  wire [1:0] _T_236; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215862.4]
  wire  _T_237; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215863.4]
  wire  _T_249; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215879.4]
  wire  _T_250; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215880.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
  wire [5:0] _T_251; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215882.4]
  wire [5:0] _T_252; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215882.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215883.4]
  wire [6:0] _T_253; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215883.4]
  wire [6:0] _T_254; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215884.4]
  wire [6:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215885.4]
  wire [6:0] _T_256; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215886.4]
  wire [6:0] _T_257; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215887.4]
  wire [2:0] _T_258; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215888.4]
  wire [3:0] _T_259; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215889.4]
  wire  _T_260; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215891.4]
  wire [3:0] _T_261; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215891.4]
  wire [1:0] _T_262; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215892.4]
  wire [1:0] _T_263; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215893.4]
  wire  _T_264; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215894.4]
  wire [1:0] _T_265; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215895.4]
  wire  _T_266; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@215896.4]
  wire [1:0] _T_267; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215897.4]
  wire [2:0] _T_268; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215898.4]
  wire  _T_276; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215913.4]
  wire  _T_275; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215912.4]
  wire  _T_277; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215914.4]
  wire  _T_278; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215915.4]
  wire  _T_279; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215916.4]
  wire  _T_280; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215917.4]
  wire  _T_269; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215899.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215901.6]
  wire [4:0] _T_270; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215901.6]
  wire [4:0] _T_271; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215902.6]
  wire [3:0] _T_272; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215903.6]
  wire  _T_274; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215908.8]
  wire  _T_281; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215919.4]
  wire  _T_309; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215952.4]
  wire [2:0] _T_310; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215953.4]
  wire [12:0] _T_312; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215955.4]
  wire [5:0] _T_313; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215956.4]
  wire [5:0] _T_314; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215957.4]
  wire [8:0] _T_316; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215959.4]
  wire [1:0] _T_317; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215960.4]
  wire [1:0] _T_318; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215961.4]
  wire  _T_319; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215962.4]
  wire  _T_320; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215963.4]
  reg [3:0] _T_323; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215965.4]
  reg [31:0] _RAND_3;
  wire  _T_324; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215966.4]
  wire [3:0] _T_325; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215967.4]
  wire [4:0] _T_326; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215968.4]
  wire [4:0] _T_327; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215969.4]
  wire [3:0] _T_328; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215970.4]
  wire [3:0] _T_329; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215971.4]
  wire [3:0] _T_330; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215972.4]
  wire [3:0] _T_333; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215975.4]
  reg  _T_341; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215982.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215983.4]
  wire  _T_343; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215987.4]
  wire  _T_344; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215988.4]
  wire  _T_70_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215846.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.4]
  wire  _T_345; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215989.4]
  wire  _T_346; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215993.4]
  wire  _T_347; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215994.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
  wire [5:0] _T_349; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215999.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@216000.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@216001.4]
  wire [5:0] _T_352; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@216001.4]
  wire [5:0] _T_353; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@216002.4]
  wire [5:0] _T_354; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216003.4]
  wire [31:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@216004.4]
  wire [4:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216006.4]
  wire [1:0] _T_357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216007.4]
  wire  _T_359; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@216011.4]
  wire  _T_361; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216013.4]
  wire  _T_363; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216015.4]
  wire  _T_364; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216016.4]
  wire  _T_366; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@216023.4]
  wire  _T_367; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216024.4]
  wire  _T_369; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216026.4]
  wire  _T_370; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216027.4]
  Repeater_21 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215927.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@215853.4]
  assign _T_228 = _T_222 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215854.4]
  assign _T_229 = _T_227 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  assign _T_231 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215857.4]
  assign _T_232 = _T_231[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215858.4]
  assign _T_234 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215860.4]
  assign _T_235 = _T_234[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215861.4]
  assign _T_236 = ~ _T_235; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215862.4]
  assign _T_237 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@215863.4]
  assign _T_249 = _T_232[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215879.4]
  assign _T_250 = _T_237 ? 1'h1 : _T_249; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215880.4]
  assign _GEN_7 = {{2'd0}, _T_227}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
  assign _T_251 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
  assign _GEN_8 = {{4'd0}, _T_236}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215882.4]
  assign _T_252 = _T_251 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215882.4]
  assign _GEN_9 = {{1'd0}, _T_252}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215883.4]
  assign _T_253 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215883.4]
  assign _T_254 = _T_253 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215884.4]
  assign _T_255 = {1'h0,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215885.4]
  assign _T_256 = ~ _T_255; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215886.4]
  assign _T_257 = _T_254 & _T_256; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215887.4]
  assign _T_258 = _T_257[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215888.4]
  assign _T_259 = _T_257[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215889.4]
  assign _T_260 = _T_258 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
  assign _GEN_10 = {{1'd0}, _T_258}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215891.4]
  assign _T_261 = _GEN_10 | _T_259; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215891.4]
  assign _T_262 = _T_261[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215892.4]
  assign _T_263 = _T_261[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215893.4]
  assign _T_264 = _T_262 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215894.4]
  assign _T_265 = _T_262 | _T_263; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215895.4]
  assign _T_266 = _T_265[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@215896.4]
  assign _T_267 = {_T_264,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215897.4]
  assign _T_268 = {_T_260,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215898.4]
  assign _T_276 = _T_237 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@215913.4]
  assign _T_275 = auto_out_d_bits_source[5]; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215912.4]
  assign _T_277 = _T_275 ? _T_228 : _T_229; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215914.4]
  assign _T_278 = _T_277 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215915.4]
  assign _T_279 = _T_276 & _T_278; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215916.4]
  assign _T_280 = auto_in_d_ready | _T_279; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215917.4]
  assign _T_269 = _T_280 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215899.4]
  assign _GEN_11 = {{3'd0}, _T_250}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215901.6]
  assign _T_270 = _T_222 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215901.6]
  assign _T_271 = $unsigned(_T_270); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215902.6]
  assign _T_272 = _T_271[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215903.6]
  assign _T_274 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@215908.8]
  assign _T_281 = _T_279 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215919.4]
  assign _T_309 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215952.4]
  assign _T_310 = _T_309 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215953.4]
  assign _T_312 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215955.4]
  assign _T_313 = _T_312[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215956.4]
  assign _T_314 = ~ _T_313; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215957.4]
  assign _T_316 = 9'h3 << _T_310; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215959.4]
  assign _T_317 = _T_316[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@215960.4]
  assign _T_318 = ~ _T_317; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215961.4]
  assign _T_319 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215962.4]
  assign _T_320 = _T_319 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215963.4]
  assign _T_324 = _T_323 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215966.4]
  assign _T_325 = _T_314[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@215967.4]
  assign _T_326 = _T_323 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215968.4]
  assign _T_327 = $unsigned(_T_326); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215969.4]
  assign _T_328 = _T_327[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@215970.4]
  assign _T_329 = _T_324 ? _T_325 : _T_328; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215971.4]
  assign _T_330 = ~ _T_329; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215972.4]
  assign _T_333 = ~ _T_330; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215975.4]
  assign _GEN_5 = _T_324 ? _T_226 : _T_341; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215983.4]
  assign _T_343 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215987.4]
  assign _T_344 = Repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215988.4]
  assign _T_70_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215846.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.4]
  assign _T_345 = auto_out_a_ready & _T_70_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215989.4]
  assign _T_346 = _T_320 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215993.4]
  assign _T_347 = _T_333 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215994.4]
  assign _GEN_12 = {{2'd0}, _T_329}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
  assign _T_349 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
  assign _T_350 = ~ _T_314; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215999.4]
  assign _T_351 = _T_349 | _T_350; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@216000.4]
  assign _GEN_13 = {{4'd0}, _T_318}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@216001.4]
  assign _T_352 = _T_351 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@216001.4]
  assign _T_353 = _T_352 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@216002.4]
  assign _T_354 = ~ _T_353; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216003.4]
  assign _GEN_14 = {{26'd0}, _T_354}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@216004.4]
  assign _T_356 = {_T_343,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216006.4]
  assign _T_357 = {Repeater_io_deq_bits_source,_T_344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216007.4]
  assign _T_359 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@216011.4]
  assign _T_361 = _T_359 | _T_346; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216013.4]
  assign _T_363 = _T_361 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216015.4]
  assign _T_364 = _T_363 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216016.4]
  assign _T_366 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@216023.4]
  assign _T_367 = _T_359 | _T_366; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216024.4]
  assign _T_369 = _T_367 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216026.4]
  assign _T_370 = _T_369 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216027.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215849.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_281; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215849.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215849.4]
  assign auto_in_d_bits_size = _T_228 ? _T_268 : _T_224; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215849.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[6:6]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215849.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@215849.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign auto_out_a_bits_size = _T_310[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign auto_out_a_bits_source = {_T_357,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.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@215848.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_279; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215848.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215929.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215930.4]
  assign Repeater_io_repeat = _T_346 & _T_347; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215996.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.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@215874.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@215875.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@216018.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@216019.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@216029.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@216030.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_58( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216048.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216049.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216050.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@216051.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@217889.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216067.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@216072.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@216074.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@216075.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@216076.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216078.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216080.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@216081.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@216083.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216084.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216085.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216086.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@216087.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216089.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216090.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216092.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216093.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216094.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216095.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@216096.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216099.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216100.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216101.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216102.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216103.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216104.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216105.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216106.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216107.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216108.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216109.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216110.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216111.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216115.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216136.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216139.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216140.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216141.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216142.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216143.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216144.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216145.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216146.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216147.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216148.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216149.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216150.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216151.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216152.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216153.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216154.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216155.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216156.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216157.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216158.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216159.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216160.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216161.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216162.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216163.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216164.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216165.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216166.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216167.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216168.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216169.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216170.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216171.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216172.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216173.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216174.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216175.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216176.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216177.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216178.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216179.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216180.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216181.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216182.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216183.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216184.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216185.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216186.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216187.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216188.8]
  wire [31:0] _T_142; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216189.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216190.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216191.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216192.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216193.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216203.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216204.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216205.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216206.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216207.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216208.8]
  wire [31:0] _T_162; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216209.8]
  wire [32:0] _T_163; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216210.8]
  wire [32:0] _T_164; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216211.8]
  wire [32:0] _T_165; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216212.8]
  wire  _T_166; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216213.8]
  wire  _T_167; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216214.8]
  wire  _T_168; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216215.8]
  wire  _T_169; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216216.8]
  wire  _T_170; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216217.8]
  wire  _T_185; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216232.8]
  wire  _T_190; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216245.8]
  wire  _T_191; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216246.8]
  wire  _T_194; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216253.8]
  wire  _T_195; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216254.8]
  wire  _T_197; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216260.8]
  wire  _T_198; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216261.8]
  wire  _T_199; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216266.8]
  wire  _T_201; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216268.8]
  wire  _T_202; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216269.8]
  wire [3:0] _T_203; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@216274.8]
  wire  _T_204; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216275.8]
  wire  _T_206; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216277.8]
  wire  _T_207; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216278.8]
  wire  _T_208; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@216283.8]
  wire  _T_210; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216285.8]
  wire  _T_211; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216286.8]
  wire  _T_212; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216292.6]
  wire  _T_325; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216430.8]
  wire  _T_327; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216432.8]
  wire  _T_328; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216433.8]
  wire  _T_338; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216456.6]
  wire  _T_340; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216459.8]
  wire  _T_348; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216467.8]
  wire  _T_350; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216469.8]
  wire  _T_423; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216542.8]
  wire  _T_424; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216543.8]
  wire  _T_425; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216544.8]
  wire  _T_426; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216545.8]
  wire  _T_427; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216546.8]
  wire  _T_428; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216547.8]
  wire  _T_429; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216548.8]
  wire  _T_430; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216549.8]
  wire  _T_431; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216550.8]
  wire  _T_432; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216551.8]
  wire  _T_433; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216552.8]
  wire  _T_434; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216553.8]
  wire  _T_435; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216554.8]
  wire  _T_436; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216555.8]
  wire  _T_438; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216557.8]
  wire  _T_440; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216559.8]
  wire  _T_441; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216560.8]
  wire  _T_448; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216579.8]
  wire  _T_450; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216581.8]
  wire  _T_451; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216582.8]
  wire  _T_452; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216587.8]
  wire  _T_454; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216589.8]
  wire  _T_455; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216590.8]
  wire  _T_460; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216604.6]
  wire  _T_538; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216683.8]
  wire  _T_539; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216684.8]
  wire  _T_540; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216685.8]
  wire  _T_541; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216686.8]
  wire  _T_542; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216687.8]
  wire  _T_543; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216688.8]
  wire  _T_544; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216689.8]
  wire  _T_545; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216690.8]
  wire  _T_546; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216691.8]
  wire  _T_561; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216706.8]
  wire  _T_564; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216709.8]
  wire  _T_565; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216710.8]
  wire  _T_580; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216746.6]
  wire  _T_653; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216820.8]
  wire  _T_654; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216821.8]
  wire  _T_655; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216822.8]
  wire  _T_656; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216823.8]
  wire  _T_657; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216824.8]
  wire  _T_658; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216825.8]
  wire  _T_659; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216826.8]
  wire  _T_660; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216827.8]
  wire  _T_681; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216848.8]
  wire  _T_684; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216851.8]
  wire  _T_685; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216852.8]
  wire [3:0] _T_696; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216879.8]
  wire [3:0] _T_697; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216880.8]
  wire  _T_698; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@216881.8]
  wire  _T_700; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216883.8]
  wire  _T_701; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216884.8]
  wire  _T_702; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216890.6]
  wire  _T_704; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216893.8]
  wire  _T_776; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216965.8]
  wire  _T_777; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216966.8]
  wire  _T_778; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216967.8]
  wire  _T_779; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216968.8]
  wire  _T_780; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216969.8]
  wire  _T_781; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216970.8]
  wire  _T_782; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216971.8]
  wire  _T_783; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216972.8]
  wire  _T_784; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216973.8]
  wire  _T_801; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216990.8]
  wire  _T_802; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216991.8]
  wire  _T_809; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@217010.8]
  wire  _T_811; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217012.8]
  wire  _T_812; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217013.8]
  wire  _T_817; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217027.6]
  wire  _T_924; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@217147.8]
  wire  _T_926; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217149.8]
  wire  _T_927; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217150.8]
  wire  _T_932; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217164.6]
  wire  _T_1031; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217264.8]
  wire  _T_1032; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217265.8]
  wire  _T_1047; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@217303.6]
  wire  _T_1049; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217305.6]
  wire  _T_1050; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217306.6]
  wire  _T_1052; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217312.6]
  wire  _T_1061; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@217317.6]
  wire  _T_1063; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217319.6]
  wire  _T_1065; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217322.8]
  wire  _T_1066; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217323.8]
  wire  _T_1067; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217328.8]
  wire  _T_1069; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217330.8]
  wire  _T_1070; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217331.8]
  wire  _T_1071; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217336.8]
  wire  _T_1073; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217338.8]
  wire  _T_1074; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217339.8]
  wire  _T_1075; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217344.8]
  wire  _T_1077; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217346.8]
  wire  _T_1078; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217347.8]
  wire  _T_1079; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217352.8]
  wire  _T_1081; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217354.8]
  wire  _T_1082; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217355.8]
  wire  _T_1083; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217361.6]
  wire  _T_1094; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217385.8]
  wire  _T_1096; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217387.8]
  wire  _T_1097; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217388.8]
  wire  _T_1098; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217393.8]
  wire  _T_1100; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217395.8]
  wire  _T_1101; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217396.8]
  wire  _T_1111; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217419.6]
  wire  _T_1131; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@217460.8]
  wire  _T_1133; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217462.8]
  wire  _T_1134; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217463.8]
  wire  _T_1140; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217478.6]
  wire  _T_1157; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217513.6]
  wire  _T_1175; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217549.6]
  wire  _T_1204; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217609.4]
  wire [9:0] _T_1209; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
  wire  _T_1210; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@217615.4]
  wire  _T_1211; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217616.4]
  reg [9:0] _T_1214; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217618.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1215; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217619.4]
  wire [10:0] _T_1216; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217620.4]
  wire [9:0] _T_1217; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217621.4]
  wire  _T_1218; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217622.4]
  reg [2:0] _T_1227; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217633.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1229; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217634.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1231; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217635.4]
  reg [31:0] _RAND_3;
  reg  _T_1233; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217636.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1235; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217637.4]
  reg [31:0] _RAND_5;
  wire  _T_1236; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217638.4]
  wire  _T_1237; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@217639.4]
  wire  _T_1238; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217641.6]
  wire  _T_1240; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217643.6]
  wire  _T_1241; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217644.6]
  wire  _T_1242; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217649.6]
  wire  _T_1244; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217651.6]
  wire  _T_1245; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217652.6]
  wire  _T_1246; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217657.6]
  wire  _T_1248; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217659.6]
  wire  _T_1249; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217660.6]
  wire  _T_1250; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217665.6]
  wire  _T_1252; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217667.6]
  wire  _T_1253; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217668.6]
  wire  _T_1254; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217673.6]
  wire  _T_1256; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217675.6]
  wire  _T_1257; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217676.6]
  wire  _T_1259; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217683.4]
  wire  _T_1260; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217691.4]
  wire [26:0] _T_1262; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@217693.4]
  wire [11:0] _T_1263; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@217694.4]
  wire [11:0] _T_1264; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@217695.4]
  wire [9:0] _T_1265; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@217696.4]
  wire  _T_1266; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217697.4]
  reg [9:0] _T_1269; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217699.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1270; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217700.4]
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217701.4]
  wire [9:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217702.4]
  wire  _T_1273; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217703.4]
  reg [2:0] _T_1282; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217714.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1284; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217715.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1286; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217716.4]
  reg [31:0] _RAND_9;
  reg  _T_1288; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217717.4]
  reg [31:0] _RAND_10;
  reg  _T_1290; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217718.4]
  reg [31:0] _RAND_11;
  reg  _T_1292; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217719.4]
  reg [31:0] _RAND_12;
  wire  _T_1293; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217720.4]
  wire  _T_1294; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@217721.4]
  wire  _T_1295; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217723.6]
  wire  _T_1297; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217725.6]
  wire  _T_1298; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217726.6]
  wire  _T_1299; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217731.6]
  wire  _T_1301; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217733.6]
  wire  _T_1302; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217734.6]
  wire  _T_1303; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217739.6]
  wire  _T_1305; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217741.6]
  wire  _T_1306; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217742.6]
  wire  _T_1307; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217747.6]
  wire  _T_1309; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217749.6]
  wire  _T_1310; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217750.6]
  wire  _T_1311; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217755.6]
  wire  _T_1313; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217757.6]
  wire  _T_1314; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217758.6]
  wire  _T_1315; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217763.6]
  wire  _T_1317; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217765.6]
  wire  _T_1318; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217766.6]
  wire  _T_1320; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217773.4]
  reg [1:0] _T_1322; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217782.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1333; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217792.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1334; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217793.4]
  wire [10:0] _T_1335; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217794.4]
  wire [9:0] _T_1336; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217795.4]
  wire  _T_1337; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217796.4]
  reg [9:0] _T_1354; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217815.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1355; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217816.4]
  wire [10:0] _T_1356; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217817.4]
  wire [9:0] _T_1357; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217818.4]
  wire  _T_1358; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217819.4]
  wire  _T_1369; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217834.4]
  wire [1:0] _T_1371; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@217837.6]
  wire [1:0] _T_1372; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217839.6]
  wire  _T_1373; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217840.6]
  wire  _T_1374; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217841.6]
  wire  _T_1376; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217843.6]
  wire  _T_1377; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217844.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217836.4]
  wire  _T_1382; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217855.4]
  wire  _T_1384; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@217857.4]
  wire  _T_1385; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217858.4]
  wire [1:0] _T_1386; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@217860.6]
  wire [1:0] _T_1387; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@217862.6]
  wire [1:0] _T_1388; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217863.6]
  wire  _T_1389; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217864.6]
  wire  _T_1391; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217866.6]
  wire  _T_1392; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217867.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@217859.4]
  wire  _T_1393; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217873.4]
  wire  _T_1394; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@217874.4]
  wire  _T_1395; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@217875.4]
  wire  _T_1396; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@217876.4]
  wire  _T_1398; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217878.4]
  wire  _T_1399; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217879.4]
  wire [1:0] _T_1400; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217884.4]
  wire [1:0] _T_1401; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@217885.4]
  wire [1:0] _T_1402; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217886.4]
  reg [31:0] _T_1404; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217888.4]
  reg [31:0] _RAND_16;
  wire  _T_1405; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217891.4]
  wire  _T_1406; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217892.4]
  wire  _T_1407; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217893.4]
  wire  _T_1408; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217894.4]
  wire  _T_1409; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@217895.4]
  wire  _T_1410; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@217896.4]
  wire  _T_1412; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217898.4]
  wire  _T_1413; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217899.4]
  wire [31:0] _T_1415; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217905.4]
  wire  _T_1418; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217909.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216234.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216390.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216562.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216712.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216854.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216993.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217130.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217267.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217325.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217367.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217425.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217484.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217519.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217555.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@217889.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216067.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@216072.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@216074.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@216075.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@216076.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216078.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216080.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@216081.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@216083.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216084.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216085.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216086.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@216087.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216089.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216090.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216092.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216093.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216094.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216095.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@216096.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216099.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216100.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216101.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216102.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216103.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216104.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216105.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216106.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216107.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216108.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216109.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216110.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216111.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216115.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216136.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216139.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216140.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216141.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216142.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216143.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216144.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216145.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216146.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216147.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216148.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216149.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216150.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216151.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216152.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216153.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216154.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216155.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216156.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216157.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216158.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216159.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216160.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216161.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216162.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216163.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216164.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216165.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216166.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216167.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216168.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216169.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216170.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216171.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216172.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216173.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216174.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216175.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216176.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216177.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216178.8]
  assign _T_132 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216179.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216180.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216181.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216182.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216183.8]
  assign _T_137 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216184.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216185.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216186.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216187.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216188.8]
  assign _T_142 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216189.8]
  assign _T_143 = {1'b0,$signed(_T_142)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216190.8]
  assign _T_144 = $signed(_T_143) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216191.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216192.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216193.8]
  assign _T_149 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216203.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216204.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216205.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216206.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216207.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216208.8]
  assign _T_162 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216209.8]
  assign _T_163 = {1'b0,$signed(_T_162)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216210.8]
  assign _T_164 = $signed(_T_163) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216211.8]
  assign _T_165 = $signed(_T_164); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216212.8]
  assign _T_166 = $signed(_T_165) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@216213.8]
  assign _T_167 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216214.8]
  assign _T_168 = _T_167 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216215.8]
  assign _T_169 = _T_168 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216216.8]
  assign _T_170 = _T_169 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216217.8]
  assign _T_185 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216232.8]
  assign _T_190 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216245.8]
  assign _T_191 = _T_190 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216246.8]
  assign _T_194 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216253.8]
  assign _T_195 = _T_194 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216254.8]
  assign _T_197 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216260.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216261.8]
  assign _T_199 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216266.8]
  assign _T_201 = _T_199 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216268.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216269.8]
  assign _T_203 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@216274.8]
  assign _T_204 = _T_203 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216275.8]
  assign _T_206 = _T_204 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216277.8]
  assign _T_207 = _T_206 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216278.8]
  assign _T_208 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@216283.8]
  assign _T_210 = _T_208 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216285.8]
  assign _T_211 = _T_210 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216286.8]
  assign _T_212 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216292.6]
  assign _T_325 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216430.8]
  assign _T_327 = _T_325 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216432.8]
  assign _T_328 = _T_327 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216433.8]
  assign _T_338 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216456.6]
  assign _T_340 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216459.8]
  assign _T_348 = _T_340 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216467.8]
  assign _T_350 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216469.8]
  assign _T_423 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216542.8]
  assign _T_424 = _T_423 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216543.8]
  assign _T_425 = _T_424 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216544.8]
  assign _T_426 = _T_425 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216545.8]
  assign _T_427 = _T_426 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216546.8]
  assign _T_428 = _T_427 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216547.8]
  assign _T_429 = _T_428 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216548.8]
  assign _T_430 = _T_429 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216549.8]
  assign _T_431 = _T_430 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216550.8]
  assign _T_432 = _T_431 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216551.8]
  assign _T_433 = _T_432 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216552.8]
  assign _T_434 = _T_433 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216553.8]
  assign _T_435 = _T_434 | _T_166; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216554.8]
  assign _T_436 = _T_350 & _T_435; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216555.8]
  assign _T_438 = _T_348 | _T_436; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216557.8]
  assign _T_440 = _T_438 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216559.8]
  assign _T_441 = _T_440 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216560.8]
  assign _T_448 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216579.8]
  assign _T_450 = _T_448 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216581.8]
  assign _T_451 = _T_450 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216582.8]
  assign _T_452 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216587.8]
  assign _T_454 = _T_452 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216589.8]
  assign _T_455 = _T_454 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216590.8]
  assign _T_460 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216604.6]
  assign _T_538 = _T_425 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216683.8]
  assign _T_539 = _T_538 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216684.8]
  assign _T_540 = _T_539 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216685.8]
  assign _T_541 = _T_540 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216686.8]
  assign _T_542 = _T_541 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216687.8]
  assign _T_543 = _T_542 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216688.8]
  assign _T_544 = _T_543 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216689.8]
  assign _T_545 = _T_544 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216690.8]
  assign _T_546 = _T_350 & _T_545; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216691.8]
  assign _T_561 = _T_348 | _T_546; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216706.8]
  assign _T_564 = _T_561 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216709.8]
  assign _T_565 = _T_564 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216710.8]
  assign _T_580 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216746.6]
  assign _T_653 = _T_425 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216820.8]
  assign _T_654 = _T_653 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216821.8]
  assign _T_655 = _T_654 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216822.8]
  assign _T_656 = _T_655 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216823.8]
  assign _T_657 = _T_656 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216824.8]
  assign _T_658 = _T_657 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216825.8]
  assign _T_659 = _T_658 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216826.8]
  assign _T_660 = _T_350 & _T_659; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216827.8]
  assign _T_681 = _T_348 | _T_660; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216848.8]
  assign _T_684 = _T_681 | reset; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216851.8]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216852.8]
  assign _T_696 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216879.8]
  assign _T_697 = io_in_a_bits_mask & _T_696; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216880.8]
  assign _T_698 = _T_697 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@216881.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216883.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216884.8]
  assign _T_702 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216890.6]
  assign _T_704 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216893.8]
  assign _T_776 = _T_170 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216965.8]
  assign _T_777 = _T_776 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216966.8]
  assign _T_778 = _T_777 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216967.8]
  assign _T_779 = _T_778 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216968.8]
  assign _T_780 = _T_779 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216969.8]
  assign _T_781 = _T_780 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216970.8]
  assign _T_782 = _T_781 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216971.8]
  assign _T_783 = _T_782 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216972.8]
  assign _T_784 = _T_704 & _T_783; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216973.8]
  assign _T_801 = _T_784 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216990.8]
  assign _T_802 = _T_801 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216991.8]
  assign _T_809 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@217010.8]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217012.8]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217013.8]
  assign _T_817 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217027.6]
  assign _T_924 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@217147.8]
  assign _T_926 = _T_924 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217149.8]
  assign _T_927 = _T_926 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217150.8]
  assign _T_932 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217164.6]
  assign _T_1031 = _T_348 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217264.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217265.8]
  assign _T_1047 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@217303.6]
  assign _T_1049 = _T_1047 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217305.6]
  assign _T_1050 = _T_1049 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217306.6]
  assign _T_1052 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217312.6]
  assign _T_1061 = io_in_d_bits_source | _T_1052; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@217317.6]
  assign _T_1063 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217319.6]
  assign _T_1065 = _T_1061 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217322.8]
  assign _T_1066 = _T_1065 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217323.8]
  assign _T_1067 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217328.8]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217330.8]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217331.8]
  assign _T_1071 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217336.8]
  assign _T_1073 = _T_1071 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217338.8]
  assign _T_1074 = _T_1073 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217339.8]
  assign _T_1075 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217344.8]
  assign _T_1077 = _T_1075 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217346.8]
  assign _T_1078 = _T_1077 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217347.8]
  assign _T_1079 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217352.8]
  assign _T_1081 = _T_1079 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217354.8]
  assign _T_1082 = _T_1081 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217355.8]
  assign _T_1083 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217361.6]
  assign _T_1094 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217385.8]
  assign _T_1096 = _T_1094 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217387.8]
  assign _T_1097 = _T_1096 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217388.8]
  assign _T_1098 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217393.8]
  assign _T_1100 = _T_1098 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217395.8]
  assign _T_1101 = _T_1100 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217396.8]
  assign _T_1111 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217419.6]
  assign _T_1131 = _T_1079 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@217460.8]
  assign _T_1133 = _T_1131 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217462.8]
  assign _T_1134 = _T_1133 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217463.8]
  assign _T_1140 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217478.6]
  assign _T_1157 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217513.6]
  assign _T_1175 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217549.6]
  assign _T_1204 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217609.4]
  assign _T_1209 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
  assign _T_1210 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@217615.4]
  assign _T_1211 = _T_1210 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217616.4]
  assign _T_1215 = _T_1214 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217619.4]
  assign _T_1216 = $unsigned(_T_1215); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217620.4]
  assign _T_1217 = _T_1216[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217621.4]
  assign _T_1218 = _T_1214 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217622.4]
  assign _T_1236 = _T_1218 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217638.4]
  assign _T_1237 = io_in_a_valid & _T_1236; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@217639.4]
  assign _T_1238 = io_in_a_bits_opcode == _T_1227; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217641.6]
  assign _T_1240 = _T_1238 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217643.6]
  assign _T_1241 = _T_1240 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217644.6]
  assign _T_1242 = io_in_a_bits_param == _T_1229; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217649.6]
  assign _T_1244 = _T_1242 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217651.6]
  assign _T_1245 = _T_1244 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217652.6]
  assign _T_1246 = io_in_a_bits_size == _T_1231; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217657.6]
  assign _T_1248 = _T_1246 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217659.6]
  assign _T_1249 = _T_1248 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217660.6]
  assign _T_1250 = io_in_a_bits_source == _T_1233; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217665.6]
  assign _T_1252 = _T_1250 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217667.6]
  assign _T_1253 = _T_1252 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217668.6]
  assign _T_1254 = io_in_a_bits_address == _T_1235; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217673.6]
  assign _T_1256 = _T_1254 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217675.6]
  assign _T_1257 = _T_1256 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217676.6]
  assign _T_1259 = _T_1204 & _T_1218; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217683.4]
  assign _T_1260 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217691.4]
  assign _T_1262 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@217693.4]
  assign _T_1263 = _T_1262[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@217694.4]
  assign _T_1264 = ~ _T_1263; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@217695.4]
  assign _T_1265 = _T_1264[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@217696.4]
  assign _T_1266 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217697.4]
  assign _T_1270 = _T_1269 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217700.4]
  assign _T_1271 = $unsigned(_T_1270); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217701.4]
  assign _T_1272 = _T_1271[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217702.4]
  assign _T_1273 = _T_1269 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217703.4]
  assign _T_1293 = _T_1273 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217720.4]
  assign _T_1294 = io_in_d_valid & _T_1293; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@217721.4]
  assign _T_1295 = io_in_d_bits_opcode == _T_1282; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217723.6]
  assign _T_1297 = _T_1295 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217725.6]
  assign _T_1298 = _T_1297 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217726.6]
  assign _T_1299 = io_in_d_bits_param == _T_1284; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217731.6]
  assign _T_1301 = _T_1299 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217733.6]
  assign _T_1302 = _T_1301 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217734.6]
  assign _T_1303 = io_in_d_bits_size == _T_1286; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217739.6]
  assign _T_1305 = _T_1303 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217741.6]
  assign _T_1306 = _T_1305 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217742.6]
  assign _T_1307 = io_in_d_bits_source == _T_1288; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217747.6]
  assign _T_1309 = _T_1307 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217749.6]
  assign _T_1310 = _T_1309 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217750.6]
  assign _T_1311 = io_in_d_bits_sink == _T_1290; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217755.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217757.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217758.6]
  assign _T_1315 = io_in_d_bits_denied == _T_1292; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217763.6]
  assign _T_1317 = _T_1315 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217765.6]
  assign _T_1318 = _T_1317 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217766.6]
  assign _T_1320 = _T_1260 & _T_1273; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217773.4]
  assign _T_1334 = _T_1333 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217793.4]
  assign _T_1335 = $unsigned(_T_1334); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217794.4]
  assign _T_1336 = _T_1335[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217795.4]
  assign _T_1337 = _T_1333 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217796.4]
  assign _T_1355 = _T_1354 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217816.4]
  assign _T_1356 = $unsigned(_T_1355); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217817.4]
  assign _T_1357 = _T_1356[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217818.4]
  assign _T_1358 = _T_1354 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@217819.4]
  assign _T_1369 = _T_1204 & _T_1337; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217834.4]
  assign _T_1371 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@217837.6]
  assign _T_1372 = _T_1322 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217839.6]
  assign _T_1373 = _T_1372[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217840.6]
  assign _T_1374 = _T_1373 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217841.6]
  assign _T_1376 = _T_1374 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217843.6]
  assign _T_1377 = _T_1376 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217844.6]
  assign _GEN_15 = _T_1369 ? _T_1371 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217836.4]
  assign _T_1382 = _T_1260 & _T_1358; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217855.4]
  assign _T_1384 = _T_1063 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@217857.4]
  assign _T_1385 = _T_1382 & _T_1384; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217858.4]
  assign _T_1386 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@217860.6]
  assign _T_1387 = _GEN_15 | _T_1322; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@217862.6]
  assign _T_1388 = _T_1387 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217863.6]
  assign _T_1389 = _T_1388[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217864.6]
  assign _T_1391 = _T_1389 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217866.6]
  assign _T_1392 = _T_1391 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217867.6]
  assign _GEN_16 = _T_1385 ? _T_1386 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@217859.4]
  assign _T_1393 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217873.4]
  assign _T_1394 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@217874.4]
  assign _T_1395 = _T_1394 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@217875.4]
  assign _T_1396 = _T_1393 | _T_1395; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@217876.4]
  assign _T_1398 = _T_1396 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217878.4]
  assign _T_1399 = _T_1398 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217879.4]
  assign _T_1400 = _T_1322 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217884.4]
  assign _T_1401 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@217885.4]
  assign _T_1402 = _T_1400 & _T_1401; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217886.4]
  assign _T_1405 = _T_1322 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217891.4]
  assign _T_1406 = _T_1405 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217892.4]
  assign _T_1407 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217893.4]
  assign _T_1408 = _T_1406 | _T_1407; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217894.4]
  assign _T_1409 = _T_1404 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@217895.4]
  assign _T_1410 = _T_1408 | _T_1409; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@217896.4]
  assign _T_1412 = _T_1410 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217898.4]
  assign _T_1413 = _T_1412 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217899.4]
  assign _T_1415 = _T_1404 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217905.4]
  assign _T_1418 = _T_1204 | _T_1260; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217909.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216234.10]
  assign _GEN_35 = io_in_a_valid & _T_212; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216390.10]
  assign _GEN_53 = io_in_a_valid & _T_338; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216562.10]
  assign _GEN_65 = io_in_a_valid & _T_460; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216712.10]
  assign _GEN_75 = io_in_a_valid & _T_580; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216854.10]
  assign _GEN_85 = io_in_a_valid & _T_702; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216993.10]
  assign _GEN_95 = io_in_a_valid & _T_817; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217130.10]
  assign _GEN_105 = io_in_a_valid & _T_932; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217267.10]
  assign _GEN_115 = io_in_d_valid & _T_1063; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217325.10]
  assign _GEN_125 = io_in_d_valid & _T_1083; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217367.10]
  assign _GEN_137 = io_in_d_valid & _T_1111; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217425.10]
  assign _GEN_149 = io_in_d_valid & _T_1140; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217484.10]
  assign _GEN_155 = io_in_d_valid & _T_1157; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217519.10]
  assign _GEN_161 = io_in_d_valid & _T_1175; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217555.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_1214 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1227 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1229 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1231 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1233 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1235 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1269 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1282 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1284 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1286 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1288 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1290 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1292 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1322 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1333 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1354 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1404 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1214 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1218) begin
          if (_T_1211) begin
            _T_1214 <= _T_1209;
          end else begin
            _T_1214 <= 10'h0;
          end
        end else begin
          _T_1214 <= _T_1217;
        end
      end
    end
    if (_T_1259) begin
      _T_1227 <= io_in_a_bits_opcode;
    end
    if (_T_1259) begin
      _T_1229 <= io_in_a_bits_param;
    end
    if (_T_1259) begin
      _T_1231 <= io_in_a_bits_size;
    end
    if (_T_1259) begin
      _T_1233 <= io_in_a_bits_source;
    end
    if (_T_1259) begin
      _T_1235 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1269 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1273) begin
          if (_T_1266) begin
            _T_1269 <= _T_1265;
          end else begin
            _T_1269 <= 10'h0;
          end
        end else begin
          _T_1269 <= _T_1272;
        end
      end
    end
    if (_T_1320) begin
      _T_1282 <= io_in_d_bits_opcode;
    end
    if (_T_1320) begin
      _T_1284 <= io_in_d_bits_param;
    end
    if (_T_1320) begin
      _T_1286 <= io_in_d_bits_size;
    end
    if (_T_1320) begin
      _T_1288 <= io_in_d_bits_source;
    end
    if (_T_1320) begin
      _T_1290 <= io_in_d_bits_sink;
    end
    if (_T_1320) begin
      _T_1292 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1322 <= 2'h0;
    end else begin
      _T_1322 <= _T_1402;
    end
    if (reset) begin
      _T_1333 <= 10'h0;
    end else begin
      if (_T_1204) begin
        if (_T_1337) begin
          if (_T_1211) begin
            _T_1333 <= _T_1209;
          end else begin
            _T_1333 <= 10'h0;
          end
        end else begin
          _T_1333 <= _T_1336;
        end
      end
    end
    if (reset) begin
      _T_1354 <= 10'h0;
    end else begin
      if (_T_1260) begin
        if (_T_1358) begin
          if (_T_1266) begin
            _T_1354 <= _T_1265;
          end else begin
            _T_1354 <= 10'h0;
          end
        end else begin
          _T_1354 <= _T_1357;
        end
      end
    end
    if (reset) begin
      _T_1404 <= 32'h0;
    end else begin
      if (_T_1418) begin
        _T_1404 <= 32'h0;
      end else begin
        _T_1404 <= _T_1415;
      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@216063.8]
        end
    `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@216064.8]
        end
    `ifdef STOP_COND
      end
    `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@216133.8]
        end
    `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@216134.8]
        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 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@216234.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 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216235.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 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@216241.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 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_191) 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@216248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_191) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_195) 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@216256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_195) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_198) 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@216263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_198) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_202) 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@216271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_202) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_207) 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@216280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_207) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_211) 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@216288.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_211) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216289.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 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@216390.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 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216391.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 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@216397.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 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216398.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_191) 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@216404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_191) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_195) 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@216412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_195) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_198) 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@216419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_198) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_202) 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@216427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_202) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_328) 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@216435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_328) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_207) 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@216444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_207) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_211) 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@216452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_211) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_441) 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@216562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_441) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_191) 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@216569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_191) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216570.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 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@216576.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 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216577.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_451) 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@216584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_451) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_455) 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@216592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_455) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_211) 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@216600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_211) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_565) 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@216712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_565) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_191) 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@216719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_191) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216720.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 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@216726.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 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_451) 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@216734.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_451) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_455) 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@216742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_455) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_685) 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@216854.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_685) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_191) 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@216861.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_191) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216862.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_198) 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@216868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_198) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_451) 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@216876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_451) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_701) 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@216886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_701) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_802) 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@216993.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_802) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_191) 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@217000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_191) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217001.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 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@217007.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 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_812) 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@217015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_812) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_455) 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@217023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_455) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_802) 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@217130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_802) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_191) 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@217137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_191) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217138.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 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@217144.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 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_927) 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@217152.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_927) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217153.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_455) 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@217160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_455) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_1032) 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@217267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_1032) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_191) 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@217274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_191) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217275.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 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@217281.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 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_455) 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@217289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_455) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_211) 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@217297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_211) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217298.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_1050) 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@217308.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_1050) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217309.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1066) 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@217325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1066) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1070) 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@217333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1070) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1074) 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@217341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1074) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1078) 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@217349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1078) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1082) 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@217357.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1082) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217358.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1066) 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@217367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1066) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_185) 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@217374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_185) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1070) 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@217382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1070) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1097) 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@217390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1097) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1101) 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@217398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1101) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1078) 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@217406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1078) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@217415.10]
        end
    `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@217416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1066) 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@217425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1066) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_185) 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@217432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_185) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1070) 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@217440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1070) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1097) 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@217448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1097) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1101) 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@217456.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1101) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1134) 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@217465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1134) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@217474.10]
        end
    `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@217475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1066) 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@217484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1066) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1074) 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@217492.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1074) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1078) 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@217500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1078) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@217509.10]
        end
    `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@217510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1066) 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@217519.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1066) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1074) 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@217527.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1074) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1134) 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@217536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1134) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@217545.10]
        end
    `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@217546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1066) 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@217555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1066) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1074) 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@217563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1074) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1078) 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@217571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1078) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@217580.10]
        end
    `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@217581.10]
        end
    `ifdef STOP_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@217590.6]
        end
    `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@217591.6]
        end
    `ifdef STOP_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@217598.6]
        end
    `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@217599.6]
        end
    `ifdef STOP_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@217606.6]
        end
    `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@217607.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1241) 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@217646.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1241) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217647.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1245) 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@217654.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1245) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217655.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1249) 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@217662.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1249) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217663.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1253) 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@217670.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1253) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1237 & _T_1257) 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@217678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1237 & _T_1257) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1298) 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@217728.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1298) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217729.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1302) 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@217736.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1302) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217737.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1306) 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@217744.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1306) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217745.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1310) 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@217752.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1310) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217753.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1314) 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@217760.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1314) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217761.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1294 & _T_1318) 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@217768.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1294 & _T_1318) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@217769.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1369 & _T_1377) 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@217846.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1369 & _T_1377) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217847.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1385 & _T_1392) 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@217869.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1385 & _T_1392) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217870.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1399) 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@217881.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1399) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@217882.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1413) 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@217901.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1413) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@217902.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218042.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218043.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218044.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218045.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218093.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218107.4]
  TLMonitor_58 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218052.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@218093.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@218107.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@218092.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218092.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218091.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218054.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218055.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@218088.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218094.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218095.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218096.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218104.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218103.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218102.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218101.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218100.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218099.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218098.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218097.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@218106.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218108.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218109.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218110.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218118.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218117.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218116.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218115.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218114.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218113.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218112.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218111.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@218120.4]
endmodule
module Queue_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218128.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218129.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218130.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218131.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [2:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_4;
  wire [31:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire [31:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_5;
  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218133.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218134.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218135.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218136.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@218137.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@218138.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218139.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218140.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218141.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218144.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218159.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218165.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218168.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@218133.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@218133.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@218133.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@218133.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@218133.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@218133.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@218133.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@218133.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@218137.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@218138.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218139.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218140.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218141.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218144.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218159.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218165.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218168.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218175.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218173.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218184.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218183.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218182.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218181.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218180.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218179.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218178.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218177.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@218133.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@218133.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@218133.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@218133.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@218133.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@218133.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@218133.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@218133.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_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218192.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218193.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218194.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input  [1:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input         io_enq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input         io_enq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218195.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [1:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire [1:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [2:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg  _T_35_sink [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_4;
  wire  _T_35_sink__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_sink__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_sink__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_sink__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_sink__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg  _T_35_denied [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_5;
  wire  _T_35_denied__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_denied__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_denied__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_denied__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_denied__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218197.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218198.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218199.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218200.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@218201.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@218202.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218203.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218204.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218205.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218208.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218223.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218229.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218232.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@218197.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@218197.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@218197.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@218197.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@218197.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@218197.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@218197.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@218197.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@218201.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@218202.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218203.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218204.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218205.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218208.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218223.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218229.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218232.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218239.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218237.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218248.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218247.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218246.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218245.4]
  assign io_deq_bits_sink = _T_35_sink__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218244.4]
  assign io_deq_bits_denied = _T_35_denied__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218243.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218242.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@218241.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@218197.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@218197.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@218197.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@218197.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@218197.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@218197.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@218197.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@218197.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_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218256.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218257.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218258.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218259.4]
);
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [2:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [2:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.4]
  Queue_12 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218270.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_13 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218284.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@218269.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218269.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218268.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218271.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218272.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218273.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218281.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218280.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218279.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218278.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218277.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218276.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218275.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218274.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@218283.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218285.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218286.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218287.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218295.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218294.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218293.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218292.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218291.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218290.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218289.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218288.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@218297.4]
endmodule
module SynchronizerShiftReg_w1_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218305.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218306.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218308.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218308.4]
);
  reg  sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218313.4]
  reg [31:0] _RAND_0;
  reg  sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218314.4]
  reg [31:0] _RAND_1;
  reg  sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218315.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@218319.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@218321.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218322.4]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218324.4]
  output  auto_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218324.4]
);
  wire  SynchronizerShiftReg_w1_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218335.4]
  wire  SynchronizerShiftReg_w1_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218335.4]
  wire  SynchronizerShiftReg_w1_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218335.4]
  SynchronizerShiftReg_w1_d3 SynchronizerShiftReg_w1_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218335.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@218333.4]
  assign SynchronizerShiftReg_w1_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218337.4]
  assign SynchronizerShiftReg_w1_d3_io_d = auto_in_sync_0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@218339.4]
endmodule
module IntSyncCrossingSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218349.2]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218352.4]
  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218352.4]
  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218352.4]
  output  auto_out_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218352.4]
);
  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218361.4]
  assign auto_out_1 = auto_in_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218361.4]
endmodule
module IntSyncCrossingSink_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218365.2]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218368.4]
  output  auto_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218368.4]
);
  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@218377.4]
endmodule
module HellaCacheArbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218390.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218391.4]
  output        io_requestor_0_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_requestor_0_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_requestor_0_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [6:0]  io_requestor_0_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [4:0]  io_requestor_0_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [2:0]  io_requestor_0_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_requestor_0_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_requestor_0_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [6:0]  io_requestor_0_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [31:0] io_requestor_0_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [31:0] io_requestor_0_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_requestor_0_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_0_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_1_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_requestor_1_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_requestor_1_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [4:0]  io_requestor_1_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [2:0]  io_requestor_1_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_requestor_1_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_requestor_1_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [3:0]  io_requestor_1_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_1_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_requestor_1_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [31:0] io_requestor_1_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_mem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [31:0] io_mem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [6:0]  io_mem_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [4:0]  io_mem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [2:0]  io_mem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_mem_req_bits_phys, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_mem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [31:0] io_mem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output [3:0]  io_mem_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [6:0]  io_mem_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_mem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_mem_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input  [31:0] io_mem_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  output        io_mem_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
  input         io_mem_clock_enabled // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218393.4]
);
  reg  _T_210; // @[HellaCacheArbiter.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@218398.4]
  reg [31:0] _RAND_0;
  reg  _T_212; // @[HellaCacheArbiter.scala 20:20:shc.marmotcaravel.MarmotCaravelConfig.fir@218399.4]
  reg [31:0] _RAND_1;
  wire  _T_215; // @[HellaCacheArbiter.scala 27:67:shc.marmotcaravel.MarmotCaravelConfig.fir@218406.4]
  wire [7:0] _T_218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@218424.6]
  wire [7:0] _GEN_4; // @[HellaCacheArbiter.scala 52:26:shc.marmotcaravel.MarmotCaravelConfig.fir@218419.4]
  wire  _T_219; // @[HellaCacheArbiter.scala 53:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218428.4]
  wire  _T_220; // @[HellaCacheArbiter.scala 54:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218433.4]
  wire  _T_221; // @[HellaCacheArbiter.scala 60:41:shc.marmotcaravel.MarmotCaravelConfig.fir@218437.4]
  wire  _T_222; // @[HellaCacheArbiter.scala 60:57:shc.marmotcaravel.MarmotCaravelConfig.fir@218438.4]
  wire [5:0] _T_226; // @[HellaCacheArbiter.scala 69:45:shc.marmotcaravel.MarmotCaravelConfig.fir@218450.4]
  assign _T_215 = io_requestor_0_req_valid == 1'h0; // @[HellaCacheArbiter.scala 27:67:shc.marmotcaravel.MarmotCaravelConfig.fir@218406.4]
  assign _T_218 = {io_requestor_0_req_bits_tag,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@218424.6]
  assign _GEN_4 = io_requestor_0_req_valid ? _T_218 : 8'h1; // @[HellaCacheArbiter.scala 52:26:shc.marmotcaravel.MarmotCaravelConfig.fir@218419.4]
  assign _T_219 = _T_210 == 1'h0; // @[HellaCacheArbiter.scala 53:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218428.4]
  assign _T_220 = _T_212 == 1'h0; // @[HellaCacheArbiter.scala 54:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218433.4]
  assign _T_221 = io_mem_resp_bits_tag[0]; // @[HellaCacheArbiter.scala 60:41:shc.marmotcaravel.MarmotCaravelConfig.fir@218437.4]
  assign _T_222 = _T_221 == 1'h0; // @[HellaCacheArbiter.scala 60:57:shc.marmotcaravel.MarmotCaravelConfig.fir@218438.4]
  assign _T_226 = io_mem_resp_bits_tag[6:1]; // @[HellaCacheArbiter.scala 69:45:shc.marmotcaravel.MarmotCaravelConfig.fir@218450.4]
  assign io_requestor_0_req_ready = io_mem_req_ready; // @[HellaCacheArbiter.scala 25:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218405.4]
  assign io_requestor_0_s2_nack = io_mem_s2_nack & _T_220; // @[HellaCacheArbiter.scala 65:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218446.4]
  assign io_requestor_0_resp_valid = io_mem_resp_valid & _T_222; // @[HellaCacheArbiter.scala 61:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218440.4]
  assign io_requestor_0_resp_bits_tag = {{1'd0}, _T_226}; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@218449.4 HellaCacheArbiter.scala 69:21:shc.marmotcaravel.MarmotCaravelConfig.fir@218451.4]
  assign io_requestor_0_resp_bits_data = io_mem_resp_bits_data; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@218449.4]
  assign io_requestor_0_resp_bits_replay = io_mem_resp_bits_replay; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@218449.4]
  assign io_requestor_0_resp_bits_has_data = io_mem_resp_bits_has_data; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@218449.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@218449.4]
  assign io_requestor_0_replay_next = io_mem_replay_next; // @[HellaCacheArbiter.scala 71:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218452.4]
  assign io_requestor_0_s2_xcpt_ma_ld = io_mem_s2_xcpt_ma_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218441.4]
  assign io_requestor_0_s2_xcpt_ma_st = io_mem_s2_xcpt_ma_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218441.4]
  assign io_requestor_0_s2_xcpt_pf_ld = io_mem_s2_xcpt_pf_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218441.4]
  assign io_requestor_0_s2_xcpt_pf_st = io_mem_s2_xcpt_pf_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218441.4]
  assign io_requestor_0_s2_xcpt_ae_ld = io_mem_s2_xcpt_ae_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218441.4]
  assign io_requestor_0_s2_xcpt_ae_st = io_mem_s2_xcpt_ae_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218441.4]
  assign io_requestor_0_ordered = io_mem_ordered; // @[HellaCacheArbiter.scala 63:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218442.4]
  assign io_requestor_0_perf_grant = io_mem_perf_grant; // @[HellaCacheArbiter.scala 64:28:shc.marmotcaravel.MarmotCaravelConfig.fir@218443.4]
  assign io_requestor_0_clock_enabled = io_mem_clock_enabled; // @[HellaCacheArbiter.scala 67:37:shc.marmotcaravel.MarmotCaravelConfig.fir@218448.4]
  assign io_requestor_1_req_ready = io_requestor_0_req_ready & _T_215; // @[HellaCacheArbiter.scala 27:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218408.4]
  assign io_requestor_1_s2_nack = io_mem_s2_nack & _T_212; // @[HellaCacheArbiter.scala 65:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218462.4]
  assign io_requestor_1_resp_valid = io_mem_resp_valid & _T_221; // @[HellaCacheArbiter.scala 61:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218456.4]
  assign io_requestor_1_resp_bits_data_raw = io_mem_resp_bits_data_raw; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@218465.4]
  assign io_mem_req_valid = io_requestor_0_req_valid | io_requestor_1_req_valid; // @[HellaCacheArbiter.scala 24:22:shc.marmotcaravel.MarmotCaravelConfig.fir@218404.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@218411.4 HellaCacheArbiter.scala 34:30:shc.marmotcaravel.MarmotCaravelConfig.fir@218422.6]
  assign io_mem_req_bits_tag = _GEN_4[6:0]; // @[HellaCacheArbiter.scala 36:29:shc.marmotcaravel.MarmotCaravelConfig.fir@218414.4 HellaCacheArbiter.scala 36:29:shc.marmotcaravel.MarmotCaravelConfig.fir@218425.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@218409.4 HellaCacheArbiter.scala 32:29:shc.marmotcaravel.MarmotCaravelConfig.fir@218420.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@218410.4 HellaCacheArbiter.scala 33:29:shc.marmotcaravel.MarmotCaravelConfig.fir@218421.6]
  assign io_mem_req_bits_phys = io_requestor_0_req_valid ? 1'h0 : 1'h1; // @[HellaCacheArbiter.scala 35:30:shc.marmotcaravel.MarmotCaravelConfig.fir@218412.4 HellaCacheArbiter.scala 35:30:shc.marmotcaravel.MarmotCaravelConfig.fir@218423.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@218416.4 HellaCacheArbiter.scala 40:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218430.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@218417.4 HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218431.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@218417.4 HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@218431.6]
  assign io_mem_keep_clock_enabled = io_requestor_0_keep_clock_enabled; // @[HellaCacheArbiter.scala 22:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218402.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@218510.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218511.4]
  output        io_requestor_0_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_0_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_0_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_0_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_0_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [1:0]  io_requestor_1_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output        io_requestor_1_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [29:0] io_requestor_1_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  output [31:0] io_requestor_1_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [1:0]  io_dpath_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input         io_dpath_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [29:0] io_dpath_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
  input  [31:0] io_dpath_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218513.4]
);
  assign io_requestor_0_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_0_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219473.4]
  assign io_requestor_1_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.4]
  assign io_requestor_1_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219485.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@219613.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@219614.8]
        end
    `ifdef STOP_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@219629.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@219630.8]
        end
    `ifdef STOP_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@219642.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@219643.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RVCExpander( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219714.2]
  input  [31:0] io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  output [31:0] io_out_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  output [4:0]  io_out_rd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  output [4:0]  io_out_rs1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  output [4:0]  io_out_rs2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  output        io_rvc // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
);
  wire [1:0] _T_6; // @[RVC.scala 163:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219722.4]
  wire [7:0] _T_8; // @[RVC.scala 53:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219725.4]
  wire  _T_9; // @[RVC.scala 53:29:shc.marmotcaravel.MarmotCaravelConfig.fir@219726.4]
  wire [6:0] _T_10; // @[RVC.scala 53:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219727.4]
  wire [3:0] _T_11; // @[RVC.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219728.4]
  wire [1:0] _T_12; // @[RVC.scala 34:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219729.4]
  wire  _T_13; // @[RVC.scala 34:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219730.4]
  wire  _T_14; // @[RVC.scala 34:51:shc.marmotcaravel.MarmotCaravelConfig.fir@219731.4]
  wire [2:0] _T_15; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219732.4]
  wire [5:0] _T_16; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219733.4]
  wire [6:0] _T_17; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219734.4]
  wire [9:0] _T_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219735.4]
  wire [2:0] _T_19; // @[RVC.scala 31:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219736.4]
  wire [4:0] _T_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219737.4]
  wire [11:0] _T_21; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219738.4]
  wire [14:0] _T_22; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219739.4]
  wire [17:0] _T_23; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219740.4]
  wire [29:0] _T_24; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219741.4]
  wire [1:0] _T_32; // @[RVC.scala 36:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219754.4]
  wire [2:0] _T_33; // @[RVC.scala 36:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219755.4]
  wire [4:0] _T_34; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219756.4]
  wire [7:0] _T_35; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219757.4]
  wire [2:0] _T_36; // @[RVC.scala 30:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219758.4]
  wire [4:0] _T_37; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219759.4]
  wire [11:0] _T_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219762.4]
  wire [12:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219763.4]
  wire [15:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219764.4]
  wire [27:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219765.4]
  wire [3:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219784.4]
  wire [6:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219785.4]
  wire [11:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219790.4]
  wire [11:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219791.4]
  wire [14:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219792.4]
  wire [26:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219793.4]
  wire [26:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219821.4]
  wire [1:0] _T_105; // @[RVC.scala 63:32:shc.marmotcaravel.MarmotCaravelConfig.fir@219842.4]
  wire [4:0] _T_116; // @[RVC.scala 63:66:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
  wire [7:0] _T_117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219854.4]
  wire [14:0] _T_118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219855.4]
  wire [6:0] _T_119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219856.4]
  wire [11:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219857.4]
  wire [26:0] _T_121; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219858.4]
  wire [2:0] _T_135; // @[RVC.scala 66:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219877.4]
  wire [4:0] _T_144; // @[RVC.scala 66:64:shc.marmotcaravel.MarmotCaravelConfig.fir@219886.4]
  wire [7:0] _T_145; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219887.4]
  wire [14:0] _T_146; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219888.4]
  wire [7:0] _T_147; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219889.4]
  wire [12:0] _T_148; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219890.4]
  wire [27:0] _T_149; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
  wire [14:0] _T_178; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219925.4]
  wire [26:0] _T_181; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
  wire [14:0] _T_210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219962.4]
  wire [26:0] _T_213; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219965.4]
  wire  _T_223; // @[RVC.scala 43:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219980.4]
  wire [6:0] _T_225; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@219982.4]
  wire [4:0] _T_226; // @[RVC.scala 43:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219983.4]
  wire [11:0] _T_227; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  wire [4:0] _T_228; // @[RVC.scala 33:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219985.4]
  wire [11:0] _T_230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219987.4]
  wire [16:0] _T_231; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219988.4]
  wire [19:0] _T_232; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219989.4]
  wire [31:0] _T_233; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219990.4]
  wire [9:0] _T_243; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220005.4]
  wire  _T_244; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220006.4]
  wire [1:0] _T_245; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@220007.4]
  wire  _T_247; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220009.4]
  wire  _T_248; // @[RVC.scala 44:63:shc.marmotcaravel.MarmotCaravelConfig.fir@220010.4]
  wire  _T_249; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220011.4]
  wire [2:0] _T_250; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220012.4]
  wire [3:0] _T_251; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220013.4]
  wire [1:0] _T_252; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220014.4]
  wire [5:0] _T_253; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220015.4]
  wire [1:0] _T_254; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220016.4]
  wire [10:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220017.4]
  wire [12:0] _T_256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220018.4]
  wire [14:0] _T_257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220019.4]
  wire [20:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220020.4]
  wire  _T_259; // @[RVC.scala 81:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220021.4]
  wire [9:0] _T_278; // @[RVC.scala 81:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220040.4]
  wire  _T_297; // @[RVC.scala 81:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220059.4]
  wire [7:0] _T_316; // @[RVC.scala 81:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220078.4]
  wire [12:0] _T_317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220079.4]
  wire [19:0] _T_318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220080.4]
  wire [10:0] _T_319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220081.4]
  wire [11:0] _T_320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220082.4]
  wire [31:0] _T_321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220083.4]
  wire [16:0] _T_335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220102.4]
  wire [19:0] _T_336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220103.4]
  wire [31:0] _T_337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220104.4]
  wire  _T_349; // @[RVC.scala 90:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220121.4]
  wire [6:0] _T_350; // @[RVC.scala 90:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220122.4]
  wire [14:0] _T_353; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220125.4]
  wire [19:0] _T_355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220127.4]
  wire [31:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220128.4]
  wire [19:0] _T_357; // @[RVC.scala 91:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220129.4]
  wire [24:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220131.4]
  wire [31:0] _T_360; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220132.4]
  wire  _T_369; // @[RVC.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220146.4]
  wire  _T_371; // @[RVC.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220148.4]
  wire  _T_372; // @[RVC.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220149.4]
  wire [6:0] _T_379; // @[RVC.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220156.4]
  wire [2:0] _T_382; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220159.4]
  wire [1:0] _T_383; // @[RVC.scala 42:42:shc.marmotcaravel.MarmotCaravelConfig.fir@220160.4]
  wire [1:0] _T_387; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220164.4]
  wire [5:0] _T_388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220165.4]
  wire [4:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220166.4]
  wire [5:0] _T_390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220167.4]
  wire [11:0] _T_391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220168.4]
  wire [11:0] _T_394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220171.4]
  wire [16:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220172.4]
  wire [19:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220173.4]
  wire [31:0] _T_397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220174.4]
  wire [31:0] _T_405_bits; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220187.4]
  wire [4:0] _T_405_rd; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220187.4]
  wire [4:0] _T_405_rs2; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220187.4]
  wire [5:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220190.4]
  wire [11:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220195.4]
  wire [10:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220196.4]
  wire [13:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220197.4]
  wire [25:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220198.4]
  wire [30:0] _GEN_0; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220210.4]
  wire [30:0] _T_428; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220210.4]
  wire [16:0] _T_439; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220221.4]
  wire [19:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220222.4]
  wire [31:0] _T_441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220223.4]
  wire [2:0] _T_444; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220226.4]
  wire  _T_445; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220227.4]
  wire [2:0] _T_446; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220228.4]
  wire  _T_447; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220229.4]
  wire [2:0] _T_448; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220230.4]
  wire  _T_449; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220231.4]
  wire [2:0] _T_450; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220232.4]
  wire  _T_451; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220233.4]
  wire [2:0] _T_452; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220234.4]
  wire  _T_453; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220235.4]
  wire [2:0] _T_454; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220236.4]
  wire  _T_455; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220237.4]
  wire [2:0] _T_456; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220238.4]
  wire  _T_457; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220239.4]
  wire [2:0] _T_458; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220240.4]
  wire  _T_460; // @[RVC.scala 103:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220242.4]
  wire [30:0] _T_461; // @[RVC.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220243.4]
  wire [6:0] _T_463; // @[RVC.scala 104:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220245.4]
  wire [11:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220252.4]
  wire [9:0] _T_471; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220253.4]
  wire [12:0] _T_472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220254.4]
  wire [24:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220255.4]
  wire [30:0] _GEN_1; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220256.4]
  wire [30:0] _T_474; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220256.4]
  wire [1:0] _T_475; // @[RVC.scala 107:42:shc.marmotcaravel.MarmotCaravelConfig.fir@220257.4]
  wire  _T_476; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220258.4]
  wire [30:0] _T_477; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220259.4]
  wire  _T_478; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220260.4]
  wire [31:0] _T_479; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  wire  _T_480; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  wire [31:0] _T_481; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  wire [12:0] _T_567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220354.4]
  wire [19:0] _T_568; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220355.4]
  wire [31:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220358.4]
  wire [4:0] _T_581; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220373.4]
  wire [3:0] _T_586; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220378.4]
  wire [4:0] _T_587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220379.4]
  wire [6:0] _T_588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220380.4]
  wire [7:0] _T_589; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220381.4]
  wire [12:0] _T_590; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220382.4]
  wire  _T_591; // @[RVC.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220383.4]
  wire [5:0] _T_604; // @[RVC.scala 95:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220396.4]
  wire [3:0] _T_619; // @[RVC.scala 95:72:shc.marmotcaravel.MarmotCaravelConfig.fir@220411.4]
  wire  _T_632; // @[RVC.scala 95:83:shc.marmotcaravel.MarmotCaravelConfig.fir@220424.4]
  wire [7:0] _T_633; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220425.4]
  wire [6:0] _T_634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220426.4]
  wire [14:0] _T_635; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220427.4]
  wire [9:0] _T_636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220428.4]
  wire [6:0] _T_637; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220429.4]
  wire [16:0] _T_638; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220430.4]
  wire [31:0] _T_639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220431.4]
  wire [6:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220499.4]
  wire [14:0] _T_703; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220500.4]
  wire [31:0] _T_707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220504.4]
  wire  _T_714; // @[RVC.scala 113:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220516.4]
  wire [6:0] _T_715; // @[RVC.scala 113:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220517.4]
  wire [10:0] _T_722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220524.4]
  wire [13:0] _T_723; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220525.4]
  wire [25:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220526.4]
  wire [4:0] _T_734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220541.4]
  wire [3:0] _T_735; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220542.4]
  wire [8:0] _T_736; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220543.4]
  wire [11:0] _T_738; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220545.4]
  wire [13:0] _T_739; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220546.4]
  wire [16:0] _T_740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220547.4]
  wire [28:0] _T_741; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220548.4]
  wire [1:0] _T_747; // @[RVC.scala 37:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220559.4]
  wire [2:0] _T_749; // @[RVC.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220561.4]
  wire [4:0] _T_750; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220562.4]
  wire [2:0] _T_751; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220563.4]
  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220564.4]
  wire [11:0] _T_754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220566.4]
  wire [12:0] _T_755; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220567.4]
  wire [15:0] _T_756; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220568.4]
  wire [27:0] _T_757; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220569.4]
  wire [27:0] _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220590.4]
  wire [11:0] _T_781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220603.4]
  wire [9:0] _T_782; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220604.4]
  wire [12:0] _T_783; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220605.4]
  wire [24:0] _T_784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220606.4]
  wire [9:0] _T_794; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220621.4]
  wire [12:0] _T_795; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220622.4]
  wire [24:0] _T_796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220623.4]
  wire [24:0] _T_808; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220640.4]
  wire [17:0] _T_809; // @[RVC.scala 133:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220641.4]
  wire [24:0] _T_810; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220642.4]
  wire [24:0] _T_813; // @[RVC.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220645.4]
  wire  _T_820; // @[RVC.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire [31:0] _T_789_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220610.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220612.4]
  wire [31:0] _T_818_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220649.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220651.4]
  wire [31:0] _T_821_bits; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  wire [4:0] _T_821_rd; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  wire [4:0] _T_821_rs1; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  wire [4:0] _T_821_rs2; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  wire [24:0] _T_827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220664.4]
  wire [24:0] _T_829; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220666.4]
  wire [24:0] _T_830; // @[RVC.scala 137:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220667.4]
  wire [24:0] _T_833; // @[RVC.scala 138:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220670.4]
  wire [31:0] _T_802_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220628.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220630.4]
  wire [31:0] _T_838_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220674.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220676.4]
  wire [31:0] _T_841_bits; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220683.4]
  wire [4:0] _T_841_rd; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220683.4]
  wire [4:0] _T_841_rs1; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220683.4]
  wire [31:0] _T_843_bits; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  wire [4:0] _T_843_rd; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  wire [4:0] _T_843_rs1; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  wire [4:0] _T_843_rs2; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  wire [5:0] _T_846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220688.4]
  wire [8:0] _T_847; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220689.4]
  wire [3:0] _T_848; // @[RVC.scala 124:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220690.4]
  wire [4:0] _T_854; // @[RVC.scala 124:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220696.4]
  wire [7:0] _T_855; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220697.4]
  wire [14:0] _T_856; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220698.4]
  wire [8:0] _T_857; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220699.4]
  wire [13:0] _T_858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220700.4]
  wire [28:0] _T_859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220701.4]
  wire [1:0] _T_865; // @[RVC.scala 39:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220712.4]
  wire [3:0] _T_866; // @[RVC.scala 39:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220713.4]
  wire [5:0] _T_867; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220714.4]
  wire [7:0] _T_868; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220715.4]
  wire [2:0] _T_869; // @[RVC.scala 123:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220716.4]
  wire [4:0] _T_875; // @[RVC.scala 123:66:shc.marmotcaravel.MarmotCaravelConfig.fir@220722.4]
  wire [7:0] _T_876; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220723.4]
  wire [14:0] _T_877; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220724.4]
  wire [7:0] _T_878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220725.4]
  wire [12:0] _T_879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220726.4]
  wire [27:0] _T_880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220727.4]
  wire [14:0] _T_898; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220750.4]
  wire [27:0] _T_901; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220753.4]
  wire [4:0] _T_908; // @[RVC.scala 20:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220765.4]
  wire [4:0] _T_909; // @[RVC.scala 20:79:shc.marmotcaravel.MarmotCaravelConfig.fir@220766.4]
  wire [2:0] _T_956; // @[RVC.scala 151:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220853.4]
  wire [4:0] _T_957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220854.4]
  wire  _T_958; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220855.4]
  wire [31:0] _T_52_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219773.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219775.4]
  wire [31:0] _T_31_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219747.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219749.4]
  wire [31:0] _T_959_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220856.4]
  wire [4:0] _T_959_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220856.4]
  wire [4:0] _T_959_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220856.4]
  wire  _T_960; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220857.4]
  wire [31:0] _T_75_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219801.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219803.4]
  wire [31:0] _T_961_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220858.4]
  wire [4:0] _T_961_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220858.4]
  wire [4:0] _T_961_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220858.4]
  wire  _T_962; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220859.4]
  wire [31:0] _T_98_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219829.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219831.4]
  wire [31:0] _T_963_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220860.4]
  wire [4:0] _T_963_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220860.4]
  wire [4:0] _T_963_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220860.4]
  wire  _T_964; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220861.4]
  wire [31:0] _T_130_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219866.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219868.4]
  wire [31:0] _T_965_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220862.4]
  wire [4:0] _T_965_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220862.4]
  wire [4:0] _T_965_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220862.4]
  wire  _T_966; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220863.4]
  wire [31:0] _T_158_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219899.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219901.4]
  wire [31:0] _T_967_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  wire [4:0] _T_967_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  wire [4:0] _T_967_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  wire  _T_968; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220865.4]
  wire [31:0] _T_190_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219936.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
  wire [31:0] _T_969_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  wire [4:0] _T_969_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  wire [4:0] _T_969_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  wire  _T_970; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220867.4]
  wire [31:0] _T_222_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219975.4]
  wire [31:0] _T_971_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  wire [4:0] _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  wire [4:0] _T_971_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  wire  _T_972; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220869.4]
  wire [31:0] _T_973_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  wire [4:0] _T_973_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  wire [4:0] _T_973_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  wire [4:0] _T_973_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  wire  _T_974; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220871.4]
  wire [31:0] _T_975_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  wire [4:0] _T_975_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  wire [4:0] _T_975_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  wire [4:0] _T_975_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  wire  _T_976; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220873.4]
  wire [31:0] _T_977_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  wire [4:0] _T_977_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  wire [4:0] _T_977_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  wire [4:0] _T_977_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  wire  _T_978; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220875.4]
  wire [31:0] _T_979_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  wire [4:0] _T_979_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  wire [4:0] _T_979_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  wire [4:0] _T_979_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  wire  _T_980; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220877.4]
  wire [31:0] _T_981_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  wire [4:0] _T_981_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  wire [4:0] _T_981_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  wire [4:0] _T_981_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  wire  _T_982; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220879.4]
  wire [31:0] _T_983_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  wire [4:0] _T_983_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  wire [4:0] _T_983_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  wire [4:0] _T_983_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  wire  _T_984; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220881.4]
  wire [31:0] _T_985_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  wire [4:0] _T_985_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  wire [4:0] _T_985_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  wire [4:0] _T_985_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  wire  _T_986; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220883.4]
  wire [31:0] _T_987_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  wire [4:0] _T_987_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  wire [4:0] _T_987_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  wire [4:0] _T_987_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  wire  _T_988; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220885.4]
  wire [31:0] _T_730_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220531.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220533.4]
  wire [31:0] _T_989_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  wire [4:0] _T_989_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  wire [4:0] _T_989_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  wire [4:0] _T_989_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  wire  _T_990; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220887.4]
  wire [31:0] _T_746_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220552.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220554.4]
  wire [31:0] _T_991_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  wire [4:0] _T_991_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  wire [4:0] _T_991_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  wire [4:0] _T_991_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  wire  _T_992; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220889.4]
  wire [31:0] _T_762_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220573.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220575.4]
  wire [31:0] _T_993_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  wire [4:0] _T_993_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  wire [4:0] _T_993_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  wire [4:0] _T_993_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  wire  _T_994; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220891.4]
  wire [31:0] _T_778_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220594.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220596.4]
  wire [31:0] _T_995_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  wire [4:0] _T_995_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  wire [4:0] _T_995_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  wire [4:0] _T_995_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  wire  _T_996; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220893.4]
  wire [31:0] _T_997_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  wire [4:0] _T_997_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  wire [4:0] _T_997_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  wire [4:0] _T_997_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  wire  _T_998; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220895.4]
  wire [31:0] _T_864_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220705.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220707.4]
  wire [31:0] _T_999_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  wire [4:0] _T_999_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  wire [4:0] _T_999_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  wire [4:0] _T_999_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  wire  _T_1000; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220897.4]
  wire [31:0] _T_885_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220731.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220733.4]
  wire [31:0] _T_1001_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  wire [4:0] _T_1001_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  wire [4:0] _T_1001_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  wire [4:0] _T_1001_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  wire  _T_1002; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220899.4]
  wire [31:0] _T_906_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220757.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220759.4]
  wire [31:0] _T_1003_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  wire [4:0] _T_1003_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  wire [4:0] _T_1003_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  wire [4:0] _T_1003_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  wire  _T_1004; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220901.4]
  wire [31:0] _T_1005_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  wire [4:0] _T_1005_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  wire [4:0] _T_1005_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  wire [4:0] _T_1005_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  wire  _T_1006; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220903.4]
  wire [31:0] _T_1007_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  wire [4:0] _T_1007_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  wire [4:0] _T_1007_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  wire [4:0] _T_1007_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  wire  _T_1008; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220905.4]
  wire [31:0] _T_1009_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  wire [4:0] _T_1009_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  wire [4:0] _T_1009_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  wire [4:0] _T_1009_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  wire  _T_1010; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220907.4]
  wire [31:0] _T_1011_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  wire [4:0] _T_1011_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  wire [4:0] _T_1011_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  wire [4:0] _T_1011_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  wire  _T_1012; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220909.4]
  wire [31:0] _T_1013_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  wire [4:0] _T_1013_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  wire [4:0] _T_1013_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  wire [4:0] _T_1013_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  wire  _T_1014; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220911.4]
  wire [31:0] _T_1015_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  wire [4:0] _T_1015_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  wire [4:0] _T_1015_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  wire [4:0] _T_1015_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  wire  _T_1016; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220913.4]
  wire [31:0] _T_1017_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  wire [4:0] _T_1017_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  wire [4:0] _T_1017_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  wire [4:0] _T_1017_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  wire  _T_1018; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220915.4]
  assign _T_6 = io_in[1:0]; // @[RVC.scala 163:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219722.4]
  assign _T_8 = io_in[12:5]; // @[RVC.scala 53:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219725.4]
  assign _T_9 = _T_8 != 8'h0; // @[RVC.scala 53:29:shc.marmotcaravel.MarmotCaravelConfig.fir@219726.4]
  assign _T_10 = _T_9 ? 7'h13 : 7'h1f; // @[RVC.scala 53:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219727.4]
  assign _T_11 = io_in[10:7]; // @[RVC.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219728.4]
  assign _T_12 = io_in[12:11]; // @[RVC.scala 34:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219729.4]
  assign _T_13 = io_in[5]; // @[RVC.scala 34:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219730.4]
  assign _T_14 = io_in[6]; // @[RVC.scala 34:51:shc.marmotcaravel.MarmotCaravelConfig.fir@219731.4]
  assign _T_15 = {_T_14,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219732.4]
  assign _T_16 = {_T_11,_T_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219733.4]
  assign _T_17 = {_T_16,_T_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219734.4]
  assign _T_18 = {_T_17,_T_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219735.4]
  assign _T_19 = io_in[4:2]; // @[RVC.scala 31:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219736.4]
  assign _T_20 = {2'h1,_T_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219737.4]
  assign _T_21 = {_T_20,_T_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219738.4]
  assign _T_22 = {_T_18,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219739.4]
  assign _T_23 = {_T_22,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219740.4]
  assign _T_24 = {_T_23,_T_21}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219741.4]
  assign _T_32 = io_in[6:5]; // @[RVC.scala 36:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219754.4]
  assign _T_33 = io_in[12:10]; // @[RVC.scala 36:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219755.4]
  assign _T_34 = {_T_32,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219756.4]
  assign _T_35 = {_T_34,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219757.4]
  assign _T_36 = io_in[9:7]; // @[RVC.scala 30:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219758.4]
  assign _T_37 = {2'h1,_T_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219759.4]
  assign _T_40 = {_T_20,7'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219762.4]
  assign _T_41 = {_T_35,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219763.4]
  assign _T_42 = {_T_41,3'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219764.4]
  assign _T_43 = {_T_42,_T_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219765.4]
  assign _T_57 = {_T_13,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219784.4]
  assign _T_58 = {_T_57,_T_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219785.4]
  assign _T_63 = {_T_20,7'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219790.4]
  assign _T_64 = {_T_58,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219791.4]
  assign _T_65 = {_T_64,3'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219792.4]
  assign _T_66 = {_T_65,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219793.4]
  assign _T_89 = {_T_65,_T_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219821.4]
  assign _T_105 = _T_58[6:5]; // @[RVC.scala 63:32:shc.marmotcaravel.MarmotCaravelConfig.fir@219842.4]
  assign _T_116 = _T_58[4:0]; // @[RVC.scala 63:66:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
  assign _T_117 = {3'h2,_T_116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219854.4]
  assign _T_118 = {_T_117,7'h3f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219855.4]
  assign _T_119 = {_T_105,_T_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219856.4]
  assign _T_120 = {_T_119,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219857.4]
  assign _T_121 = {_T_120,_T_118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219858.4]
  assign _T_135 = _T_35[7:5]; // @[RVC.scala 66:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219877.4]
  assign _T_144 = _T_35[4:0]; // @[RVC.scala 66:64:shc.marmotcaravel.MarmotCaravelConfig.fir@219886.4]
  assign _T_145 = {3'h3,_T_144}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219887.4]
  assign _T_146 = {_T_145,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219888.4]
  assign _T_147 = {_T_135,_T_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219889.4]
  assign _T_148 = {_T_147,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219890.4]
  assign _T_149 = {_T_148,_T_146}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
  assign _T_178 = {_T_117,7'h23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219925.4]
  assign _T_181 = {_T_120,_T_178}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
  assign _T_210 = {_T_117,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219962.4]
  assign _T_213 = {_T_120,_T_210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219965.4]
  assign _T_223 = io_in[12]; // @[RVC.scala 43:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219980.4]
  assign _T_225 = _T_223 ? 7'h7f : 7'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@219982.4]
  assign _T_226 = io_in[6:2]; // @[RVC.scala 43:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219983.4]
  assign _T_227 = {_T_225,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  assign _T_228 = io_in[11:7]; // @[RVC.scala 33:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219985.4]
  assign _T_230 = {_T_228,7'h13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219987.4]
  assign _T_231 = {_T_227,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219988.4]
  assign _T_232 = {_T_231,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219989.4]
  assign _T_233 = {_T_232,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219990.4]
  assign _T_243 = _T_223 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220005.4]
  assign _T_244 = io_in[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220006.4]
  assign _T_245 = io_in[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@220007.4]
  assign _T_247 = io_in[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220009.4]
  assign _T_248 = io_in[2]; // @[RVC.scala 44:63:shc.marmotcaravel.MarmotCaravelConfig.fir@220010.4]
  assign _T_249 = io_in[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220011.4]
  assign _T_250 = io_in[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220012.4]
  assign _T_251 = {_T_250,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220013.4]
  assign _T_252 = {_T_248,_T_249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220014.4]
  assign _T_253 = {_T_252,_T_251}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220015.4]
  assign _T_254 = {_T_14,_T_247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220016.4]
  assign _T_255 = {_T_243,_T_244}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220017.4]
  assign _T_256 = {_T_255,_T_245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220018.4]
  assign _T_257 = {_T_256,_T_254}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220019.4]
  assign _T_258 = {_T_257,_T_253}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220020.4]
  assign _T_259 = _T_258[20]; // @[RVC.scala 81:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220021.4]
  assign _T_278 = _T_258[10:1]; // @[RVC.scala 81:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220040.4]
  assign _T_297 = _T_258[11]; // @[RVC.scala 81:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220059.4]
  assign _T_316 = _T_258[19:12]; // @[RVC.scala 81:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220078.4]
  assign _T_317 = {_T_316,5'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220079.4]
  assign _T_318 = {_T_317,7'h6f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220080.4]
  assign _T_319 = {_T_259,_T_278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220081.4]
  assign _T_320 = {_T_319,_T_297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220082.4]
  assign _T_321 = {_T_320,_T_318}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220083.4]
  assign _T_335 = {_T_227,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220102.4]
  assign _T_336 = {_T_335,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220103.4]
  assign _T_337 = {_T_336,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220104.4]
  assign _T_349 = _T_227 != 12'h0; // @[RVC.scala 90:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220121.4]
  assign _T_350 = _T_349 ? 7'h37 : 7'h3f; // @[RVC.scala 90:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220122.4]
  assign _T_353 = _T_223 ? 15'h7fff : 15'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220125.4]
  assign _T_355 = {_T_353,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220127.4]
  assign _T_356 = {_T_355,12'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220128.4]
  assign _T_357 = _T_356[31:12]; // @[RVC.scala 91:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220129.4]
  assign _T_359 = {_T_357,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220131.4]
  assign _T_360 = {_T_359,_T_350}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220132.4]
  assign _T_369 = _T_228 == 5'h0; // @[RVC.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220146.4]
  assign _T_371 = _T_228 == 5'h2; // @[RVC.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220148.4]
  assign _T_372 = _T_369 | _T_371; // @[RVC.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220149.4]
  assign _T_379 = _T_349 ? 7'h13 : 7'h1f; // @[RVC.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220156.4]
  assign _T_382 = _T_223 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220159.4]
  assign _T_383 = io_in[4:3]; // @[RVC.scala 42:42:shc.marmotcaravel.MarmotCaravelConfig.fir@220160.4]
  assign _T_387 = {_T_248,_T_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220164.4]
  assign _T_388 = {_T_387,4'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220165.4]
  assign _T_389 = {_T_382,_T_383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220166.4]
  assign _T_390 = {_T_389,_T_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220167.4]
  assign _T_391 = {_T_390,_T_388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220168.4]
  assign _T_394 = {_T_228,_T_379}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220171.4]
  assign _T_395 = {_T_391,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220172.4]
  assign _T_396 = {_T_395,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220173.4]
  assign _T_397 = {_T_396,_T_394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220174.4]
  assign _T_405_bits = _T_372 ? _T_397 : _T_360; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220187.4]
  assign _T_405_rd = _T_372 ? _T_228 : _T_228; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220187.4]
  assign _T_405_rs2 = _T_372 ? _T_20 : _T_20; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220187.4]
  assign _T_408 = {_T_223,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220190.4]
  assign _T_413 = {_T_37,7'h13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220195.4]
  assign _T_414 = {_T_408,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220196.4]
  assign _T_415 = {_T_414,3'h5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220197.4]
  assign _T_416 = {_T_415,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220198.4]
  assign _GEN_0 = {{5'd0}, _T_416}; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220210.4]
  assign _T_428 = _GEN_0 | 31'h40000000; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220210.4]
  assign _T_439 = {_T_227,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220221.4]
  assign _T_440 = {_T_439,3'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220222.4]
  assign _T_441 = {_T_440,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220223.4]
  assign _T_444 = {_T_223,_T_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220226.4]
  assign _T_445 = _T_444 == 3'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220227.4]
  assign _T_446 = _T_445 ? 3'h4 : 3'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220228.4]
  assign _T_447 = _T_444 == 3'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220229.4]
  assign _T_448 = _T_447 ? 3'h6 : _T_446; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220230.4]
  assign _T_449 = _T_444 == 3'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220231.4]
  assign _T_450 = _T_449 ? 3'h7 : _T_448; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220232.4]
  assign _T_451 = _T_444 == 3'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220233.4]
  assign _T_452 = _T_451 ? 3'h0 : _T_450; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220234.4]
  assign _T_453 = _T_444 == 3'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220235.4]
  assign _T_454 = _T_453 ? 3'h0 : _T_452; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220236.4]
  assign _T_455 = _T_444 == 3'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220237.4]
  assign _T_456 = _T_455 ? 3'h2 : _T_454; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220238.4]
  assign _T_457 = _T_444 == 3'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220239.4]
  assign _T_458 = _T_457 ? 3'h3 : _T_456; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220240.4]
  assign _T_460 = _T_32 == 2'h0; // @[RVC.scala 103:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220242.4]
  assign _T_461 = _T_460 ? 31'h40000000 : 31'h0; // @[RVC.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220243.4]
  assign _T_463 = _T_223 ? 7'h3b : 7'h33; // @[RVC.scala 104:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220245.4]
  assign _T_470 = {_T_37,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220252.4]
  assign _T_471 = {_T_20,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220253.4]
  assign _T_472 = {_T_471,_T_458}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220254.4]
  assign _T_473 = {_T_472,_T_470}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220255.4]
  assign _GEN_1 = {{6'd0}, _T_473}; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220256.4]
  assign _T_474 = _GEN_1 | _T_461; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220256.4]
  assign _T_475 = io_in[11:10]; // @[RVC.scala 107:42:shc.marmotcaravel.MarmotCaravelConfig.fir@220257.4]
  assign _T_476 = _T_475 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220258.4]
  assign _T_477 = _T_476 ? _T_428 : {{5'd0}, _T_416}; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220259.4]
  assign _T_478 = _T_475 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220260.4]
  assign _T_479 = _T_478 ? _T_441 : {{1'd0}, _T_477}; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  assign _T_480 = _T_475 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  assign _T_481 = _T_480 ? {{1'd0}, _T_474} : _T_479; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  assign _T_567 = {_T_316,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220354.4]
  assign _T_568 = {_T_567,7'h6f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220355.4]
  assign _T_571 = {_T_320,_T_568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220358.4]
  assign _T_581 = _T_223 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220373.4]
  assign _T_586 = {_T_475,_T_383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220378.4]
  assign _T_587 = {_T_586,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220379.4]
  assign _T_588 = {_T_581,_T_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220380.4]
  assign _T_589 = {_T_588,_T_248}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220381.4]
  assign _T_590 = {_T_589,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220382.4]
  assign _T_591 = _T_590[12]; // @[RVC.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220383.4]
  assign _T_604 = _T_590[10:5]; // @[RVC.scala 95:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220396.4]
  assign _T_619 = _T_590[4:1]; // @[RVC.scala 95:72:shc.marmotcaravel.MarmotCaravelConfig.fir@220411.4]
  assign _T_632 = _T_590[11]; // @[RVC.scala 95:83:shc.marmotcaravel.MarmotCaravelConfig.fir@220424.4]
  assign _T_633 = {_T_632,7'h63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220425.4]
  assign _T_634 = {3'h0,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220426.4]
  assign _T_635 = {_T_634,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220427.4]
  assign _T_636 = {5'h0,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220428.4]
  assign _T_637 = {_T_591,_T_604}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220429.4]
  assign _T_638 = {_T_637,_T_636}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220430.4]
  assign _T_639 = {_T_638,_T_635}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220431.4]
  assign _T_702 = {3'h1,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220499.4]
  assign _T_703 = {_T_702,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220500.4]
  assign _T_707 = {_T_638,_T_703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220504.4]
  assign _T_714 = _T_228 != 5'h0; // @[RVC.scala 113:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220516.4]
  assign _T_715 = _T_714 ? 7'h3 : 7'h1f; // @[RVC.scala 113:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220517.4]
  assign _T_722 = {_T_408,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220524.4]
  assign _T_723 = {_T_722,3'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220525.4]
  assign _T_724 = {_T_723,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220526.4]
  assign _T_734 = {_T_32,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220541.4]
  assign _T_735 = {_T_19,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220542.4]
  assign _T_736 = {_T_735,_T_734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220543.4]
  assign _T_738 = {_T_228,7'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220545.4]
  assign _T_739 = {_T_736,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220546.4]
  assign _T_740 = {_T_739,3'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220547.4]
  assign _T_741 = {_T_740,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220548.4]
  assign _T_747 = io_in[3:2]; // @[RVC.scala 37:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220559.4]
  assign _T_749 = io_in[6:4]; // @[RVC.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220561.4]
  assign _T_750 = {_T_749,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220562.4]
  assign _T_751 = {_T_747,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220563.4]
  assign _T_752 = {_T_751,_T_750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220564.4]
  assign _T_754 = {_T_228,_T_715}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220566.4]
  assign _T_755 = {_T_752,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220567.4]
  assign _T_756 = {_T_755,3'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220568.4]
  assign _T_757 = {_T_756,_T_754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220569.4]
  assign _T_773 = {_T_756,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220590.4]
  assign _T_781 = {_T_228,7'h33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220603.4]
  assign _T_782 = {_T_226,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220604.4]
  assign _T_783 = {_T_782,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220605.4]
  assign _T_784 = {_T_783,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220606.4]
  assign _T_794 = {_T_226,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220621.4]
  assign _T_795 = {_T_794,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220622.4]
  assign _T_796 = {_T_795,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220623.4]
  assign _T_808 = {_T_795,12'h67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220640.4]
  assign _T_809 = _T_808[24:7]; // @[RVC.scala 133:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220641.4]
  assign _T_810 = {_T_809,7'h1f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220642.4]
  assign _T_813 = _T_714 ? _T_808 : _T_810; // @[RVC.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220645.4]
  assign _T_820 = _T_226 != 5'h0; // @[RVC.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  assign _T_789_bits = {{7'd0}, _T_784}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220610.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220612.4]
  assign _T_818_bits = {{7'd0}, _T_813}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220649.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220651.4]
  assign _T_821_bits = _T_820 ? _T_789_bits : _T_818_bits; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  assign _T_821_rd = _T_820 ? _T_228 : 5'h0; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  assign _T_821_rs1 = _T_820 ? 5'h0 : _T_228; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  assign _T_821_rs2 = _T_820 ? _T_226 : _T_226; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220658.4]
  assign _T_827 = {_T_795,12'he7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220664.4]
  assign _T_829 = {_T_809,7'h73}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220666.4]
  assign _T_830 = _T_829 | 25'h100000; // @[RVC.scala 137:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220667.4]
  assign _T_833 = _T_714 ? _T_827 : _T_830; // @[RVC.scala 138:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220670.4]
  assign _T_802_bits = {{7'd0}, _T_796}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220628.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220630.4]
  assign _T_838_bits = {{7'd0}, _T_833}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220674.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220676.4]
  assign _T_841_bits = _T_820 ? _T_802_bits : _T_838_bits; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220683.4]
  assign _T_841_rd = _T_820 ? _T_228 : 5'h1; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220683.4]
  assign _T_841_rs1 = _T_820 ? _T_228 : _T_228; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220683.4]
  assign _T_843_bits = _T_223 ? _T_841_bits : _T_821_bits; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  assign _T_843_rd = _T_223 ? _T_841_rd : _T_821_rd; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  assign _T_843_rs1 = _T_223 ? _T_841_rs1 : _T_821_rs1; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  assign _T_843_rs2 = _T_223 ? _T_821_rs2 : _T_821_rs2; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220685.4]
  assign _T_846 = {_T_36,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220688.4]
  assign _T_847 = {_T_846,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220689.4]
  assign _T_848 = _T_847[8:5]; // @[RVC.scala 124:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220690.4]
  assign _T_854 = _T_847[4:0]; // @[RVC.scala 124:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220696.4]
  assign _T_855 = {3'h3,_T_854}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220697.4]
  assign _T_856 = {_T_855,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220698.4]
  assign _T_857 = {_T_848,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220699.4]
  assign _T_858 = {_T_857,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220700.4]
  assign _T_859 = {_T_858,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220701.4]
  assign _T_865 = io_in[8:7]; // @[RVC.scala 39:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220712.4]
  assign _T_866 = io_in[12:9]; // @[RVC.scala 39:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220713.4]
  assign _T_867 = {_T_865,_T_866}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220714.4]
  assign _T_868 = {_T_867,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220715.4]
  assign _T_869 = _T_868[7:5]; // @[RVC.scala 123:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220716.4]
  assign _T_875 = _T_868[4:0]; // @[RVC.scala 123:66:shc.marmotcaravel.MarmotCaravelConfig.fir@220722.4]
  assign _T_876 = {3'h2,_T_875}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220723.4]
  assign _T_877 = {_T_876,7'h23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220724.4]
  assign _T_878 = {_T_869,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220725.4]
  assign _T_879 = {_T_878,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220726.4]
  assign _T_880 = {_T_879,_T_877}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220727.4]
  assign _T_898 = {_T_876,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220750.4]
  assign _T_901 = {_T_879,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220753.4]
  assign _T_908 = io_in[19:15]; // @[RVC.scala 20:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220765.4]
  assign _T_909 = io_in[24:20]; // @[RVC.scala 20:79:shc.marmotcaravel.MarmotCaravelConfig.fir@220766.4]
  assign _T_956 = io_in[15:13]; // @[RVC.scala 151:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220853.4]
  assign _T_957 = {_T_6,_T_956}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220854.4]
  assign _T_958 = _T_957 == 5'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220855.4]
  assign _T_52_bits = {{4'd0}, _T_43}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219773.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219775.4]
  assign _T_31_bits = {{2'd0}, _T_24}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219747.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219749.4]
  assign _T_959_bits = _T_958 ? _T_52_bits : _T_31_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220856.4]
  assign _T_959_rd = _T_958 ? _T_20 : _T_20; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220856.4]
  assign _T_959_rs1 = _T_958 ? _T_37 : 5'h2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220856.4]
  assign _T_960 = _T_957 == 5'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220857.4]
  assign _T_75_bits = {{5'd0}, _T_66}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219801.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219803.4]
  assign _T_961_bits = _T_960 ? _T_75_bits : _T_959_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220858.4]
  assign _T_961_rd = _T_960 ? _T_20 : _T_959_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220858.4]
  assign _T_961_rs1 = _T_960 ? _T_37 : _T_959_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220858.4]
  assign _T_962 = _T_957 == 5'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220859.4]
  assign _T_98_bits = {{5'd0}, _T_89}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219829.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219831.4]
  assign _T_963_bits = _T_962 ? _T_98_bits : _T_961_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220860.4]
  assign _T_963_rd = _T_962 ? _T_20 : _T_961_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220860.4]
  assign _T_963_rs1 = _T_962 ? _T_37 : _T_961_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220860.4]
  assign _T_964 = _T_957 == 5'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220861.4]
  assign _T_130_bits = {{5'd0}, _T_121}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219866.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219868.4]
  assign _T_965_bits = _T_964 ? _T_130_bits : _T_963_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220862.4]
  assign _T_965_rd = _T_964 ? _T_20 : _T_963_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220862.4]
  assign _T_965_rs1 = _T_964 ? _T_37 : _T_963_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220862.4]
  assign _T_966 = _T_957 == 5'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220863.4]
  assign _T_158_bits = {{4'd0}, _T_149}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219899.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219901.4]
  assign _T_967_bits = _T_966 ? _T_158_bits : _T_965_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  assign _T_967_rd = _T_966 ? _T_20 : _T_965_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  assign _T_967_rs1 = _T_966 ? _T_37 : _T_965_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  assign _T_968 = _T_957 == 5'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220865.4]
  assign _T_190_bits = {{5'd0}, _T_181}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219936.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
  assign _T_969_bits = _T_968 ? _T_190_bits : _T_967_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  assign _T_969_rd = _T_968 ? _T_20 : _T_967_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  assign _T_969_rs1 = _T_968 ? _T_37 : _T_967_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  assign _T_970 = _T_957 == 5'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220867.4]
  assign _T_222_bits = {{5'd0}, _T_213}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219975.4]
  assign _T_971_bits = _T_970 ? _T_222_bits : _T_969_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  assign _T_971_rd = _T_970 ? _T_20 : _T_969_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  assign _T_971_rs1 = _T_970 ? _T_37 : _T_969_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  assign _T_972 = _T_957 == 5'h8; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220869.4]
  assign _T_973_bits = _T_972 ? _T_233 : _T_971_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  assign _T_973_rd = _T_972 ? _T_228 : _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  assign _T_973_rs1 = _T_972 ? _T_228 : _T_971_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  assign _T_973_rs2 = _T_972 ? _T_20 : _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  assign _T_974 = _T_957 == 5'h9; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220871.4]
  assign _T_975_bits = _T_974 ? _T_321 : _T_973_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  assign _T_975_rd = _T_974 ? 5'h1 : _T_973_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  assign _T_975_rs1 = _T_974 ? _T_228 : _T_973_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  assign _T_975_rs2 = _T_974 ? _T_20 : _T_973_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  assign _T_976 = _T_957 == 5'ha; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220873.4]
  assign _T_977_bits = _T_976 ? _T_337 : _T_975_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  assign _T_977_rd = _T_976 ? _T_228 : _T_975_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  assign _T_977_rs1 = _T_976 ? 5'h0 : _T_975_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  assign _T_977_rs2 = _T_976 ? _T_20 : _T_975_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  assign _T_978 = _T_957 == 5'hb; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220875.4]
  assign _T_979_bits = _T_978 ? _T_405_bits : _T_977_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  assign _T_979_rd = _T_978 ? _T_405_rd : _T_977_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  assign _T_979_rs1 = _T_978 ? _T_405_rd : _T_977_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  assign _T_979_rs2 = _T_978 ? _T_405_rs2 : _T_977_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  assign _T_980 = _T_957 == 5'hc; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220877.4]
  assign _T_981_bits = _T_980 ? _T_481 : _T_979_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  assign _T_981_rd = _T_980 ? _T_37 : _T_979_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  assign _T_981_rs1 = _T_980 ? _T_37 : _T_979_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  assign _T_981_rs2 = _T_980 ? _T_20 : _T_979_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220878.4]
  assign _T_982 = _T_957 == 5'hd; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220879.4]
  assign _T_983_bits = _T_982 ? _T_571 : _T_981_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  assign _T_983_rd = _T_982 ? 5'h0 : _T_981_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  assign _T_983_rs1 = _T_982 ? _T_37 : _T_981_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  assign _T_983_rs2 = _T_982 ? _T_20 : _T_981_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  assign _T_984 = _T_957 == 5'he; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220881.4]
  assign _T_985_bits = _T_984 ? _T_639 : _T_983_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  assign _T_985_rd = _T_984 ? _T_37 : _T_983_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  assign _T_985_rs1 = _T_984 ? _T_37 : _T_983_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  assign _T_985_rs2 = _T_984 ? 5'h0 : _T_983_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  assign _T_986 = _T_957 == 5'hf; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220883.4]
  assign _T_987_bits = _T_986 ? _T_707 : _T_985_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  assign _T_987_rd = _T_986 ? 5'h0 : _T_985_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  assign _T_987_rs1 = _T_986 ? _T_37 : _T_985_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  assign _T_987_rs2 = _T_986 ? 5'h0 : _T_985_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  assign _T_988 = _T_957 == 5'h10; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220885.4]
  assign _T_730_bits = {{6'd0}, _T_724}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220531.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220533.4]
  assign _T_989_bits = _T_988 ? _T_730_bits : _T_987_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  assign _T_989_rd = _T_988 ? _T_228 : _T_987_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  assign _T_989_rs1 = _T_988 ? _T_228 : _T_987_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  assign _T_989_rs2 = _T_988 ? _T_226 : _T_987_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220886.4]
  assign _T_990 = _T_957 == 5'h11; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220887.4]
  assign _T_746_bits = {{3'd0}, _T_741}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220552.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220554.4]
  assign _T_991_bits = _T_990 ? _T_746_bits : _T_989_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  assign _T_991_rd = _T_990 ? _T_228 : _T_989_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  assign _T_991_rs1 = _T_990 ? 5'h2 : _T_989_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  assign _T_991_rs2 = _T_990 ? _T_226 : _T_989_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  assign _T_992 = _T_957 == 5'h12; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220889.4]
  assign _T_762_bits = {{4'd0}, _T_757}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220573.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220575.4]
  assign _T_993_bits = _T_992 ? _T_762_bits : _T_991_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  assign _T_993_rd = _T_992 ? _T_228 : _T_991_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  assign _T_993_rs1 = _T_992 ? 5'h2 : _T_991_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  assign _T_993_rs2 = _T_992 ? _T_226 : _T_991_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  assign _T_994 = _T_957 == 5'h13; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220891.4]
  assign _T_778_bits = {{4'd0}, _T_773}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220594.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220596.4]
  assign _T_995_bits = _T_994 ? _T_778_bits : _T_993_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  assign _T_995_rd = _T_994 ? _T_228 : _T_993_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  assign _T_995_rs1 = _T_994 ? 5'h2 : _T_993_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  assign _T_995_rs2 = _T_994 ? _T_226 : _T_993_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  assign _T_996 = _T_957 == 5'h14; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220893.4]
  assign _T_997_bits = _T_996 ? _T_843_bits : _T_995_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  assign _T_997_rd = _T_996 ? _T_843_rd : _T_995_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  assign _T_997_rs1 = _T_996 ? _T_843_rs1 : _T_995_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  assign _T_997_rs2 = _T_996 ? _T_843_rs2 : _T_995_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  assign _T_998 = _T_957 == 5'h15; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220895.4]
  assign _T_864_bits = {{3'd0}, _T_859}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220705.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220707.4]
  assign _T_999_bits = _T_998 ? _T_864_bits : _T_997_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  assign _T_999_rd = _T_998 ? _T_228 : _T_997_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  assign _T_999_rs1 = _T_998 ? 5'h2 : _T_997_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  assign _T_999_rs2 = _T_998 ? _T_226 : _T_997_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  assign _T_1000 = _T_957 == 5'h16; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220897.4]
  assign _T_885_bits = {{4'd0}, _T_880}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220731.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220733.4]
  assign _T_1001_bits = _T_1000 ? _T_885_bits : _T_999_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  assign _T_1001_rd = _T_1000 ? _T_228 : _T_999_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  assign _T_1001_rs1 = _T_1000 ? 5'h2 : _T_999_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  assign _T_1001_rs2 = _T_1000 ? _T_226 : _T_999_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  assign _T_1002 = _T_957 == 5'h17; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220899.4]
  assign _T_906_bits = {{4'd0}, _T_901}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220757.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220759.4]
  assign _T_1003_bits = _T_1002 ? _T_906_bits : _T_1001_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  assign _T_1003_rd = _T_1002 ? _T_228 : _T_1001_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  assign _T_1003_rs1 = _T_1002 ? 5'h2 : _T_1001_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  assign _T_1003_rs2 = _T_1002 ? _T_226 : _T_1001_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  assign _T_1004 = _T_957 == 5'h18; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220901.4]
  assign _T_1005_bits = _T_1004 ? io_in : _T_1003_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  assign _T_1005_rd = _T_1004 ? _T_228 : _T_1003_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  assign _T_1005_rs1 = _T_1004 ? _T_908 : _T_1003_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  assign _T_1005_rs2 = _T_1004 ? _T_909 : _T_1003_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  assign _T_1006 = _T_957 == 5'h19; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220903.4]
  assign _T_1007_bits = _T_1006 ? io_in : _T_1005_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  assign _T_1007_rd = _T_1006 ? _T_228 : _T_1005_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  assign _T_1007_rs1 = _T_1006 ? _T_908 : _T_1005_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  assign _T_1007_rs2 = _T_1006 ? _T_909 : _T_1005_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  assign _T_1008 = _T_957 == 5'h1a; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220905.4]
  assign _T_1009_bits = _T_1008 ? io_in : _T_1007_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  assign _T_1009_rd = _T_1008 ? _T_228 : _T_1007_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  assign _T_1009_rs1 = _T_1008 ? _T_908 : _T_1007_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  assign _T_1009_rs2 = _T_1008 ? _T_909 : _T_1007_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  assign _T_1010 = _T_957 == 5'h1b; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220907.4]
  assign _T_1011_bits = _T_1010 ? io_in : _T_1009_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  assign _T_1011_rd = _T_1010 ? _T_228 : _T_1009_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  assign _T_1011_rs1 = _T_1010 ? _T_908 : _T_1009_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  assign _T_1011_rs2 = _T_1010 ? _T_909 : _T_1009_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  assign _T_1012 = _T_957 == 5'h1c; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220909.4]
  assign _T_1013_bits = _T_1012 ? io_in : _T_1011_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  assign _T_1013_rd = _T_1012 ? _T_228 : _T_1011_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  assign _T_1013_rs1 = _T_1012 ? _T_908 : _T_1011_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  assign _T_1013_rs2 = _T_1012 ? _T_909 : _T_1011_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  assign _T_1014 = _T_957 == 5'h1d; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220911.4]
  assign _T_1015_bits = _T_1014 ? io_in : _T_1013_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  assign _T_1015_rd = _T_1014 ? _T_228 : _T_1013_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  assign _T_1015_rs1 = _T_1014 ? _T_908 : _T_1013_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  assign _T_1015_rs2 = _T_1014 ? _T_909 : _T_1013_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  assign _T_1016 = _T_957 == 5'h1e; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220913.4]
  assign _T_1017_bits = _T_1016 ? io_in : _T_1015_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  assign _T_1017_rd = _T_1016 ? _T_228 : _T_1015_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  assign _T_1017_rs1 = _T_1016 ? _T_908 : _T_1015_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  assign _T_1017_rs2 = _T_1016 ? _T_909 : _T_1015_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  assign _T_1018 = _T_957 == 5'h1f; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220915.4]
  assign io_out_bits = _T_1018 ? io_in : _T_1017_bits; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
  assign io_out_rd = _T_1018 ? _T_228 : _T_1017_rd; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
  assign io_out_rs1 = _T_1018 ? _T_908 : _T_1017_rs1; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
  assign io_out_rs2 = _T_1018 ? _T_909 : _T_1017_rs2; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
  assign io_rvc = _T_6 != 2'h3; // @[RVC.scala 163:12:shc.marmotcaravel.MarmotCaravelConfig.fir@219724.4]
endmodule
module IBuf( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220919.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220920.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220921.4]
  output        io_imem_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_imem_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_imem_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_imem_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input  [4:0]  io_imem_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input  [7:0]  io_imem_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input  [31:0] io_imem_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input  [31:0] io_imem_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_imem_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_imem_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [4:0]  io_btb_resp_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [7:0]  io_btb_resp_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  input         io_inst_0_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_bits_xcpt0_pf_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_bits_xcpt0_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_bits_xcpt1_pf_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_bits_xcpt1_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output        io_inst_0_bits_rvc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [31:0] io_inst_0_bits_inst_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [4:0]  io_inst_0_bits_inst_rd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [4:0]  io_inst_0_bits_inst_rs1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [4:0]  io_inst_0_bits_inst_rs2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
  output [31:0] io_inst_0_bits_raw // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220922.4]
);
  wire [31:0] RVCExpander_io_in; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.4]
  wire [31:0] RVCExpander_io_out_bits; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.4]
  wire [4:0] RVCExpander_io_out_rd; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.4]
  wire [4:0] RVCExpander_io_out_rs1; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.4]
  wire [4:0] RVCExpander_io_out_rs2; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.4]
  wire  RVCExpander_io_rvc; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.4]
  reg  nBufValid; // @[IBuf.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220927.4]
  reg [31:0] _RAND_0;
  reg [31:0] buf__pc; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  reg [31:0] _RAND_1;
  reg [31:0] buf__data; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  reg [31:0] _RAND_2;
  reg  buf__xcpt_pf_inst; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  reg [31:0] _RAND_3;
  reg  buf__xcpt_ae_inst; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  reg [31:0] _RAND_4;
  reg  buf__replay; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  reg [31:0] _RAND_5;
  reg [4:0] ibufBTBResp_entry; // @[IBuf.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220929.4]
  reg [31:0] _RAND_6;
  reg [7:0] ibufBTBResp_bht_history; // @[IBuf.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220929.4]
  reg [31:0] _RAND_7;
  wire  pcWordBits; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220930.4]
  wire [1:0] _T_25; // @[IBuf.scala 41:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220934.4]
  wire [1:0] _T_26; // @[IBuf.scala 41:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220935.4]
  wire [1:0] _GEN_56; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
  wire [2:0] _T_27; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
  wire [2:0] _T_28; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220937.4]
  wire [1:0] nIC; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220938.4]
  wire [1:0] _T_31; // @[IBuf.scala 43:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220942.4]
  wire [1:0] _GEN_57; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220943.4]
  wire [1:0] nValid; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220944.4]
  wire [3:0] _T_94; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221024.4]
  wire [4:0] _T_95; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221025.4]
  wire [4:0] _T_96; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221026.4]
  wire [3:0] _T_97; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221027.4]
  wire [1:0] valid; // @[IBuf.scala 74:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221028.4]
  wire [1:0] _T_127; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221076.4]
  wire  _T_128; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221077.4]
  wire  _T_129; // @[IBuf.scala 93:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221078.4]
  wire [1:0] _T_98; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221029.4]
  wire [2:0] _T_99; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221030.4]
  wire [2:0] _T_100; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221031.4]
  wire [1:0] bufMask; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221032.4]
  wire [1:0] buf_replay; // @[IBuf.scala 77:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221037.4]
  wire [1:0] _T_130; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221079.4]
  wire  _T_131; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221080.4]
  wire  _T_132; // @[IBuf.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221081.4]
  wire [1:0] _T_165; // @[IBuf.scala 102:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221125.6]
  wire [1:0] nReady; // @[IBuf.scala 102:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221120.4]
  wire [2:0] _T_29; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220939.4]
  wire [2:0] _T_30; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220940.4]
  wire [1:0] nICReady; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220941.4]
  wire  _T_33; // @[IBuf.scala 44:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220945.4]
  wire  _T_34; // @[IBuf.scala 44:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220946.4]
  wire  _T_35; // @[IBuf.scala 44:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220947.4]
  wire [2:0] _T_36; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220948.4]
  wire [2:0] _T_37; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220949.4]
  wire [1:0] _T_38; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220950.4]
  wire  _T_39; // @[IBuf.scala 44:85:shc.marmotcaravel.MarmotCaravelConfig.fir@220951.4]
  wire  _T_40; // @[IBuf.scala 44:80:shc.marmotcaravel.MarmotCaravelConfig.fir@220952.4]
  wire [2:0] _T_43; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220957.6]
  wire [2:0] _T_44; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220958.6]
  wire [1:0] _T_45; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220959.6]
  wire [1:0] _T_46; // @[IBuf.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220960.6]
  wire  _T_48; // @[IBuf.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220963.6]
  wire  _T_49; // @[IBuf.scala 54:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220964.6]
  wire  _T_50; // @[IBuf.scala 54:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220965.6]
  wire  _T_55; // @[IBuf.scala 54:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220970.6]
  wire [1:0] _T_57; // @[IBuf.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220973.8]
  wire [15:0] _T_61; // @[IBuf.scala 127:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220979.8]
  wire [31:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220980.8]
  wire [63:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220981.8]
  wire [5:0] _GEN_64; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.8]
  wire [5:0] _T_64; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.8]
  wire [63:0] _T_65; // @[IBuf.scala 128:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.8]
  wire [15:0] _T_66; // @[IBuf.scala 58:61:shc.marmotcaravel.MarmotCaravelConfig.fir@220984.8]
  wire [31:0] _T_68; // @[IBuf.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220987.8]
  wire [2:0] _GEN_65; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@220988.8]
  wire [2:0] _T_69; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@220988.8]
  wire [31:0] _GEN_66; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220989.8]
  wire [31:0] _T_71; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220990.8]
  wire [31:0] _T_72; // @[IBuf.scala 59:109:shc.marmotcaravel.MarmotCaravelConfig.fir@220991.8]
  wire [31:0] _T_73; // @[IBuf.scala 59:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220992.8]
  wire [1:0] _GEN_0; // @[IBuf.scala 54:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220971.6]
  wire [1:0] _GEN_23; // @[IBuf.scala 47:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220955.4]
  wire [1:0] _GEN_46; // @[IBuf.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220997.4]
  wire [1:0] _T_75; // @[IBuf.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221001.4]
  wire [2:0] _T_76; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221002.4]
  wire [2:0] _T_77; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221003.4]
  wire [1:0] icShiftAmt; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221004.4]
  wire [15:0] _T_79; // @[IBuf.scala 69:87:shc.marmotcaravel.MarmotCaravelConfig.fir@221006.4]
  wire [31:0] _T_80; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221007.4]
  wire [63:0] _T_81; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221008.4]
  wire [15:0] _T_82; // @[IBuf.scala 120:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221009.4]
  wire [31:0] _T_83; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221010.4]
  wire [63:0] _T_84; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221011.4]
  wire [127:0] _T_85; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221012.4]
  wire [5:0] _GEN_69; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221013.4]
  wire [5:0] _T_86; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221013.4]
  wire [190:0] _GEN_70; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221014.4]
  wire [190:0] _T_87; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221014.4]
  wire [31:0] icData; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221015.4]
  wire [4:0] _GEN_71; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221017.4]
  wire [4:0] _T_89; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221017.4]
  wire [62:0] _T_90; // @[IBuf.scala 71:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221018.4]
  wire [31:0] icMask; // @[IBuf.scala 71:92:shc.marmotcaravel.MarmotCaravelConfig.fir@221019.4]
  wire [31:0] _T_91; // @[IBuf.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221020.4]
  wire [31:0] _T_92; // @[IBuf.scala 72:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221021.4]
  wire [31:0] _T_93; // @[IBuf.scala 72:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221022.4]
  wire  _T_101; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221033.4]
  wire  _T_102; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221035.4]
  wire  xcpt_1_pf_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221036.4]
  wire  xcpt_1_ae_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221036.4]
  wire [1:0] _T_103; // @[IBuf.scala 78:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221038.4]
  wire [1:0] _T_104; // @[IBuf.scala 78:63:shc.marmotcaravel.MarmotCaravelConfig.fir@221039.4]
  wire [1:0] _T_105; // @[IBuf.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221040.4]
  wire [1:0] ic_replay; // @[IBuf.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221041.4]
  wire  _T_106; // @[IBuf.scala 79:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221042.4]
  wire  _T_107; // @[IBuf.scala 79:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221043.4]
  wire  _T_108; // @[IBuf.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221044.4]
  wire  _T_109; // @[IBuf.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@221045.4]
  wire  _T_110; // @[IBuf.scala 79:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221046.4]
  wire  _T_112; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221048.4]
  wire  _T_113; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221049.4]
  wire  _T_114; // @[IBuf.scala 82:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221055.4]
  wire [1:0] _T_116; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221065.4]
  wire  _T_117; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221066.4]
  wire  _T_118; // @[IBuf.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221067.4]
  wire [1:0] _T_121; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221070.4]
  wire  _T_122; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221071.4]
  wire  _T_123; // @[IBuf.scala 92:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221072.4]
  wire [1:0] _T_133; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221082.4]
  wire  _T_134; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221083.4]
  wire [1:0] _T_142; // @[IBuf.scala 96:63:shc.marmotcaravel.MarmotCaravelConfig.fir@221093.4]
  wire [1:0] _T_143; // @[IBuf.scala 96:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221094.4]
  wire [1:0] _T_151; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221107.4]
  wire  _T_152; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221108.4]
  wire  _T_153; // @[IBuf.scala 100:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221109.4]
  wire [1:0] _T_156; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221112.4]
  wire  _T_157; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221113.4]
  wire  _T_158; // @[IBuf.scala 100:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221114.4]
  RVCExpander RVCExpander ( // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221058.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@220930.4]
  assign _T_25 = io_imem_bits_btb_bridx + 1'h1; // @[IBuf.scala 41:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220934.4]
  assign _T_26 = io_imem_bits_btb_taken ? _T_25 : 2'h2; // @[IBuf.scala 41:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220935.4]
  assign _GEN_56 = {{1'd0}, pcWordBits}; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
  assign _T_27 = _T_26 - _GEN_56; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
  assign _T_28 = $unsigned(_T_27); // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220937.4]
  assign nIC = _T_28[1:0]; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@220938.4]
  assign _T_31 = io_imem_valid ? nIC : 2'h0; // @[IBuf.scala 43:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220942.4]
  assign _GEN_57 = {{1'd0}, nBufValid}; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220943.4]
  assign nValid = _T_31 + _GEN_57; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220944.4]
  assign _T_94 = 4'h1 << nValid; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221024.4]
  assign _T_95 = _T_94 - 4'h1; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221025.4]
  assign _T_96 = $unsigned(_T_95); // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221026.4]
  assign _T_97 = _T_96[3:0]; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221027.4]
  assign valid = _T_97[1:0]; // @[IBuf.scala 74:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221028.4]
  assign _T_127 = valid >> 1'h1; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221076.4]
  assign _T_128 = _T_127[0]; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221077.4]
  assign _T_129 = RVCExpander_io_rvc | _T_128; // @[IBuf.scala 93:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221078.4]
  assign _T_98 = 2'h1 << nBufValid; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221029.4]
  assign _T_99 = _T_98 - 2'h1; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221030.4]
  assign _T_100 = $unsigned(_T_99); // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221031.4]
  assign bufMask = _T_100[1:0]; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221032.4]
  assign buf_replay = buf__replay ? bufMask : 2'h0; // @[IBuf.scala 77:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221037.4]
  assign _T_130 = buf_replay >> 1'h0; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221079.4]
  assign _T_131 = _T_130[0]; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221080.4]
  assign _T_132 = _T_129 | _T_131; // @[IBuf.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221081.4]
  assign _T_165 = RVCExpander_io_rvc ? 2'h1 : 2'h2; // @[IBuf.scala 102:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221125.6]
  assign nReady = _T_132 ? _T_165 : 2'h0; // @[IBuf.scala 102:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221120.4]
  assign _T_29 = nReady - _GEN_57; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220939.4]
  assign _T_30 = $unsigned(_T_29); // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220940.4]
  assign nICReady = _T_30[1:0]; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220941.4]
  assign _T_33 = nReady >= _GEN_57; // @[IBuf.scala 44:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220945.4]
  assign _T_34 = io_inst_0_ready & _T_33; // @[IBuf.scala 44:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220946.4]
  assign _T_35 = nICReady >= nIC; // @[IBuf.scala 44:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220947.4]
  assign _T_36 = nIC - nICReady; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220948.4]
  assign _T_37 = $unsigned(_T_36); // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220949.4]
  assign _T_38 = _T_37[1:0]; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220950.4]
  assign _T_39 = 2'h1 >= _T_38; // @[IBuf.scala 44:85:shc.marmotcaravel.MarmotCaravelConfig.fir@220951.4]
  assign _T_40 = _T_35 | _T_39; // @[IBuf.scala 44:80:shc.marmotcaravel.MarmotCaravelConfig.fir@220952.4]
  assign _T_43 = _GEN_57 - nReady; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220957.6]
  assign _T_44 = $unsigned(_T_43); // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220958.6]
  assign _T_45 = _T_44[1:0]; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220959.6]
  assign _T_46 = _T_33 ? 2'h0 : _T_45; // @[IBuf.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220960.6]
  assign _T_48 = io_imem_valid & _T_33; // @[IBuf.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220963.6]
  assign _T_49 = nICReady < nIC; // @[IBuf.scala 54:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220964.6]
  assign _T_50 = _T_48 & _T_49; // @[IBuf.scala 54:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220965.6]
  assign _T_55 = _T_50 & _T_39; // @[IBuf.scala 54:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220970.6]
  assign _T_57 = _GEN_56 + nICReady; // @[IBuf.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220973.8]
  assign _T_61 = io_imem_bits_data[31:16]; // @[IBuf.scala 127:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220979.8]
  assign _T_62 = {_T_61,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220980.8]
  assign _T_63 = {_T_62,io_imem_bits_data}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220981.8]
  assign _GEN_64 = {{4'd0}, _T_57}; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.8]
  assign _T_64 = _GEN_64 << 4; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.8]
  assign _T_65 = _T_63 >> _T_64; // @[IBuf.scala 128:10:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.8]
  assign _T_66 = _T_65[15:0]; // @[IBuf.scala 58:61:shc.marmotcaravel.MarmotCaravelConfig.fir@220984.8]
  assign _T_68 = io_imem_bits_pc & 32'hfffffffc; // @[IBuf.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220987.8]
  assign _GEN_65 = {{1'd0}, nICReady}; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@220988.8]
  assign _T_69 = _GEN_65 << 1; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@220988.8]
  assign _GEN_66 = {{29'd0}, _T_69}; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220989.8]
  assign _T_71 = io_imem_bits_pc + _GEN_66; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@220990.8]
  assign _T_72 = _T_71 & 32'h3; // @[IBuf.scala 59:109:shc.marmotcaravel.MarmotCaravelConfig.fir@220991.8]
  assign _T_73 = _T_68 | _T_72; // @[IBuf.scala 59:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220992.8]
  assign _GEN_0 = _T_55 ? _T_38 : _T_46; // @[IBuf.scala 54:92:shc.marmotcaravel.MarmotCaravelConfig.fir@220971.6]
  assign _GEN_23 = io_inst_0_ready ? _GEN_0 : {{1'd0}, nBufValid}; // @[IBuf.scala 47:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220955.4]
  assign _GEN_46 = io_kill ? 2'h0 : _GEN_23; // @[IBuf.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220997.4]
  assign _T_75 = 2'h2 + _GEN_57; // @[IBuf.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221001.4]
  assign _T_76 = _T_75 - _GEN_56; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221002.4]
  assign _T_77 = $unsigned(_T_76); // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221003.4]
  assign icShiftAmt = _T_77[1:0]; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221004.4]
  assign _T_79 = io_imem_bits_data[15:0]; // @[IBuf.scala 69:87:shc.marmotcaravel.MarmotCaravelConfig.fir@221006.4]
  assign _T_80 = {_T_79,_T_79}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221007.4]
  assign _T_81 = {io_imem_bits_data,_T_80}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221008.4]
  assign _T_82 = _T_81[63:48]; // @[IBuf.scala 120:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221009.4]
  assign _T_83 = {_T_82,_T_82}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221010.4]
  assign _T_84 = {_T_83,_T_83}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221011.4]
  assign _T_85 = {_T_84,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221012.4]
  assign _GEN_69 = {{4'd0}, icShiftAmt}; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221013.4]
  assign _T_86 = _GEN_69 << 4; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221013.4]
  assign _GEN_70 = {{63'd0}, _T_85}; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221014.4]
  assign _T_87 = _GEN_70 << _T_86; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221014.4]
  assign icData = _T_87[95:64]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221015.4]
  assign _GEN_71 = {{4'd0}, nBufValid}; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221017.4]
  assign _T_89 = _GEN_71 << 4; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221017.4]
  assign _T_90 = 63'hffffffff << _T_89; // @[IBuf.scala 71:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221018.4]
  assign icMask = _T_90[31:0]; // @[IBuf.scala 71:92:shc.marmotcaravel.MarmotCaravelConfig.fir@221019.4]
  assign _T_91 = icData & icMask; // @[IBuf.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221020.4]
  assign _T_92 = ~ icMask; // @[IBuf.scala 72:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221021.4]
  assign _T_93 = buf__data & _T_92; // @[IBuf.scala 72:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221022.4]
  assign _T_101 = bufMask[0]; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221033.4]
  assign _T_102 = bufMask[1]; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221035.4]
  assign xcpt_1_pf_inst = _T_102 ? buf__xcpt_pf_inst : 1'h0; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221036.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@221036.4]
  assign _T_103 = ~ bufMask; // @[IBuf.scala 78:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221038.4]
  assign _T_104 = valid & _T_103; // @[IBuf.scala 78:63:shc.marmotcaravel.MarmotCaravelConfig.fir@221039.4]
  assign _T_105 = io_imem_bits_replay ? _T_104 : 2'h0; // @[IBuf.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221040.4]
  assign ic_replay = buf_replay | _T_105; // @[IBuf.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221041.4]
  assign _T_106 = io_imem_valid == 1'h0; // @[IBuf.scala 79:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221042.4]
  assign _T_107 = io_imem_bits_btb_taken == 1'h0; // @[IBuf.scala 79:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221043.4]
  assign _T_108 = _T_106 | _T_107; // @[IBuf.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221044.4]
  assign _T_109 = io_imem_bits_btb_bridx >= pcWordBits; // @[IBuf.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@221045.4]
  assign _T_110 = _T_108 | _T_109; // @[IBuf.scala 79:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221046.4]
  assign _T_112 = _T_110 | reset; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221048.4]
  assign _T_113 = _T_112 == 1'h0; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221049.4]
  assign _T_114 = nBufValid > 1'h0; // @[IBuf.scala 82:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221055.4]
  assign _T_116 = ic_replay >> 1'h0; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221065.4]
  assign _T_117 = _T_116[0]; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221066.4]
  assign _T_118 = RVCExpander_io_rvc == 1'h0; // @[IBuf.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221067.4]
  assign _T_121 = ic_replay >> 1'h1; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221070.4]
  assign _T_122 = _T_121[0]; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221071.4]
  assign _T_123 = _T_118 & _T_122; // @[IBuf.scala 92:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221072.4]
  assign _T_133 = valid >> 1'h0; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221082.4]
  assign _T_134 = _T_133[0]; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221083.4]
  assign _T_142 = {xcpt_1_pf_inst,xcpt_1_ae_inst}; // @[IBuf.scala 96:63:shc.marmotcaravel.MarmotCaravelConfig.fir@221093.4]
  assign _T_143 = RVCExpander_io_rvc ? 2'h0 : _T_142; // @[IBuf.scala 96:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221094.4]
  assign _T_151 = bufMask >> 1'h0; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221107.4]
  assign _T_152 = _T_151[0]; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221108.4]
  assign _T_153 = _T_152 & RVCExpander_io_rvc; // @[IBuf.scala 100:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221109.4]
  assign _T_156 = bufMask >> 1'h1; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221112.4]
  assign _T_157 = _T_156[0]; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221113.4]
  assign _T_158 = _T_153 | _T_157; // @[IBuf.scala 100:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221114.4]
  assign io_imem_ready = _T_34 & _T_40; // @[IBuf.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220954.4]
  assign io_pc = _T_114 ? buf__pc : io_imem_bits_pc; // @[IBuf.scala 82:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221057.4]
  assign io_btb_resp_entry = _T_158 ? ibufBTBResp_entry : io_imem_bits_btb_entry; // @[IBuf.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221054.4 IBuf.scala 100:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221116.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@221054.4 IBuf.scala 100:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221116.6]
  assign io_inst_0_valid = _T_134 & _T_132; // @[IBuf.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221085.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@221088.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@221088.4]
  assign io_inst_0_bits_xcpt1_pf_inst = _T_143[1]; // @[IBuf.scala 96:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221104.4]
  assign io_inst_0_bits_xcpt1_ae_inst = _T_143[0]; // @[IBuf.scala 96:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221104.4]
  assign io_inst_0_bits_replay = _T_117 | _T_123; // @[IBuf.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221105.4]
  assign io_inst_0_bits_rvc = RVCExpander_io_rvc; // @[IBuf.scala 98:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221106.4]
  assign io_inst_0_bits_inst_bits = RVCExpander_io_out_bits; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.4]
  assign io_inst_0_bits_inst_rd = RVCExpander_io_out_rd; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.4]
  assign io_inst_0_bits_inst_rs1 = RVCExpander_io_out_rs1; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.4]
  assign io_inst_0_bits_inst_rs2 = RVCExpander_io_out_rs2; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.4]
  assign io_inst_0_bits_raw = _T_91 | _T_93; // @[IBuf.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221064.4]
  assign RVCExpander_io_in = _T_91 | _T_93; // @[IBuf.scala 87:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221062.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@221051.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@221052.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CSRFile( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221137.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221138.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221139.4]
  input         io_ungated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_interrupts_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_interrupts_mtip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_interrupts_msip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_interrupts_meip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [11:0] io_rw_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [2:0]  io_rw_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_rw_rdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [31:0] io_rw_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [11:0] io_decode_0_csr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_decode_0_fp_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_decode_0_fp_csr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_decode_0_read_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_decode_0_write_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_decode_0_write_flush, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_csr_stall, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_eret, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_singleStep, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_status_isa, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_dprv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_prv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [26:0] io_status_zero2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_sxl, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_uxl, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_sd_rv32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [7:0]  io_status_zero1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_tsr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_tw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_tvm, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_mxr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_sum, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_mprv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_xs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_fs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_mpp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_status_hpp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_spp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_mpie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_hpie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_spie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_upie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_mie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_hie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_sie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_status_uie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_evec, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_exception, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input         io_retire, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [31:0] io_cause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [31:0] io_tval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_time, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_interrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_interrupt_cause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_0_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_0_control_chain, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_bp_0_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_0_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_0_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_0_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_bp_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_1_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_bp_1_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_1_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_1_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_bp_1_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_bp_1_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [1:0]  io_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [29:0] io_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  input  [31:0] io_inst_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_trace_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_trace_0_iaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output [31:0] io_trace_0_insn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
  output        io_trace_0_exception // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221140.4]
);
  reg [1:0] reg_mstatus_mpp; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
  reg [31:0] _RAND_0;
  reg  reg_mstatus_spp; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
  reg [31:0] _RAND_1;
  reg  reg_mstatus_mpie; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
  reg [31:0] _RAND_2;
  reg  reg_mstatus_mie; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
  reg [31:0] _RAND_3;
  reg  reg_dcsr_ebreakm; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221256.4]
  reg [31:0] _RAND_4;
  reg [2:0] reg_dcsr_cause; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221256.4]
  reg [31:0] _RAND_5;
  reg  reg_dcsr_step; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221256.4]
  reg [31:0] _RAND_6;
  reg [1:0] reg_dcsr_prv; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221256.4]
  reg [31:0] _RAND_7;
  reg  reg_debug; // @[CSR.scala 282:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221312.4]
  reg [31:0] _RAND_8;
  reg [31:0] reg_dpc; // @[CSR.scala 283:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221313.4]
  reg [31:0] _RAND_9;
  reg [31:0] reg_dscratch; // @[CSR.scala 284:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221314.4]
  reg [31:0] _RAND_10;
  reg  reg_singleStepped; // @[CSR.scala 285:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221315.4]
  reg [31:0] _RAND_11;
  reg  reg_tselect; // @[CSR.scala 287:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221316.4]
  reg [31:0] _RAND_12;
  reg  reg_bp_0_control_dmode; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_13;
  reg  reg_bp_0_control_action; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_14;
  reg  reg_bp_0_control_chain; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_15;
  reg [1:0] reg_bp_0_control_tmatch; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_16;
  reg  reg_bp_0_control_x; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_17;
  reg  reg_bp_0_control_w; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_18;
  reg  reg_bp_0_control_r; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_19;
  reg [31:0] reg_bp_0_address; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_20;
  reg  reg_bp_1_control_dmode; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_21;
  reg  reg_bp_1_control_action; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_22;
  reg [1:0] reg_bp_1_control_tmatch; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_23;
  reg  reg_bp_1_control_x; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_24;
  reg  reg_bp_1_control_w; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_25;
  reg  reg_bp_1_control_r; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_26;
  reg [31:0] reg_bp_1_address; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  reg [31:0] _RAND_27;
  reg  reg_pmp_0_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_28;
  reg [1:0] reg_pmp_0_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_29;
  reg  reg_pmp_0_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_30;
  reg  reg_pmp_0_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_31;
  reg  reg_pmp_0_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_32;
  reg [29:0] reg_pmp_0_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_33;
  reg  reg_pmp_1_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_34;
  reg [1:0] reg_pmp_1_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_35;
  reg  reg_pmp_1_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_36;
  reg  reg_pmp_1_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_37;
  reg  reg_pmp_1_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_38;
  reg [29:0] reg_pmp_1_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_39;
  reg  reg_pmp_2_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_40;
  reg [1:0] reg_pmp_2_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_41;
  reg  reg_pmp_2_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_42;
  reg  reg_pmp_2_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_43;
  reg  reg_pmp_2_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_44;
  reg [29:0] reg_pmp_2_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_45;
  reg  reg_pmp_3_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_46;
  reg [1:0] reg_pmp_3_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_47;
  reg  reg_pmp_3_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_48;
  reg  reg_pmp_3_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_49;
  reg  reg_pmp_3_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_50;
  reg [29:0] reg_pmp_3_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_51;
  reg  reg_pmp_4_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_52;
  reg [1:0] reg_pmp_4_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_53;
  reg  reg_pmp_4_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_54;
  reg  reg_pmp_4_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_55;
  reg  reg_pmp_4_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_56;
  reg [29:0] reg_pmp_4_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_57;
  reg  reg_pmp_5_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_58;
  reg [1:0] reg_pmp_5_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_59;
  reg  reg_pmp_5_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_60;
  reg  reg_pmp_5_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_61;
  reg  reg_pmp_5_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_62;
  reg [29:0] reg_pmp_5_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_63;
  reg  reg_pmp_6_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_64;
  reg [1:0] reg_pmp_6_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_65;
  reg  reg_pmp_6_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_66;
  reg  reg_pmp_6_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_67;
  reg  reg_pmp_6_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_68;
  reg [29:0] reg_pmp_6_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_69;
  reg  reg_pmp_7_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_70;
  reg [1:0] reg_pmp_7_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_71;
  reg  reg_pmp_7_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_72;
  reg  reg_pmp_7_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_73;
  reg  reg_pmp_7_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_74;
  reg [29:0] reg_pmp_7_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  reg [31:0] _RAND_75;
  reg [31:0] reg_mie; // @[CSR.scala 291:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221319.4]
  reg [31:0] _RAND_76;
  reg [31:0] reg_mepc; // @[CSR.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221323.4]
  reg [31:0] _RAND_77;
  reg [31:0] reg_mcause; // @[CSR.scala 296:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221324.4]
  reg [31:0] _RAND_78;
  reg [31:0] reg_mbadaddr; // @[CSR.scala 297:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221325.4]
  reg [31:0] _RAND_79;
  reg [31:0] reg_mscratch; // @[CSR.scala 298:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221326.4]
  reg [31:0] _RAND_80;
  reg [31:0] reg_mtvec; // @[CSR.scala 301:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221327.4]
  reg [31:0] _RAND_81;
  reg  reg_wfi; // @[CSR.scala 314:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221336.4]
  reg [31:0] _RAND_82;
  reg [5:0] _T_258; // @[Counters.scala 46:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221339.4]
  reg [31:0] _RAND_83;
  wire [5:0] _GEN_446; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.4]
  wire [6:0] _T_259; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.4]
  reg [57:0] _T_261; // @[Counters.scala 51:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221342.4]
  reg [63:0] _RAND_84;
  wire  _T_262; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221343.4]
  wire [57:0] _T_264; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221346.6]
  wire [63:0] _T_265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221349.4]
  wire  _T_266; // @[CSR.scala 320:103:shc.marmotcaravel.MarmotCaravelConfig.fir@221350.4]
  reg [5:0] _T_268; // @[Counters.scala 46:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221351.4]
  reg [31:0] _RAND_85;
  wire [5:0] _GEN_447; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.4]
  wire [6:0] _T_269; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.4]
  reg [57:0] _T_271; // @[Counters.scala 51:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221354.4]
  reg [63:0] _RAND_86;
  wire  _T_272; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221355.4]
  wire [57:0] _T_274; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221358.6]
  wire [63:0] _T_275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221361.4]
  wire [1:0] _T_282; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221370.4]
  wire [3:0] _T_283; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221371.4]
  wire [1:0] _T_285; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221373.4]
  wire [3:0] _T_286; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221374.4]
  wire [7:0] _T_287; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221375.4]
  wire [1:0] _T_289; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221377.4]
  wire [3:0] _T_290; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221378.4]
  wire [7:0] _T_294; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221382.4]
  wire [15:0] _T_295; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221383.4]
  wire [15:0] read_mip; // @[CSR.scala 333:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221384.4]
  wire [31:0] _GEN_448; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221385.4]
  wire [31:0] pending_interrupts; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221385.4]
  wire [14:0] _GEN_449; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.4]
  wire [14:0] d_interrupts; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.4]
  wire [31:0] _T_299; // @[CSR.scala 338:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221390.4]
  wire [31:0] _T_301; // @[CSR.scala 338:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221392.4]
  wire [31:0] m_interrupts; // @[CSR.scala 338:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221393.4]
  wire  _T_307; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221400.4]
  wire  _T_308; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221401.4]
  wire  _T_309; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221402.4]
  wire  _T_310; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221403.4]
  wire  _T_311; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221404.4]
  wire  _T_312; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221405.4]
  wire  _T_313; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221406.4]
  wire  _T_314; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221407.4]
  wire  _T_315; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221408.4]
  wire  _T_316; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221409.4]
  wire  _T_317; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221410.4]
  wire  _T_318; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221411.4]
  wire  _T_319; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221412.4]
  wire  _T_320; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221413.4]
  wire  _T_321; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221414.4]
  wire  _T_322; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221415.4]
  wire  _T_323; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221416.4]
  wire  _T_324; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221417.4]
  wire  _T_325; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221418.4]
  wire  _T_326; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221419.4]
  wire  _T_327; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221420.4]
  wire  _T_328; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221421.4]
  wire  _T_329; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221422.4]
  wire  _T_330; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221423.4]
  wire  _T_331; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221424.4]
  wire  _T_345; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221438.4]
  wire  _T_346; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221439.4]
  wire  _T_347; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221440.4]
  wire  _T_348; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221441.4]
  wire  _T_349; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221442.4]
  wire  _T_350; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221443.4]
  wire  _T_351; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221444.4]
  wire  _T_352; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221445.4]
  wire  _T_353; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221446.4]
  wire  _T_354; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221447.4]
  wire  _T_355; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221448.4]
  wire  _T_356; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221449.4]
  wire  _T_357; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221450.4]
  wire  _T_358; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221451.4]
  wire  _T_359; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221452.4]
  wire  _T_360; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221453.4]
  wire  _T_361; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221454.4]
  wire  _T_362; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221455.4]
  wire  _T_363; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221456.4]
  wire  _T_364; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221457.4]
  wire  _T_365; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221458.4]
  wire  _T_366; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221459.4]
  wire  _T_367; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221460.4]
  wire  anyInterrupt; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221461.4]
  wire [3:0] _T_432; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221526.4]
  wire [3:0] _T_433; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221527.4]
  wire [3:0] _T_434; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221528.4]
  wire [3:0] _T_435; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221529.4]
  wire [3:0] _T_436; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221530.4]
  wire [3:0] _T_437; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221531.4]
  wire [3:0] _T_438; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221532.4]
  wire [3:0] _T_439; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221533.4]
  wire [3:0] _T_440; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221534.4]
  wire [3:0] _T_441; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221535.4]
  wire [3:0] _T_442; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221536.4]
  wire [3:0] _T_443; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221537.4]
  wire [3:0] _T_444; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221538.4]
  wire [3:0] _T_445; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221539.4]
  wire [3:0] _T_446; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221540.4]
  wire [3:0] _T_447; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221541.4]
  wire [3:0] _T_448; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221542.4]
  wire [3:0] _T_449; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221543.4]
  wire [3:0] _T_450; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221544.4]
  wire [3:0] _T_451; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221545.4]
  wire [3:0] _T_452; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221546.4]
  wire [3:0] _T_453; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221547.4]
  wire [3:0] _T_454; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221548.4]
  wire [3:0] whichInterrupt; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221549.4]
  wire [31:0] _GEN_450; // @[CSR.scala 342:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221550.4]
  wire  _T_456; // @[CSR.scala 343:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221552.4]
  wire  _T_457; // @[CSR.scala 343:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221553.4]
  wire  _T_458; // @[CSR.scala 343:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221554.4]
  wire  _T_459; // @[CSR.scala 343:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221555.4]
  wire  _T_463; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221564.4]
  wire [30:0] _T_464; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
  wire [30:0] _T_467; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221568.4]
  wire [30:0] _T_468; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221569.4]
  wire [30:0] _T_469; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221570.4]
  wire [32:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221571.4]
  wire  _T_473; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221576.4]
  wire [30:0] _T_474; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221577.4]
  wire [30:0] _T_477; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221580.4]
  wire [30:0] _T_478; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221581.4]
  wire [30:0] _T_479; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221582.4]
  wire [32:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221583.4]
  wire  _T_483; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221588.4]
  wire [30:0] _T_484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221589.4]
  wire [30:0] _T_487; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221592.4]
  wire [30:0] _T_488; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221593.4]
  wire [30:0] _T_489; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221594.4]
  wire [32:0] _T_490; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221595.4]
  wire  _T_493; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221600.4]
  wire [30:0] _T_494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221601.4]
  wire [30:0] _T_497; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221604.4]
  wire [30:0] _T_498; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221605.4]
  wire [30:0] _T_499; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221606.4]
  wire [32:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221607.4]
  wire  _T_503; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221612.4]
  wire [30:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221613.4]
  wire [30:0] _T_507; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221616.4]
  wire [30:0] _T_508; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221617.4]
  wire [30:0] _T_509; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221618.4]
  wire [32:0] _T_510; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221619.4]
  wire  _T_513; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221624.4]
  wire [30:0] _T_514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221625.4]
  wire [30:0] _T_517; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221628.4]
  wire [30:0] _T_518; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221629.4]
  wire [30:0] _T_519; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221630.4]
  wire [32:0] _T_520; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221631.4]
  wire  _T_523; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221636.4]
  wire [30:0] _T_524; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221637.4]
  wire [30:0] _T_527; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221640.4]
  wire [30:0] _T_528; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221641.4]
  wire [30:0] _T_529; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221642.4]
  wire [32:0] _T_530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221643.4]
  wire  _T_533; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221648.4]
  wire [30:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  wire [30:0] _T_537; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221652.4]
  wire [30:0] _T_538; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221653.4]
  wire [30:0] _T_539; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221654.4]
  wire [32:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221655.4]
  reg [31:0] reg_misa; // @[CSR.scala 359:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221665.4]
  reg [31:0] _RAND_87;
  wire [1:0] _T_542; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
  wire [2:0] _T_543; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221667.4]
  wire [1:0] _T_544; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221668.4]
  wire [1:0] _T_545; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221669.4]
  wire [3:0] _T_546; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221670.4]
  wire [6:0] _T_547; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221671.4]
  wire [2:0] _T_548; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221672.4]
  wire [3:0] _T_549; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221673.4]
  wire [3:0] _T_550; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221674.4]
  wire [2:0] _T_551; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221675.4]
  wire [6:0] _T_552; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221676.4]
  wire [10:0] _T_553; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221677.4]
  wire [17:0] _T_554; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221678.4]
  wire [1:0] _T_555; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221679.4]
  wire [2:0] _T_556; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221680.4]
  wire [1:0] _T_557; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221681.4]
  wire [8:0] _T_558; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221682.4]
  wire [10:0] _T_559; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221683.4]
  wire [13:0] _T_560; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221684.4]
  wire [3:0] _T_561; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221685.4]
  wire [27:0] _T_562; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221686.4]
  wire [31:0] _T_563; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221687.4]
  wire [3:0] _T_564; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221688.4]
  wire [32:0] _T_565; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221689.4]
  wire [36:0] _T_566; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221690.4]
  wire [68:0] _T_567; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221691.4]
  wire [82:0] _T_568; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221692.4]
  wire [100:0] _T_569; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221693.4]
  wire [31:0] read_mstatus; // @[CSR.scala 360:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221694.4]
  wire  _GEN_19; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire  _GEN_22; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire  _GEN_23; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire [1:0] _GEN_25; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire  _GEN_30; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire  _GEN_31; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire  _GEN_32; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire [31:0] _GEN_33; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire [1:0] _T_571; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire [2:0] _T_572; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221696.4]
  wire [6:0] _T_576; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221700.4]
  wire [3:0] _T_577; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221701.4]
  wire [1:0] _T_578; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221702.4]
  wire [5:0] _T_579; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221703.4]
  wire [4:0] _T_581; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221705.4]
  wire [18:0] _T_582; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221706.4]
  wire [24:0] _T_583; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221707.4]
  wire [31:0] _T_584; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221708.4]
  wire [31:0] _T_586; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221709.4]
  wire  _T_587; // @[CSR.scala 908:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221710.4]
  wire [1:0] _T_588; // @[CSR.scala 908:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221711.4]
  wire [31:0] _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221712.4]
  wire [31:0] _T_589; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221712.4]
  wire [31:0] _T_590; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221713.4]
  wire [3:0] _T_591; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221714.4]
  wire [5:0] _T_592; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221715.4]
  wire [3:0] _T_593; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221716.4]
  wire [5:0] _T_595; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221718.4]
  wire [11:0] _T_596; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221719.4]
  wire [12:0] _T_599; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221722.4]
  wire [16:0] _T_601; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221724.4]
  wire [19:0] _T_602; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221725.4]
  wire [31:0] _T_603; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221726.4]
  wire [31:0] _T_604; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221727.4]
  wire [31:0] _T_607; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221730.4]
  wire [31:0] _T_608; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221731.4]
  wire [31:0] _T_610; // @[CSR.scala 415:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221733.4]
  wire [31:0] _T_611; // @[CSR.scala 416:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221734.4]
  wire [1:0] _T_626; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221756.4]
  wire [2:0] _T_627; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221757.4]
  wire [2:0] _T_628; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221758.4]
  wire [4:0] _T_629; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221759.4]
  wire [7:0] _T_630; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221760.4]
  wire [1:0] _T_631; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221761.4]
  wire [2:0] _T_632; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221762.4]
  wire [2:0] _T_633; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221763.4]
  wire [4:0] _T_634; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221764.4]
  wire [7:0] _T_635; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221765.4]
  wire [1:0] _T_636; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221766.4]
  wire [2:0] _T_637; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221767.4]
  wire [2:0] _T_638; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221768.4]
  wire [4:0] _T_639; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221769.4]
  wire [7:0] _T_640; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221770.4]
  wire [1:0] _T_641; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221771.4]
  wire [2:0] _T_642; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221772.4]
  wire [2:0] _T_643; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221773.4]
  wire [4:0] _T_644; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221774.4]
  wire [7:0] _T_645; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221775.4]
  wire [15:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221776.4]
  wire [15:0] _T_647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221777.4]
  wire [31:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221778.4]
  wire [1:0] _T_649; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221779.4]
  wire [2:0] _T_650; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221780.4]
  wire [2:0] _T_651; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221781.4]
  wire [4:0] _T_652; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221782.4]
  wire [7:0] _T_653; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221783.4]
  wire [1:0] _T_654; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221784.4]
  wire [2:0] _T_655; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221785.4]
  wire [2:0] _T_656; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221786.4]
  wire [4:0] _T_657; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221787.4]
  wire [7:0] _T_658; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221788.4]
  wire [1:0] _T_659; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221789.4]
  wire [2:0] _T_660; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221790.4]
  wire [2:0] _T_661; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221791.4]
  wire [4:0] _T_662; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221792.4]
  wire [7:0] _T_663; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221793.4]
  wire [1:0] _T_664; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221794.4]
  wire [2:0] _T_665; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221795.4]
  wire [2:0] _T_666; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221796.4]
  wire [4:0] _T_667; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221797.4]
  wire [7:0] _T_668; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221798.4]
  wire [15:0] _T_669; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221799.4]
  wire [15:0] _T_670; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221800.4]
  wire [31:0] _T_671; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221801.4]
  wire  _T_722; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221852.4]
  wire  _T_723; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221853.4]
  wire  _T_724; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221854.4]
  wire  _T_725; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221855.4]
  wire  _T_726; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221856.4]
  wire  _T_727; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221857.4]
  wire  _T_728; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221858.4]
  wire  _T_729; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221859.4]
  wire  _T_730; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221860.4]
  wire  _T_731; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221861.4]
  wire  _T_732; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221862.4]
  wire  _T_733; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221863.4]
  wire  _T_734; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221864.4]
  wire  _T_735; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221865.4]
  wire  _T_736; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221866.4]
  wire  _T_737; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221867.4]
  wire  _T_738; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221868.4]
  wire  _T_739; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221869.4]
  wire  _T_827; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221957.4]
  wire  _T_828; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221958.4]
  wire  _T_829; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221959.4]
  wire  _T_830; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221960.4]
  wire  _T_833; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221963.4]
  wire  _T_834; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221964.4]
  wire  _T_835; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221965.4]
  wire  _T_836; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221966.4]
  wire  _T_837; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221967.4]
  wire  _T_838; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221968.4]
  wire  _T_839; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221969.4]
  wire  _T_840; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221970.4]
  wire  _T_850; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221980.4]
  wire  _T_852; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221982.4]
  wire  _T_853; // @[CSR.scala 886:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221983.4]
  wire [31:0] _T_854; // @[CSR.scala 886:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221984.4]
  wire [31:0] _T_855; // @[CSR.scala 886:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221985.4]
  wire [1:0] _T_856; // @[CSR.scala 886:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221986.4]
  wire [1:0] _T_857; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221987.4]
  wire  _T_858; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221988.4]
  wire [31:0] _T_859; // @[CSR.scala 886:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221989.4]
  wire [31:0] _T_860; // @[CSR.scala 886:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221990.4]
  wire [31:0] wdata; // @[CSR.scala 886:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221991.4]
  wire  system_insn; // @[CSR.scala 479:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221992.4]
  wire [31:0] _GEN_453; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@221993.4]
  wire [31:0] _T_861; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@221993.4]
  wire [31:0] _T_862; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221994.4]
  wire  _T_863; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@221995.4]
  wire [31:0] _T_865; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221997.4]
  wire  _T_866; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@221998.4]
  wire [31:0] _T_868; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@222000.4]
  wire  _T_869; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@222001.4]
  wire [31:0] _T_871; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@222003.4]
  wire  _T_872; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@222004.4]
  wire  insn_call; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222007.4]
  wire  insn_break; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222009.4]
  wire  insn_ret; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222011.4]
  wire  insn_wfi; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222013.4]
  wire  _T_918; // @[CSR.scala 499:39:shc.marmotcaravel.MarmotCaravelConfig.fir@222055.4]
  wire  _T_919; // @[CSR.scala 499:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  _T_920; // @[CSR.scala 499:48:shc.marmotcaravel.MarmotCaravelConfig.fir@222057.4]
  wire  _T_933; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222073.4]
  wire  _T_934; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222074.4]
  wire  _T_935; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222075.4]
  wire  _T_936; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  _T_937; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222077.4]
  wire  _T_938; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222078.4]
  wire  _T_939; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222079.4]
  wire  _T_940; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222080.4]
  wire  _T_941; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222081.4]
  wire  _T_942; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  _T_943; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222083.4]
  wire  _T_944; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222084.4]
  wire  _T_945; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222085.4]
  wire  _T_946; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222086.4]
  wire  _T_947; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222087.4]
  wire  _T_948; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  _T_949; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222089.4]
  wire  _T_950; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222090.4]
  wire  _T_951; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222091.4]
  wire  _T_952; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222092.4]
  wire  _T_953; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222093.4]
  wire  _T_954; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
  wire  _T_955; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222095.4]
  wire  _T_956; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222096.4]
  wire  _T_957; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222097.4]
  wire  _T_958; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222098.4]
  wire  _T_959; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222099.4]
  wire  _T_960; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
  wire  _T_961; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222101.4]
  wire  _T_962; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222102.4]
  wire  _T_963; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222103.4]
  wire  _T_964; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222104.4]
  wire  _T_965; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222105.4]
  wire  _T_966; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
  wire  _T_967; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222107.4]
  wire  _T_968; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222108.4]
  wire  _T_969; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222109.4]
  wire  _T_970; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222110.4]
  wire  _T_971; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222111.4]
  wire  _T_972; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222112.4]
  wire  _T_973; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222113.4]
  wire  _T_974; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222114.4]
  wire  _T_975; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222115.4]
  wire  _T_976; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222116.4]
  wire  _T_977; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222117.4]
  wire  _T_978; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222118.4]
  wire  _T_979; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222119.4]
  wire  _T_980; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222120.4]
  wire  _T_981; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222121.4]
  wire  _T_982; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222122.4]
  wire  _T_983; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222123.4]
  wire  _T_984; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222124.4]
  wire  _T_985; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222125.4]
  wire  _T_986; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222126.4]
  wire  _T_987; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222127.4]
  wire  _T_988; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222128.4]
  wire  _T_989; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222129.4]
  wire  _T_990; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222130.4]
  wire  _T_991; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222131.4]
  wire  _T_992; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222132.4]
  wire  _T_993; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222133.4]
  wire  _T_994; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222134.4]
  wire  _T_995; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222135.4]
  wire  _T_996; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222136.4]
  wire  _T_997; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222137.4]
  wire  _T_998; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222138.4]
  wire  _T_999; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222139.4]
  wire  _T_1000; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222140.4]
  wire  _T_1001; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222141.4]
  wire  _T_1002; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222142.4]
  wire  _T_1003; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222143.4]
  wire  _T_1004; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222144.4]
  wire  _T_1005; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222145.4]
  wire  _T_1006; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222146.4]
  wire  _T_1007; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222147.4]
  wire  _T_1008; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222148.4]
  wire  _T_1009; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222149.4]
  wire  _T_1010; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222150.4]
  wire  _T_1011; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222151.4]
  wire  _T_1012; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222152.4]
  wire  _T_1013; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222153.4]
  wire  _T_1014; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222154.4]
  wire  _T_1015; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222155.4]
  wire  _T_1016; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222156.4]
  wire  _T_1017; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222157.4]
  wire  _T_1018; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222158.4]
  wire  _T_1019; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222159.4]
  wire  _T_1020; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222160.4]
  wire  _T_1021; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222161.4]
  wire  _T_1022; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222162.4]
  wire  _T_1023; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222163.4]
  wire  _T_1024; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222164.4]
  wire  _T_1025; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222165.4]
  wire  _T_1026; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222166.4]
  wire  _T_1027; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222167.4]
  wire  _T_1028; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222168.4]
  wire  _T_1029; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222169.4]
  wire  _T_1030; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222170.4]
  wire  _T_1031; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  wire  _T_1032; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  wire  _T_1033; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  wire  _T_1034; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222174.4]
  wire  _T_1035; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222175.4]
  wire  _T_1036; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222176.4]
  wire  _T_1037; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222177.4]
  wire  _T_1038; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  wire  _T_1039; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  wire  _T_1040; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  wire  _T_1041; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  wire  _T_1042; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  wire  _T_1043; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  wire  _T_1044; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  wire  _T_1045; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  wire  _T_1046; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  wire  _T_1047; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222187.4]
  wire  _T_1048; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222188.4]
  wire  _T_1049; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222189.4]
  wire  _T_1050; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222190.4]
  wire  _T_1051; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222191.4]
  wire  _T_1052; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  wire  _T_1053; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  wire  _T_1054; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222194.4]
  wire  _T_1055; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222195.4]
  wire  _T_1056; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222196.4]
  wire  _T_1057; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  _T_1058; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222198.4]
  wire  _T_1059; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222199.4]
  wire  _T_1060; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222200.4]
  wire  _T_1061; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  wire  _T_1062; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  _T_1063; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222203.4]
  wire  _T_1064; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222204.4]
  wire  _T_1065; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222205.4]
  wire  _T_1066; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  _T_1067; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222207.4]
  wire  _T_1068; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222208.4]
  wire  _T_1069; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222209.4]
  wire  _T_1070; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222210.4]
  wire  _T_1071; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222211.4]
  wire  _T_1072; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222212.4]
  wire  _T_1073; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222213.4]
  wire  _T_1074; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222214.4]
  wire  _T_1075; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222215.4]
  wire  _T_1076; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  wire  _T_1077; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222217.4]
  wire  _T_1078; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222218.4]
  wire  _T_1079; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222219.4]
  wire  _T_1080; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  wire  _T_1081; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222221.4]
  wire  _T_1082; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222222.4]
  wire  _T_1083; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222223.4]
  wire  _T_1084; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222224.4]
  wire  _T_1085; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  wire  _T_1086; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  wire  _T_1087; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  wire  _T_1088; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  wire  _T_1089; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222229.4]
  wire  _T_1090; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222230.4]
  wire  _T_1091; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222231.4]
  wire  _T_1092; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222232.4]
  wire  _T_1093; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222233.4]
  wire  _T_1094; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222234.4]
  wire  _T_1095; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222235.4]
  wire  _T_1096; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222236.4]
  wire  _T_1097; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222237.4]
  wire  _T_1098; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222238.4]
  wire  _T_1099; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222239.4]
  wire  _T_1100; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222240.4]
  wire  _T_1101; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222241.4]
  wire  _T_1102; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222242.4]
  wire  _T_1103; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222243.4]
  wire  _T_1104; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222244.4]
  wire  _T_1105; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222245.4]
  wire  _T_1106; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222246.4]
  wire  _T_1107; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222247.4]
  wire  _T_1108; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222248.4]
  wire  _T_1109; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222249.4]
  wire  _T_1110; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222250.4]
  wire  _T_1111; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222251.4]
  wire  _T_1112; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222252.4]
  wire  _T_1113; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222253.4]
  wire  _T_1114; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222254.4]
  wire  _T_1115; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222255.4]
  wire  _T_1116; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222256.4]
  wire  _T_1117; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222257.4]
  wire  _T_1118; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  wire  _T_1119; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222259.4]
  wire  _T_1120; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222260.4]
  wire  _T_1121; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222261.4]
  wire  _T_1122; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222262.4]
  wire  _T_1123; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222263.4]
  wire  _T_1124; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  wire  _T_1125; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222265.4]
  wire  _T_1126; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222266.4]
  wire  _T_1127; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222267.4]
  wire  _T_1128; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222268.4]
  wire  _T_1129; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222269.4]
  wire  _T_1130; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222270.4]
  wire  _T_1131; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222271.4]
  wire  _T_1132; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222272.4]
  wire  _T_1133; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222273.4]
  wire  _T_1134; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222274.4]
  wire  _T_1135; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222275.4]
  wire  _T_1136; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222276.4]
  wire  _T_1137; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222277.4]
  wire  _T_1138; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222278.4]
  wire  _T_1139; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222279.4]
  wire  _T_1140; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222280.4]
  wire  _T_1141; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222281.4]
  wire  _T_1142; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222282.4]
  wire  _T_1143; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222283.4]
  wire  _T_1144; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222284.4]
  wire  _T_1145; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222285.4]
  wire  _T_1146; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
  wire  _T_1147; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222287.4]
  wire  _T_1148; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222288.4]
  wire  _T_1149; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222289.4]
  wire  _T_1150; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222290.4]
  wire  _T_1151; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222291.4]
  wire  _T_1152; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222292.4]
  wire  _T_1153; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222293.4]
  wire  _T_1154; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222294.4]
  wire  _T_1155; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222295.4]
  wire  _T_1156; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222296.4]
  wire  _T_1157; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222297.4]
  wire  _T_1158; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
  wire  _T_1159; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222299.4]
  wire  _T_1160; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222300.4]
  wire  _T_1161; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222301.4]
  wire  _T_1162; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222302.4]
  wire  _T_1163; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222303.4]
  wire  _T_1164; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222304.4]
  wire  _T_1165; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222305.4]
  wire  _T_1166; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222306.4]
  wire  _T_1167; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222307.4]
  wire  _T_1168; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222308.4]
  wire  _T_1169; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222309.4]
  wire  _T_1170; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222310.4]
  wire  _T_1171; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222311.4]
  wire  _T_1172; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222312.4]
  wire  _T_1173; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222313.4]
  wire  _T_1174; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222314.4]
  wire  _T_1175; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222315.4]
  wire  _T_1176; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222316.4]
  wire  _T_1177; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222317.4]
  wire  _T_1178; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222318.4]
  wire  _T_1179; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222319.4]
  wire  _T_1180; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222320.4]
  wire  _T_1181; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222321.4]
  wire  _T_1182; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222322.4]
  wire  _T_1183; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222323.4]
  wire  _T_1184; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222324.4]
  wire  _T_1185; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222325.4]
  wire  _T_1186; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222326.4]
  wire  _T_1187; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222327.4]
  wire  _T_1188; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222328.4]
  wire  _T_1189; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222329.4]
  wire  _T_1190; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222330.4]
  wire  _T_1191; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222331.4]
  wire  _T_1192; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222332.4]
  wire  _T_1193; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222333.4]
  wire  _T_1194; // @[CSR.scala 503:7:shc.marmotcaravel.MarmotCaravelConfig.fir@222334.4]
  wire  _T_1213; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222353.4]
  wire  _T_1214; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  wire  _T_1217; // @[CSR.scala 506:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222357.4]
  wire  _T_1218; // @[CSR.scala 505:148:shc.marmotcaravel.MarmotCaravelConfig.fir@222358.4]
  wire  _T_1219; // @[CSR.scala 507:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222359.4]
  wire [1:0] _T_1221; // @[CSR.scala 508:39:shc.marmotcaravel.MarmotCaravelConfig.fir@222362.4]
  wire [1:0] _T_1222; // @[CSR.scala 508:47:shc.marmotcaravel.MarmotCaravelConfig.fir@222363.4]
  wire  _T_1224; // @[CSR.scala 509:40:shc.marmotcaravel.MarmotCaravelConfig.fir@222366.4]
  wire  _T_1225; // @[CSR.scala 509:71:shc.marmotcaravel.MarmotCaravelConfig.fir@222367.4]
  wire  _T_1226; // @[CSR.scala 509:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222368.4]
  wire  _T_1227; // @[CSR.scala 509:102:shc.marmotcaravel.MarmotCaravelConfig.fir@222369.4]
  wire  _T_1228; // @[CSR.scala 509:133:shc.marmotcaravel.MarmotCaravelConfig.fir@222370.4]
  wire  _T_1229; // @[CSR.scala 509:119:shc.marmotcaravel.MarmotCaravelConfig.fir@222371.4]
  wire  _T_1230; // @[CSR.scala 509:88:shc.marmotcaravel.MarmotCaravelConfig.fir@222372.4]
  wire [31:0] _T_1245; // @[CSR.scala 518:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222389.4]
  wire [31:0] cause; // @[CSR.scala 517:8:shc.marmotcaravel.MarmotCaravelConfig.fir@222390.4]
  wire [7:0] cause_lsbs; // @[CSR.scala 519:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222391.4]
  wire  _T_1246; // @[CSR.scala 520:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222392.4]
  wire  _T_1247; // @[CSR.scala 520:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222393.4]
  wire  causeIsDebugInt; // @[CSR.scala 520:39:shc.marmotcaravel.MarmotCaravelConfig.fir@222394.4]
  wire  _T_1249; // @[CSR.scala 521:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222396.4]
  wire  causeIsDebugTrigger; // @[CSR.scala 521:44:shc.marmotcaravel.MarmotCaravelConfig.fir@222398.4]
  wire  _T_1253; // @[CSR.scala 522:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222401.4]
  wire [1:0] _T_1255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222403.4]
  wire [3:0] _T_1256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222404.4]
  wire [3:0] _T_1257; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@222405.4]
  wire  _T_1258; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@222406.4]
  wire  causeIsDebugBreak; // @[CSR.scala 522:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222407.4]
  wire  _T_1259; // @[CSR.scala 523:60:shc.marmotcaravel.MarmotCaravelConfig.fir@222408.4]
  wire  _T_1260; // @[CSR.scala 523:79:shc.marmotcaravel.MarmotCaravelConfig.fir@222409.4]
  wire  _T_1261; // @[CSR.scala 523:102:shc.marmotcaravel.MarmotCaravelConfig.fir@222410.4]
  wire  trapToDebug; // @[CSR.scala 523:123:shc.marmotcaravel.MarmotCaravelConfig.fir@222411.4]
  wire [11:0] _T_1263; // @[CSR.scala 524:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222413.4]
  wire [11:0] debugTVec; // @[CSR.scala 524:22:shc.marmotcaravel.MarmotCaravelConfig.fir@222414.4]
  wire [4:0] _T_1273; // @[CSR.scala 533:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222425.4]
  wire [6:0] _GEN_455; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@222426.4]
  wire [6:0] _T_1274; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@222426.4]
  wire [24:0] _T_1275; // @[CSR.scala 534:33:shc.marmotcaravel.MarmotCaravelConfig.fir@222427.4]
  wire [31:0] _T_1276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222428.4]
  wire  _T_1277; // @[CSR.scala 535:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222429.4]
  wire  _T_1279; // @[CSR.scala 535:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222431.4]
  wire [2:0] _T_1280; // @[CSR.scala 535:70:shc.marmotcaravel.MarmotCaravelConfig.fir@222432.4]
  wire  _T_1281; // @[CSR.scala 535:94:shc.marmotcaravel.MarmotCaravelConfig.fir@222433.4]
  wire  _T_1282; // @[CSR.scala 535:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222434.4]
  wire [31:0] notDebugTVec; // @[CSR.scala 536:8:shc.marmotcaravel.MarmotCaravelConfig.fir@222435.4]
  wire [31:0] tvec; // @[CSR.scala 538:17:shc.marmotcaravel.MarmotCaravelConfig.fir@222436.4]
  wire  _T_1283; // @[CSR.scala 541:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222439.4]
  wire [1:0] _T_1287; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222446.4]
  wire  _T_1288; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222447.4]
  wire [1:0] _T_1289; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222448.4]
  wire  _T_1290; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222449.4]
  wire  exception; // @[CSR.scala 553:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222464.4]
  wire [1:0] _T_1298; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222465.4]
  wire [1:0] _T_1299; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222466.4]
  wire [2:0] _T_1300; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222467.4]
  wire  _T_1301; // @[CSR.scala 554:79:shc.marmotcaravel.MarmotCaravelConfig.fir@222468.4]
  wire  _T_1303; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222470.4]
  wire  _T_1304; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222471.4]
  wire  _T_1306; // @[CSR.scala 556:18:shc.marmotcaravel.MarmotCaravelConfig.fir@222477.4]
  wire  _T_1308; // @[CSR.scala 556:36:shc.marmotcaravel.MarmotCaravelConfig.fir@222479.4]
  wire  _T_1309; // @[CSR.scala 557:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.4]
  wire  _T_1310; // @[CSR.scala 557:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222484.4]
  wire  _T_1311; // @[CSR.scala 557:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222485.4]
  wire  _T_1313; // @[CSR.scala 559:22:shc.marmotcaravel.MarmotCaravelConfig.fir@222490.4]
  wire  _T_1321; // @[CSR.scala 562:10:shc.marmotcaravel.MarmotCaravelConfig.fir@222508.4]
  wire  _T_1322; // @[CSR.scala 562:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222509.4]
  wire  _T_1323; // @[CSR.scala 562:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222510.4]
  wire  _T_1325; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222512.4]
  wire  _T_1326; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222513.4]
  wire [31:0] _T_1327; // @[CSR.scala 907:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222518.4]
  wire [31:0] _T_1328; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222519.4]
  wire [31:0] epc; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222520.4]
  wire [1:0] _T_1331; // @[CSR.scala 573:86:shc.marmotcaravel.MarmotCaravelConfig.fir@222530.10]
  wire [1:0] _T_1332; // @[CSR.scala 573:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222531.10]
  wire [1:0] _GEN_48; // @[CSR.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222539.8]
  wire [1:0] _GEN_67; // @[CSR.scala 569:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222525.6]
  wire [1:0] _GEN_85; // @[CSR.scala 568:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222524.4]
  wire  _T_1542; // @[CSR.scala 623:47:shc.marmotcaravel.MarmotCaravelConfig.fir@222777.8]
  wire [31:0] _GEN_95; // @[CSR.scala 623:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222779.8]
  wire  _T_1555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222816.4]
  wire [31:0] _T_1556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222817.4]
  wire [31:0] _T_1557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222818.4]
  wire [31:0] _T_1558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222819.4]
  wire [31:0] _T_1559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222820.4]
  wire [31:0] _T_1560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222821.4]
  wire [15:0] _T_1561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222822.4]
  wire [31:0] _T_1562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222823.4]
  wire [31:0] _T_1563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222824.4]
  wire [31:0] _T_1564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222825.4]
  wire [31:0] _T_1565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222826.4]
  wire [31:0] _T_1566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222827.4]
  wire  _T_1567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222828.4]
  wire [31:0] _T_1568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222829.4]
  wire [31:0] _T_1569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222830.4]
  wire [31:0] _T_1570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222831.4]
  wire [63:0] _T_1571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222832.4]
  wire [63:0] _T_1572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222833.4]
  wire [31:0] _T_1660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222921.4]
  wire [31:0] _T_1661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222922.4]
  wire [31:0] _T_1662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222923.4]
  wire [31:0] _T_1663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222924.4]
  wire [29:0] _T_1666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222927.4]
  wire [29:0] _T_1667; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222928.4]
  wire [29:0] _T_1668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222929.4]
  wire [29:0] _T_1669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222930.4]
  wire [29:0] _T_1670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222931.4]
  wire [29:0] _T_1671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222932.4]
  wire [29:0] _T_1672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222933.4]
  wire [29:0] _T_1673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222934.4]
  wire [31:0] _T_1683; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222944.4]
  wire [31:0] _T_1685; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222946.4]
  wire [31:0] _GEN_458; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222947.4]
  wire [31:0] _T_1686; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222947.4]
  wire [31:0] _T_1687; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222948.4]
  wire [31:0] _T_1688; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222949.4]
  wire [31:0] _T_1689; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222950.4]
  wire [31:0] _T_1690; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222951.4]
  wire [31:0] _GEN_459; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222952.4]
  wire [31:0] _T_1691; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222952.4]
  wire [31:0] _T_1692; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222953.4]
  wire [31:0] _T_1693; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222954.4]
  wire [31:0] _T_1694; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222955.4]
  wire [31:0] _T_1695; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222956.4]
  wire [31:0] _T_1696; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222957.4]
  wire [31:0] _GEN_460; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222958.4]
  wire [31:0] _T_1697; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222958.4]
  wire [31:0] _T_1698; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222959.4]
  wire [31:0] _T_1699; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222960.4]
  wire [31:0] _T_1700; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222961.4]
  wire [63:0] _GEN_461; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222962.4]
  wire [63:0] _T_1701; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222962.4]
  wire [63:0] _T_1702; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222963.4]
  wire [63:0] _GEN_462; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223051.4]
  wire [63:0] _T_1790; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223051.4]
  wire [63:0] _GEN_463; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223052.4]
  wire [63:0] _T_1791; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223052.4]
  wire [63:0] _GEN_464; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223053.4]
  wire [63:0] _T_1792; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223053.4]
  wire [63:0] _GEN_465; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223054.4]
  wire [63:0] _T_1793; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223054.4]
  wire [63:0] _GEN_466; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223057.4]
  wire [63:0] _T_1796; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223057.4]
  wire [63:0] _GEN_467; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223058.4]
  wire [63:0] _T_1797; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223058.4]
  wire [63:0] _GEN_468; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223059.4]
  wire [63:0] _T_1798; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223059.4]
  wire [63:0] _GEN_469; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223060.4]
  wire [63:0] _T_1799; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223060.4]
  wire [63:0] _GEN_470; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223061.4]
  wire [63:0] _T_1800; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223061.4]
  wire [63:0] _GEN_471; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223062.4]
  wire [63:0] _T_1801; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223062.4]
  wire [63:0] _GEN_472; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223063.4]
  wire [63:0] _T_1802; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223063.4]
  wire [63:0] _GEN_473; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223064.4]
  wire [63:0] _T_1803; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223064.4]
  wire [63:0] _GEN_474; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223074.4]
  wire [63:0] _T_1813; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223074.4]
  wire [63:0] _GEN_475; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223076.4]
  wire [63:0] _T_1815; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223076.4]
  wire  _T_1818; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@223080.4]
  wire  _T_1819; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@223081.4]
  wire  _T_1820; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@223082.4]
  wire  _T_3002; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224271.4]
  wire  csr_wen; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224272.4]
  wire [100:0] _T_3019; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224290.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224292.8]
  wire  _T_3023; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224299.8]
  wire  _T_3027; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224307.8]
  wire  _T_3049; // @[CSR.scala 694:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224355.8]
  wire  _T_3050; // @[CSR.scala 696:39:shc.marmotcaravel.MarmotCaravelConfig.fir@224356.8]
  wire  _T_3051; // @[CSR.scala 696:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224357.8]
  wire  _T_3053; // @[CSR.scala 696:51:shc.marmotcaravel.MarmotCaravelConfig.fir@224359.8]
  wire  _T_3054; // @[CSR.scala 696:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224360.8]
  wire [31:0] _T_3055; // @[CSR.scala 698:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224362.10]
  wire  _T_3056; // @[CSR.scala 698:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224363.10]
  wire [3:0] _GEN_476; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224364.10]
  wire [3:0] _T_3057; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224364.10]
  wire [31:0] _GEN_477; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224365.10]
  wire [31:0] _T_3058; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224365.10]
  wire [31:0] _T_3059; // @[CSR.scala 698:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224366.10]
  wire [31:0] _T_3060; // @[CSR.scala 698:55:shc.marmotcaravel.MarmotCaravelConfig.fir@224367.10]
  wire [31:0] _T_3062; // @[CSR.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@224369.10]
  wire [31:0] _T_3063; // @[CSR.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224370.10]
  wire [31:0] _T_3115; // @[CSR.scala 713:59:shc.marmotcaravel.MarmotCaravelConfig.fir@224438.8]
  wire [31:0] _T_3117; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224443.8]
  wire [31:0] _T_3118; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224444.8]
  wire [31:0] _T_3120; // @[CSR.scala 717:64:shc.marmotcaravel.MarmotCaravelConfig.fir@224452.8]
  wire  _T_3121; // @[CSR.scala 717:81:shc.marmotcaravel.MarmotCaravelConfig.fir@224453.8]
  wire [6:0] _T_3122; // @[CSR.scala 717:75:shc.marmotcaravel.MarmotCaravelConfig.fir@224454.8]
  wire [31:0] _GEN_478; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@224455.8]
  wire [31:0] _T_3123; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@224455.8]
  wire [31:0] _T_3124; // @[CSR.scala 717:55:shc.marmotcaravel.MarmotCaravelConfig.fir@224456.8]
  wire [31:0] _T_3125; // @[CSR.scala 718:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224460.8]
  wire [31:0] _T_3127; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224468.8]
  wire [63:0] _T_3128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224469.8]
  wire [57:0] _T_3129; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224471.8]
  wire [63:0] _GEN_129; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224467.6]
  wire [31:0] _T_3131; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@224476.8]
  wire [63:0] _T_3132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224477.8]
  wire [57:0] _T_3133; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224479.8]
  wire [63:0] _GEN_131; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224474.6]
  wire [31:0] _T_3134; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224483.8]
  wire [63:0] _T_3135; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224484.8]
  wire [57:0] _T_3136; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224486.8]
  wire [63:0] _GEN_133; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224482.6]
  wire [31:0] _T_3138; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@224491.8]
  wire [63:0] _T_3139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224492.8]
  wire [57:0] _T_3140; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224494.8]
  wire [63:0] _GEN_135; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224489.6]
  wire  _T_3152; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224515.8]
  wire  _T_3153; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224517.8]
  wire  _T_3156; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224523.8]
  wire [31:0] _GEN_141; // @[CSR.scala 786:41:shc.marmotcaravel.MarmotCaravelConfig.fir@224543.6]
  wire  _T_3164; // @[CSR.scala 789:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224546.6]
  wire  _T_3165; // @[CSR.scala 789:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224547.6]
  wire  _T_3172; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224557.10]
  wire [1:0] _T_3178; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224569.10]
  wire  _T_3184; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224581.10]
  wire  _T_3186; // @[CSR.scala 792:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224585.10]
  wire  _T_3187; // @[CSR.scala 795:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224588.10]
  wire  _T_3188; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224595.6]
  wire  _T_3189; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224596.6]
  wire [7:0] _T_3195; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224601.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224603.8]
  wire  _T_3196; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224604.8]
  wire  _T_3197; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224606.8]
  wire  _T_3198; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224608.8]
  wire [1:0] _T_3199; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224610.8]
  wire  _T_3201; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224614.8]
  wire  _T_3202; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224618.6]
  wire  _T_3203; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224619.6]
  wire  _T_3205; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224621.6]
  wire  _T_3206; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224622.6]
  wire  _T_3207; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224623.6]
  wire  _T_3208; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224624.6]
  wire  _T_3209; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224625.6]
  wire [31:0] _GEN_248; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224626.6]
  wire  _T_3210; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224629.6]
  wire  _T_3211; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224630.6]
  wire [23:0] _T_3213; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@224632.8]
  wire [7:0] _T_3217; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224635.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224637.8]
  wire  _T_3218; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224638.8]
  wire  _T_3219; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224640.8]
  wire  _T_3220; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224642.8]
  wire [1:0] _T_3221; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224644.8]
  wire  _T_3223; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224648.8]
  wire  _T_3224; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224652.6]
  wire  _T_3225; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224653.6]
  wire  _T_3227; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224655.6]
  wire  _T_3228; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224656.6]
  wire  _T_3229; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224657.6]
  wire  _T_3230; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224658.6]
  wire  _T_3231; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224659.6]
  wire [31:0] _GEN_255; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224660.6]
  wire  _T_3232; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224663.6]
  wire  _T_3233; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224664.6]
  wire [15:0] _T_3235; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@224666.8]
  wire [7:0] _T_3239; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224669.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224671.8]
  wire  _T_3240; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224672.8]
  wire  _T_3241; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224674.8]
  wire  _T_3242; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224676.8]
  wire [1:0] _T_3243; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224678.8]
  wire  _T_3245; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224682.8]
  wire  _T_3246; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224686.6]
  wire  _T_3247; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224687.6]
  wire  _T_3249; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224689.6]
  wire  _T_3250; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224690.6]
  wire  _T_3251; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224691.6]
  wire  _T_3252; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224692.6]
  wire  _T_3253; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224693.6]
  wire [31:0] _GEN_262; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224694.6]
  wire  _T_3254; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224697.6]
  wire  _T_3255; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224698.6]
  wire [7:0] _T_3257; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@224700.8]
  wire  _T_3262; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224706.8]
  wire  _T_3263; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224708.8]
  wire  _T_3264; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224710.8]
  wire [1:0] _T_3265; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224712.8]
  wire  _T_3267; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224716.8]
  wire  _T_3268; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224720.6]
  wire  _T_3269; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224721.6]
  wire  _T_3271; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224723.6]
  wire  _T_3272; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224724.6]
  wire  _T_3273; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224725.6]
  wire  _T_3274; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224726.6]
  wire  _T_3275; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224727.6]
  wire [31:0] _GEN_269; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224728.6]
  wire  _T_3276; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224731.6]
  wire  _T_3277; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224732.6]
  wire  _T_3290; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224754.6]
  wire  _T_3291; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224755.6]
  wire  _T_3293; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224757.6]
  wire  _T_3294; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224758.6]
  wire  _T_3295; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224759.6]
  wire  _T_3296; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224760.6]
  wire  _T_3297; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224761.6]
  wire [31:0] _GEN_276; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224762.6]
  wire  _T_3298; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224765.6]
  wire  _T_3299; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224766.6]
  wire  _T_3312; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224788.6]
  wire  _T_3313; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224789.6]
  wire  _T_3315; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224791.6]
  wire  _T_3316; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224792.6]
  wire  _T_3317; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224793.6]
  wire  _T_3318; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224794.6]
  wire  _T_3319; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224795.6]
  wire [31:0] _GEN_283; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224796.6]
  wire  _T_3320; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224799.6]
  wire  _T_3321; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224800.6]
  wire  _T_3334; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224822.6]
  wire  _T_3335; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224823.6]
  wire  _T_3337; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224825.6]
  wire  _T_3338; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224826.6]
  wire  _T_3339; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224827.6]
  wire  _T_3340; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224828.6]
  wire  _T_3341; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224829.6]
  wire [31:0] _GEN_290; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224830.6]
  wire  _T_3342; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224833.6]
  wire  _T_3343; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224834.6]
  wire  _T_3361; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224861.6]
  wire  _T_3362; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224862.6]
  wire  _T_3363; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224863.6]
  wire [31:0] _GEN_297; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224864.6]
  wire [63:0] _GEN_315; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [63:0] _GEN_317; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_323; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_362; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_369; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_376; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_383; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_390; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_397; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_404; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire [31:0] _GEN_411; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  wire  _T_3392; // @[CSR.scala 865:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224989.4]
  assign _GEN_446 = {{5'd0}, io_retire}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.4]
  assign _T_259 = _T_258 + _GEN_446; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.4]
  assign _T_262 = _T_259[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221343.4]
  assign _T_264 = _T_261 + 58'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221346.6]
  assign _T_265 = {_T_261,_T_258}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221349.4]
  assign _T_266 = reg_wfi == 1'h0; // @[CSR.scala 320:103:shc.marmotcaravel.MarmotCaravelConfig.fir@221350.4]
  assign _GEN_447 = {{5'd0}, _T_266}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.4]
  assign _T_269 = _T_268 + _GEN_447; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.4]
  assign _T_272 = _T_269[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221355.4]
  assign _T_274 = _T_271 + 58'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221358.6]
  assign _T_275 = {_T_271,_T_268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221361.4]
  assign _T_282 = {io_interrupts_msip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221370.4]
  assign _T_283 = {_T_282,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221371.4]
  assign _T_285 = {io_interrupts_mtip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221373.4]
  assign _T_286 = {_T_285,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221374.4]
  assign _T_287 = {_T_286,_T_283}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221375.4]
  assign _T_289 = {io_interrupts_meip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221377.4]
  assign _T_290 = {_T_289,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221378.4]
  assign _T_294 = {4'h0,_T_290}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221382.4]
  assign _T_295 = {_T_294,_T_287}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221383.4]
  assign read_mip = _T_295 & 16'h888; // @[CSR.scala 333:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221384.4]
  assign _GEN_448 = {{16'd0}, read_mip}; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221385.4]
  assign pending_interrupts = _GEN_448 & reg_mie; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221385.4]
  assign _GEN_449 = {{14'd0}, io_interrupts_debug}; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.4]
  assign d_interrupts = _GEN_449 << 14; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.4]
  assign _T_299 = ~ pending_interrupts; // @[CSR.scala 338:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221390.4]
  assign _T_301 = ~ _T_299; // @[CSR.scala 338:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221392.4]
  assign m_interrupts = reg_mstatus_mie ? _T_301 : 32'h0; // @[CSR.scala 338:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221393.4]
  assign _T_307 = d_interrupts[14]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221400.4]
  assign _T_308 = d_interrupts[13]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221401.4]
  assign _T_309 = d_interrupts[12]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221402.4]
  assign _T_310 = d_interrupts[11]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221403.4]
  assign _T_311 = d_interrupts[3]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221404.4]
  assign _T_312 = d_interrupts[7]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221405.4]
  assign _T_313 = d_interrupts[9]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221406.4]
  assign _T_314 = d_interrupts[1]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221407.4]
  assign _T_315 = d_interrupts[5]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221408.4]
  assign _T_316 = d_interrupts[8]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221409.4]
  assign _T_317 = d_interrupts[0]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221410.4]
  assign _T_318 = d_interrupts[4]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221411.4]
  assign _T_319 = m_interrupts[15]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221412.4]
  assign _T_320 = m_interrupts[14]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221413.4]
  assign _T_321 = m_interrupts[13]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221414.4]
  assign _T_322 = m_interrupts[12]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221415.4]
  assign _T_323 = m_interrupts[11]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221416.4]
  assign _T_324 = m_interrupts[3]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221417.4]
  assign _T_325 = m_interrupts[7]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221418.4]
  assign _T_326 = m_interrupts[9]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221419.4]
  assign _T_327 = m_interrupts[1]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221420.4]
  assign _T_328 = m_interrupts[5]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221421.4]
  assign _T_329 = m_interrupts[8]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221422.4]
  assign _T_330 = m_interrupts[0]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221423.4]
  assign _T_331 = m_interrupts[4]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221424.4]
  assign _T_345 = _T_307 | _T_308; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221438.4]
  assign _T_346 = _T_345 | _T_309; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221439.4]
  assign _T_347 = _T_346 | _T_310; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221440.4]
  assign _T_348 = _T_347 | _T_311; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221441.4]
  assign _T_349 = _T_348 | _T_312; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221442.4]
  assign _T_350 = _T_349 | _T_313; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221443.4]
  assign _T_351 = _T_350 | _T_314; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221444.4]
  assign _T_352 = _T_351 | _T_315; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221445.4]
  assign _T_353 = _T_352 | _T_316; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221446.4]
  assign _T_354 = _T_353 | _T_317; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221447.4]
  assign _T_355 = _T_354 | _T_318; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221448.4]
  assign _T_356 = _T_355 | _T_319; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221449.4]
  assign _T_357 = _T_356 | _T_320; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221450.4]
  assign _T_358 = _T_357 | _T_321; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221451.4]
  assign _T_359 = _T_358 | _T_322; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221452.4]
  assign _T_360 = _T_359 | _T_323; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221453.4]
  assign _T_361 = _T_360 | _T_324; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221454.4]
  assign _T_362 = _T_361 | _T_325; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221455.4]
  assign _T_363 = _T_362 | _T_326; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221456.4]
  assign _T_364 = _T_363 | _T_327; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221457.4]
  assign _T_365 = _T_364 | _T_328; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221458.4]
  assign _T_366 = _T_365 | _T_329; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221459.4]
  assign _T_367 = _T_366 | _T_330; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221460.4]
  assign anyInterrupt = _T_367 | _T_331; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221461.4]
  assign _T_432 = _T_330 ? 4'h0 : 4'h4; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221526.4]
  assign _T_433 = _T_329 ? 4'h8 : _T_432; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221527.4]
  assign _T_434 = _T_328 ? 4'h5 : _T_433; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221528.4]
  assign _T_435 = _T_327 ? 4'h1 : _T_434; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221529.4]
  assign _T_436 = _T_326 ? 4'h9 : _T_435; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221530.4]
  assign _T_437 = _T_325 ? 4'h7 : _T_436; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221531.4]
  assign _T_438 = _T_324 ? 4'h3 : _T_437; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221532.4]
  assign _T_439 = _T_323 ? 4'hb : _T_438; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221533.4]
  assign _T_440 = _T_322 ? 4'hc : _T_439; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221534.4]
  assign _T_441 = _T_321 ? 4'hd : _T_440; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221535.4]
  assign _T_442 = _T_320 ? 4'he : _T_441; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221536.4]
  assign _T_443 = _T_319 ? 4'hf : _T_442; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221537.4]
  assign _T_444 = _T_318 ? 4'h4 : _T_443; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221538.4]
  assign _T_445 = _T_317 ? 4'h0 : _T_444; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221539.4]
  assign _T_446 = _T_316 ? 4'h8 : _T_445; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221540.4]
  assign _T_447 = _T_315 ? 4'h5 : _T_446; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221541.4]
  assign _T_448 = _T_314 ? 4'h1 : _T_447; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221542.4]
  assign _T_449 = _T_313 ? 4'h9 : _T_448; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221543.4]
  assign _T_450 = _T_312 ? 4'h7 : _T_449; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221544.4]
  assign _T_451 = _T_311 ? 4'h3 : _T_450; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221545.4]
  assign _T_452 = _T_310 ? 4'hb : _T_451; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221546.4]
  assign _T_453 = _T_309 ? 4'hc : _T_452; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221547.4]
  assign _T_454 = _T_308 ? 4'hd : _T_453; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221548.4]
  assign whichInterrupt = _T_307 ? 4'he : _T_454; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221549.4]
  assign _GEN_450 = {{28'd0}, whichInterrupt}; // @[CSR.scala 342:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221550.4]
  assign _T_456 = io_singleStep == 1'h0; // @[CSR.scala 343:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221552.4]
  assign _T_457 = anyInterrupt & _T_456; // @[CSR.scala 343:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221553.4]
  assign _T_458 = _T_457 | reg_singleStepped; // @[CSR.scala 343:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221554.4]
  assign _T_459 = reg_debug == 1'h0; // @[CSR.scala 343:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221555.4]
  assign _T_463 = reg_pmp_0_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221564.4]
  assign _T_464 = {reg_pmp_0_addr,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
  assign _T_467 = _T_464 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221568.4]
  assign _T_468 = ~ _T_467; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221569.4]
  assign _T_469 = _T_464 & _T_468; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221570.4]
  assign _T_470 = {_T_469,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221571.4]
  assign _T_473 = reg_pmp_1_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221576.4]
  assign _T_474 = {reg_pmp_1_addr,_T_473}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221577.4]
  assign _T_477 = _T_474 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221580.4]
  assign _T_478 = ~ _T_477; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221581.4]
  assign _T_479 = _T_474 & _T_478; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221582.4]
  assign _T_480 = {_T_479,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221583.4]
  assign _T_483 = reg_pmp_2_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221588.4]
  assign _T_484 = {reg_pmp_2_addr,_T_483}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221589.4]
  assign _T_487 = _T_484 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221592.4]
  assign _T_488 = ~ _T_487; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221593.4]
  assign _T_489 = _T_484 & _T_488; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221594.4]
  assign _T_490 = {_T_489,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221595.4]
  assign _T_493 = reg_pmp_3_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221600.4]
  assign _T_494 = {reg_pmp_3_addr,_T_493}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221601.4]
  assign _T_497 = _T_494 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221604.4]
  assign _T_498 = ~ _T_497; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221605.4]
  assign _T_499 = _T_494 & _T_498; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221606.4]
  assign _T_500 = {_T_499,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221607.4]
  assign _T_503 = reg_pmp_4_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221612.4]
  assign _T_504 = {reg_pmp_4_addr,_T_503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221613.4]
  assign _T_507 = _T_504 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221616.4]
  assign _T_508 = ~ _T_507; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221617.4]
  assign _T_509 = _T_504 & _T_508; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221618.4]
  assign _T_510 = {_T_509,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221619.4]
  assign _T_513 = reg_pmp_5_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221624.4]
  assign _T_514 = {reg_pmp_5_addr,_T_513}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221625.4]
  assign _T_517 = _T_514 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221628.4]
  assign _T_518 = ~ _T_517; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221629.4]
  assign _T_519 = _T_514 & _T_518; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221630.4]
  assign _T_520 = {_T_519,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221631.4]
  assign _T_523 = reg_pmp_6_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221636.4]
  assign _T_524 = {reg_pmp_6_addr,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221637.4]
  assign _T_527 = _T_524 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221640.4]
  assign _T_528 = ~ _T_527; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221641.4]
  assign _T_529 = _T_524 & _T_528; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221642.4]
  assign _T_530 = {_T_529,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221643.4]
  assign _T_533 = reg_pmp_7_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221648.4]
  assign _T_534 = {reg_pmp_7_addr,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign _T_537 = _T_534 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221652.4]
  assign _T_538 = ~ _T_537; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221653.4]
  assign _T_539 = _T_534 & _T_538; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221654.4]
  assign _T_540 = {_T_539,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221655.4]
  assign _T_542 = {io_status_hie,io_status_sie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
  assign _T_543 = {_T_542,io_status_uie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221667.4]
  assign _T_544 = {io_status_upie,io_status_mie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221668.4]
  assign _T_545 = {io_status_hpie,io_status_spie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221669.4]
  assign _T_546 = {_T_545,_T_544}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221670.4]
  assign _T_547 = {_T_546,_T_543}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221671.4]
  assign _T_548 = {io_status_hpp,io_status_spp}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221672.4]
  assign _T_549 = {_T_548,io_status_mpie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221673.4]
  assign _T_550 = {io_status_fs,io_status_mpp}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221674.4]
  assign _T_551 = {io_status_mprv,io_status_xs}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221675.4]
  assign _T_552 = {_T_551,_T_550}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221676.4]
  assign _T_553 = {_T_552,_T_549}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221677.4]
  assign _T_554 = {_T_553,_T_547}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221678.4]
  assign _T_555 = {io_status_tvm,io_status_mxr}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221679.4]
  assign _T_556 = {_T_555,io_status_sum}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221680.4]
  assign _T_557 = {io_status_tsr,io_status_tw}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221681.4]
  assign _T_558 = {io_status_sd_rv32,io_status_zero1}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221682.4]
  assign _T_559 = {_T_558,_T_557}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221683.4]
  assign _T_560 = {_T_559,_T_556}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221684.4]
  assign _T_561 = {io_status_sxl,io_status_uxl}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221685.4]
  assign _T_562 = {io_status_sd,io_status_zero2}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221686.4]
  assign _T_563 = {_T_562,_T_561}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221687.4]
  assign _T_564 = {io_status_dprv,io_status_prv}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221688.4]
  assign _T_565 = {io_status_debug,io_status_isa}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221689.4]
  assign _T_566 = {_T_565,_T_564}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221690.4]
  assign _T_567 = {_T_566,_T_563}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221691.4]
  assign _T_568 = {_T_567,_T_560}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221692.4]
  assign _T_569 = {_T_568,_T_554}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221693.4]
  assign read_mstatus = _T_569[31:0]; // @[CSR.scala 360:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221694.4]
  assign _GEN_19 = reg_tselect ? reg_bp_1_control_dmode : reg_bp_0_control_dmode; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_22 = reg_tselect ? reg_bp_1_control_action : reg_bp_0_control_action; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_23 = reg_tselect ? 1'h0 : reg_bp_0_control_chain; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_25 = reg_tselect ? reg_bp_1_control_tmatch : reg_bp_0_control_tmatch; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_30 = reg_tselect ? reg_bp_1_control_x : reg_bp_0_control_x; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_31 = reg_tselect ? reg_bp_1_control_w : reg_bp_0_control_w; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_32 = reg_tselect ? reg_bp_1_control_r : reg_bp_0_control_r; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _GEN_33 = reg_tselect ? reg_bp_1_address : reg_bp_0_address; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _T_571 = {_GEN_30,_GEN_31}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign _T_572 = {_T_571,_GEN_32}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221696.4]
  assign _T_576 = {4'h8,_T_572}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221700.4]
  assign _T_577 = {2'h0,_GEN_25}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221701.4]
  assign _T_578 = {_GEN_22,_GEN_23}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221702.4]
  assign _T_579 = {_T_578,_T_577}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221703.4]
  assign _T_581 = {4'h2,_GEN_19}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221705.4]
  assign _T_582 = {_T_581,14'h400}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221706.4]
  assign _T_583 = {_T_582,_T_579}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221707.4]
  assign _T_584 = {_T_583,_T_576}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221708.4]
  assign _T_586 = ~ reg_mepc; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221709.4]
  assign _T_587 = reg_misa[2]; // @[CSR.scala 908:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221710.4]
  assign _T_588 = _T_587 ? 2'h1 : 2'h3; // @[CSR.scala 908:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221711.4]
  assign _GEN_451 = {{30'd0}, _T_588}; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221712.4]
  assign _T_589 = _T_586 | _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221712.4]
  assign _T_590 = ~ _T_589; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221713.4]
  assign _T_591 = {3'h0,reg_dcsr_step}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221714.4]
  assign _T_592 = {_T_591,reg_dcsr_prv}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221715.4]
  assign _T_593 = {1'h0,reg_dcsr_cause}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221716.4]
  assign _T_595 = {2'h0,_T_593}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221718.4]
  assign _T_596 = {_T_595,_T_592}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221719.4]
  assign _T_599 = {12'h0,reg_dcsr_ebreakm}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221722.4]
  assign _T_601 = {4'h4,_T_599}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221724.4]
  assign _T_602 = {_T_601,3'h0}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221725.4]
  assign _T_603 = {_T_602,_T_596}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221726.4]
  assign _T_604 = ~ reg_dpc; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221727.4]
  assign _T_607 = _T_604 | _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221730.4]
  assign _T_608 = ~ _T_607; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221731.4]
  assign _T_610 = _T_275[63:32]; // @[CSR.scala 415:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221733.4]
  assign _T_611 = _T_265[63:32]; // @[CSR.scala 416:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221734.4]
  assign _T_626 = {reg_pmp_0_cfg_x,reg_pmp_0_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221756.4]
  assign _T_627 = {_T_626,reg_pmp_0_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221757.4]
  assign _T_628 = {reg_pmp_0_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221758.4]
  assign _T_629 = {_T_628,reg_pmp_0_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221759.4]
  assign _T_630 = {_T_629,_T_627}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221760.4]
  assign _T_631 = {reg_pmp_1_cfg_x,reg_pmp_1_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221761.4]
  assign _T_632 = {_T_631,reg_pmp_1_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221762.4]
  assign _T_633 = {reg_pmp_1_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221763.4]
  assign _T_634 = {_T_633,reg_pmp_1_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221764.4]
  assign _T_635 = {_T_634,_T_632}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221765.4]
  assign _T_636 = {reg_pmp_2_cfg_x,reg_pmp_2_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221766.4]
  assign _T_637 = {_T_636,reg_pmp_2_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221767.4]
  assign _T_638 = {reg_pmp_2_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221768.4]
  assign _T_639 = {_T_638,reg_pmp_2_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221769.4]
  assign _T_640 = {_T_639,_T_637}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221770.4]
  assign _T_641 = {reg_pmp_3_cfg_x,reg_pmp_3_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221771.4]
  assign _T_642 = {_T_641,reg_pmp_3_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221772.4]
  assign _T_643 = {reg_pmp_3_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221773.4]
  assign _T_644 = {_T_643,reg_pmp_3_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221774.4]
  assign _T_645 = {_T_644,_T_642}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221775.4]
  assign _T_646 = {_T_635,_T_630}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221776.4]
  assign _T_647 = {_T_645,_T_640}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221777.4]
  assign _T_648 = {_T_647,_T_646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221778.4]
  assign _T_649 = {reg_pmp_4_cfg_x,reg_pmp_4_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221779.4]
  assign _T_650 = {_T_649,reg_pmp_4_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221780.4]
  assign _T_651 = {reg_pmp_4_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221781.4]
  assign _T_652 = {_T_651,reg_pmp_4_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221782.4]
  assign _T_653 = {_T_652,_T_650}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221783.4]
  assign _T_654 = {reg_pmp_5_cfg_x,reg_pmp_5_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221784.4]
  assign _T_655 = {_T_654,reg_pmp_5_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221785.4]
  assign _T_656 = {reg_pmp_5_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221786.4]
  assign _T_657 = {_T_656,reg_pmp_5_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221787.4]
  assign _T_658 = {_T_657,_T_655}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221788.4]
  assign _T_659 = {reg_pmp_6_cfg_x,reg_pmp_6_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221789.4]
  assign _T_660 = {_T_659,reg_pmp_6_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221790.4]
  assign _T_661 = {reg_pmp_6_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221791.4]
  assign _T_662 = {_T_661,reg_pmp_6_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221792.4]
  assign _T_663 = {_T_662,_T_660}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221793.4]
  assign _T_664 = {reg_pmp_7_cfg_x,reg_pmp_7_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221794.4]
  assign _T_665 = {_T_664,reg_pmp_7_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221795.4]
  assign _T_666 = {reg_pmp_7_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221796.4]
  assign _T_667 = {_T_666,reg_pmp_7_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221797.4]
  assign _T_668 = {_T_667,_T_665}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221798.4]
  assign _T_669 = {_T_658,_T_653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221799.4]
  assign _T_670 = {_T_668,_T_663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221800.4]
  assign _T_671 = {_T_670,_T_669}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221801.4]
  assign _T_722 = io_rw_addr == 12'h7a0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221852.4]
  assign _T_723 = io_rw_addr == 12'h7a1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221853.4]
  assign _T_724 = io_rw_addr == 12'h7a2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221854.4]
  assign _T_725 = io_rw_addr == 12'h301; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221855.4]
  assign _T_726 = io_rw_addr == 12'h300; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221856.4]
  assign _T_727 = io_rw_addr == 12'h305; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221857.4]
  assign _T_728 = io_rw_addr == 12'h344; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221858.4]
  assign _T_729 = io_rw_addr == 12'h304; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221859.4]
  assign _T_730 = io_rw_addr == 12'h340; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221860.4]
  assign _T_731 = io_rw_addr == 12'h341; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221861.4]
  assign _T_732 = io_rw_addr == 12'h343; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221862.4]
  assign _T_733 = io_rw_addr == 12'h342; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221863.4]
  assign _T_734 = io_rw_addr == 12'hf14; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221864.4]
  assign _T_735 = io_rw_addr == 12'h7b0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221865.4]
  assign _T_736 = io_rw_addr == 12'h7b1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221866.4]
  assign _T_737 = io_rw_addr == 12'h7b2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221867.4]
  assign _T_738 = io_rw_addr == 12'hb00; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221868.4]
  assign _T_739 = io_rw_addr == 12'hb02; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221869.4]
  assign _T_827 = io_rw_addr == 12'hb80; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221957.4]
  assign _T_828 = io_rw_addr == 12'hb82; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221958.4]
  assign _T_829 = io_rw_addr == 12'h3a0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221959.4]
  assign _T_830 = io_rw_addr == 12'h3a1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221960.4]
  assign _T_833 = io_rw_addr == 12'h3b0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221963.4]
  assign _T_834 = io_rw_addr == 12'h3b1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221964.4]
  assign _T_835 = io_rw_addr == 12'h3b2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221965.4]
  assign _T_836 = io_rw_addr == 12'h3b3; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221966.4]
  assign _T_837 = io_rw_addr == 12'h3b4; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221967.4]
  assign _T_838 = io_rw_addr == 12'h3b5; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221968.4]
  assign _T_839 = io_rw_addr == 12'h3b6; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221969.4]
  assign _T_840 = io_rw_addr == 12'h3b7; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221970.4]
  assign _T_850 = io_rw_addr == 12'hf12; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221980.4]
  assign _T_852 = io_rw_addr == 12'hf13; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221982.4]
  assign _T_853 = io_rw_cmd[1]; // @[CSR.scala 886:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221983.4]
  assign _T_854 = _T_853 ? io_rw_rdata : 32'h0; // @[CSR.scala 886:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221984.4]
  assign _T_855 = _T_854 | io_rw_wdata; // @[CSR.scala 886:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221985.4]
  assign _T_856 = io_rw_cmd[1:0]; // @[CSR.scala 886:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221986.4]
  assign _T_857 = ~ _T_856; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221987.4]
  assign _T_858 = _T_857 == 2'h0; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221988.4]
  assign _T_859 = _T_858 ? io_rw_wdata : 32'h0; // @[CSR.scala 886:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221989.4]
  assign _T_860 = ~ _T_859; // @[CSR.scala 886:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221990.4]
  assign wdata = _T_855 & _T_860; // @[CSR.scala 886:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221991.4]
  assign system_insn = io_rw_cmd == 3'h4; // @[CSR.scala 479:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221992.4]
  assign _GEN_453 = {{20'd0}, io_rw_addr}; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@221993.4]
  assign _T_861 = _GEN_453 << 20; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@221993.4]
  assign _T_862 = _T_861 & 32'h20100000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221994.4]
  assign _T_863 = _T_862 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@221995.4]
  assign _T_865 = _T_861 & 32'h10100000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221997.4]
  assign _T_866 = _T_865 == 32'h100000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@221998.4]
  assign _T_868 = _T_861 & 32'h20000000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@222000.4]
  assign _T_869 = _T_868 == 32'h20000000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@222001.4]
  assign _T_871 = _T_861 & 32'h30000000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@222003.4]
  assign _T_872 = _T_871 == 32'h10000000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@222004.4]
  assign insn_call = system_insn & _T_863; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222007.4]
  assign insn_break = system_insn & _T_866; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222009.4]
  assign insn_ret = system_insn & _T_869; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222011.4]
  assign insn_wfi = system_insn & _T_872; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@222013.4]
  assign _T_918 = io_status_fs == 2'h0; // @[CSR.scala 499:39:shc.marmotcaravel.MarmotCaravelConfig.fir@222055.4]
  assign _T_919 = reg_misa[5]; // @[CSR.scala 499:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  assign _T_920 = _T_919 == 1'h0; // @[CSR.scala 499:48:shc.marmotcaravel.MarmotCaravelConfig.fir@222057.4]
  assign _T_933 = io_decode_0_csr == 12'h7a0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222073.4]
  assign _T_934 = io_decode_0_csr == 12'h7a1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222074.4]
  assign _T_935 = io_decode_0_csr == 12'h7a2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222075.4]
  assign _T_936 = io_decode_0_csr == 12'h301; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  assign _T_937 = io_decode_0_csr == 12'h300; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222077.4]
  assign _T_938 = io_decode_0_csr == 12'h305; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222078.4]
  assign _T_939 = io_decode_0_csr == 12'h344; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222079.4]
  assign _T_940 = io_decode_0_csr == 12'h304; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222080.4]
  assign _T_941 = io_decode_0_csr == 12'h340; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222081.4]
  assign _T_942 = io_decode_0_csr == 12'h341; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  assign _T_943 = io_decode_0_csr == 12'h343; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222083.4]
  assign _T_944 = io_decode_0_csr == 12'h342; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222084.4]
  assign _T_945 = io_decode_0_csr == 12'hf14; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222085.4]
  assign _T_946 = io_decode_0_csr == 12'h7b0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222086.4]
  assign _T_947 = io_decode_0_csr == 12'h7b1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222087.4]
  assign _T_948 = io_decode_0_csr == 12'h7b2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  assign _T_949 = io_decode_0_csr == 12'hb00; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222089.4]
  assign _T_950 = io_decode_0_csr == 12'hb02; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222090.4]
  assign _T_951 = io_decode_0_csr == 12'h323; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222091.4]
  assign _T_952 = io_decode_0_csr == 12'hb03; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222092.4]
  assign _T_953 = io_decode_0_csr == 12'hb83; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222093.4]
  assign _T_954 = io_decode_0_csr == 12'h324; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
  assign _T_955 = io_decode_0_csr == 12'hb04; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222095.4]
  assign _T_956 = io_decode_0_csr == 12'hb84; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222096.4]
  assign _T_957 = io_decode_0_csr == 12'h325; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222097.4]
  assign _T_958 = io_decode_0_csr == 12'hb05; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222098.4]
  assign _T_959 = io_decode_0_csr == 12'hb85; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222099.4]
  assign _T_960 = io_decode_0_csr == 12'h326; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
  assign _T_961 = io_decode_0_csr == 12'hb06; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222101.4]
  assign _T_962 = io_decode_0_csr == 12'hb86; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222102.4]
  assign _T_963 = io_decode_0_csr == 12'h327; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222103.4]
  assign _T_964 = io_decode_0_csr == 12'hb07; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222104.4]
  assign _T_965 = io_decode_0_csr == 12'hb87; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222105.4]
  assign _T_966 = io_decode_0_csr == 12'h328; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
  assign _T_967 = io_decode_0_csr == 12'hb08; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222107.4]
  assign _T_968 = io_decode_0_csr == 12'hb88; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222108.4]
  assign _T_969 = io_decode_0_csr == 12'h329; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222109.4]
  assign _T_970 = io_decode_0_csr == 12'hb09; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222110.4]
  assign _T_971 = io_decode_0_csr == 12'hb89; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222111.4]
  assign _T_972 = io_decode_0_csr == 12'h32a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222112.4]
  assign _T_973 = io_decode_0_csr == 12'hb0a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222113.4]
  assign _T_974 = io_decode_0_csr == 12'hb8a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222114.4]
  assign _T_975 = io_decode_0_csr == 12'h32b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222115.4]
  assign _T_976 = io_decode_0_csr == 12'hb0b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222116.4]
  assign _T_977 = io_decode_0_csr == 12'hb8b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222117.4]
  assign _T_978 = io_decode_0_csr == 12'h32c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222118.4]
  assign _T_979 = io_decode_0_csr == 12'hb0c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222119.4]
  assign _T_980 = io_decode_0_csr == 12'hb8c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222120.4]
  assign _T_981 = io_decode_0_csr == 12'h32d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222121.4]
  assign _T_982 = io_decode_0_csr == 12'hb0d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222122.4]
  assign _T_983 = io_decode_0_csr == 12'hb8d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222123.4]
  assign _T_984 = io_decode_0_csr == 12'h32e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222124.4]
  assign _T_985 = io_decode_0_csr == 12'hb0e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222125.4]
  assign _T_986 = io_decode_0_csr == 12'hb8e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222126.4]
  assign _T_987 = io_decode_0_csr == 12'h32f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222127.4]
  assign _T_988 = io_decode_0_csr == 12'hb0f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222128.4]
  assign _T_989 = io_decode_0_csr == 12'hb8f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222129.4]
  assign _T_990 = io_decode_0_csr == 12'h330; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222130.4]
  assign _T_991 = io_decode_0_csr == 12'hb10; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222131.4]
  assign _T_992 = io_decode_0_csr == 12'hb90; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222132.4]
  assign _T_993 = io_decode_0_csr == 12'h331; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222133.4]
  assign _T_994 = io_decode_0_csr == 12'hb11; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222134.4]
  assign _T_995 = io_decode_0_csr == 12'hb91; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222135.4]
  assign _T_996 = io_decode_0_csr == 12'h332; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222136.4]
  assign _T_997 = io_decode_0_csr == 12'hb12; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222137.4]
  assign _T_998 = io_decode_0_csr == 12'hb92; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222138.4]
  assign _T_999 = io_decode_0_csr == 12'h333; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222139.4]
  assign _T_1000 = io_decode_0_csr == 12'hb13; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222140.4]
  assign _T_1001 = io_decode_0_csr == 12'hb93; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222141.4]
  assign _T_1002 = io_decode_0_csr == 12'h334; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222142.4]
  assign _T_1003 = io_decode_0_csr == 12'hb14; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222143.4]
  assign _T_1004 = io_decode_0_csr == 12'hb94; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222144.4]
  assign _T_1005 = io_decode_0_csr == 12'h335; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222145.4]
  assign _T_1006 = io_decode_0_csr == 12'hb15; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222146.4]
  assign _T_1007 = io_decode_0_csr == 12'hb95; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222147.4]
  assign _T_1008 = io_decode_0_csr == 12'h336; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222148.4]
  assign _T_1009 = io_decode_0_csr == 12'hb16; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222149.4]
  assign _T_1010 = io_decode_0_csr == 12'hb96; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222150.4]
  assign _T_1011 = io_decode_0_csr == 12'h337; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222151.4]
  assign _T_1012 = io_decode_0_csr == 12'hb17; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222152.4]
  assign _T_1013 = io_decode_0_csr == 12'hb97; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222153.4]
  assign _T_1014 = io_decode_0_csr == 12'h338; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222154.4]
  assign _T_1015 = io_decode_0_csr == 12'hb18; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222155.4]
  assign _T_1016 = io_decode_0_csr == 12'hb98; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222156.4]
  assign _T_1017 = io_decode_0_csr == 12'h339; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222157.4]
  assign _T_1018 = io_decode_0_csr == 12'hb19; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222158.4]
  assign _T_1019 = io_decode_0_csr == 12'hb99; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222159.4]
  assign _T_1020 = io_decode_0_csr == 12'h33a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222160.4]
  assign _T_1021 = io_decode_0_csr == 12'hb1a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222161.4]
  assign _T_1022 = io_decode_0_csr == 12'hb9a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222162.4]
  assign _T_1023 = io_decode_0_csr == 12'h33b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222163.4]
  assign _T_1024 = io_decode_0_csr == 12'hb1b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222164.4]
  assign _T_1025 = io_decode_0_csr == 12'hb9b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222165.4]
  assign _T_1026 = io_decode_0_csr == 12'h33c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222166.4]
  assign _T_1027 = io_decode_0_csr == 12'hb1c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222167.4]
  assign _T_1028 = io_decode_0_csr == 12'hb9c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222168.4]
  assign _T_1029 = io_decode_0_csr == 12'h33d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222169.4]
  assign _T_1030 = io_decode_0_csr == 12'hb1d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222170.4]
  assign _T_1031 = io_decode_0_csr == 12'hb9d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign _T_1032 = io_decode_0_csr == 12'h33e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign _T_1033 = io_decode_0_csr == 12'hb1e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign _T_1034 = io_decode_0_csr == 12'hb9e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222174.4]
  assign _T_1035 = io_decode_0_csr == 12'h33f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222175.4]
  assign _T_1036 = io_decode_0_csr == 12'hb1f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222176.4]
  assign _T_1037 = io_decode_0_csr == 12'hb9f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222177.4]
  assign _T_1038 = io_decode_0_csr == 12'hb80; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign _T_1039 = io_decode_0_csr == 12'hb82; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign _T_1040 = io_decode_0_csr == 12'h3a0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign _T_1041 = io_decode_0_csr == 12'h3a1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign _T_1042 = io_decode_0_csr == 12'h3a2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign _T_1043 = io_decode_0_csr == 12'h3a3; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign _T_1044 = io_decode_0_csr == 12'h3b0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign _T_1045 = io_decode_0_csr == 12'h3b1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign _T_1046 = io_decode_0_csr == 12'h3b2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign _T_1047 = io_decode_0_csr == 12'h3b3; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222187.4]
  assign _T_1048 = io_decode_0_csr == 12'h3b4; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222188.4]
  assign _T_1049 = io_decode_0_csr == 12'h3b5; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222189.4]
  assign _T_1050 = io_decode_0_csr == 12'h3b6; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222190.4]
  assign _T_1051 = io_decode_0_csr == 12'h3b7; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222191.4]
  assign _T_1052 = io_decode_0_csr == 12'h3b8; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign _T_1053 = io_decode_0_csr == 12'h3b9; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign _T_1054 = io_decode_0_csr == 12'h3ba; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222194.4]
  assign _T_1055 = io_decode_0_csr == 12'h3bb; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222195.4]
  assign _T_1056 = io_decode_0_csr == 12'h3bc; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222196.4]
  assign _T_1057 = io_decode_0_csr == 12'h3bd; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  assign _T_1058 = io_decode_0_csr == 12'h3be; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222198.4]
  assign _T_1059 = io_decode_0_csr == 12'h3bf; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222199.4]
  assign _T_1060 = io_decode_0_csr == 12'h7c1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222200.4]
  assign _T_1061 = io_decode_0_csr == 12'hf12; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign _T_1062 = io_decode_0_csr == 12'hf11; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  assign _T_1063 = io_decode_0_csr == 12'hf13; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@222203.4]
  assign _T_1064 = _T_933 | _T_934; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222204.4]
  assign _T_1065 = _T_1064 | _T_935; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222205.4]
  assign _T_1066 = _T_1065 | _T_936; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  assign _T_1067 = _T_1066 | _T_937; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222207.4]
  assign _T_1068 = _T_1067 | _T_938; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222208.4]
  assign _T_1069 = _T_1068 | _T_939; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222209.4]
  assign _T_1070 = _T_1069 | _T_940; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222210.4]
  assign _T_1071 = _T_1070 | _T_941; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222211.4]
  assign _T_1072 = _T_1071 | _T_942; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222212.4]
  assign _T_1073 = _T_1072 | _T_943; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222213.4]
  assign _T_1074 = _T_1073 | _T_944; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222214.4]
  assign _T_1075 = _T_1074 | _T_945; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222215.4]
  assign _T_1076 = _T_1075 | _T_946; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign _T_1077 = _T_1076 | _T_947; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222217.4]
  assign _T_1078 = _T_1077 | _T_948; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222218.4]
  assign _T_1079 = _T_1078 | _T_949; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222219.4]
  assign _T_1080 = _T_1079 | _T_950; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign _T_1081 = _T_1080 | _T_951; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222221.4]
  assign _T_1082 = _T_1081 | _T_952; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222222.4]
  assign _T_1083 = _T_1082 | _T_953; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222223.4]
  assign _T_1084 = _T_1083 | _T_954; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222224.4]
  assign _T_1085 = _T_1084 | _T_955; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign _T_1086 = _T_1085 | _T_956; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign _T_1087 = _T_1086 | _T_957; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign _T_1088 = _T_1087 | _T_958; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign _T_1089 = _T_1088 | _T_959; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222229.4]
  assign _T_1090 = _T_1089 | _T_960; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222230.4]
  assign _T_1091 = _T_1090 | _T_961; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222231.4]
  assign _T_1092 = _T_1091 | _T_962; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222232.4]
  assign _T_1093 = _T_1092 | _T_963; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222233.4]
  assign _T_1094 = _T_1093 | _T_964; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222234.4]
  assign _T_1095 = _T_1094 | _T_965; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222235.4]
  assign _T_1096 = _T_1095 | _T_966; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222236.4]
  assign _T_1097 = _T_1096 | _T_967; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222237.4]
  assign _T_1098 = _T_1097 | _T_968; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222238.4]
  assign _T_1099 = _T_1098 | _T_969; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222239.4]
  assign _T_1100 = _T_1099 | _T_970; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222240.4]
  assign _T_1101 = _T_1100 | _T_971; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222241.4]
  assign _T_1102 = _T_1101 | _T_972; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222242.4]
  assign _T_1103 = _T_1102 | _T_973; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222243.4]
  assign _T_1104 = _T_1103 | _T_974; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222244.4]
  assign _T_1105 = _T_1104 | _T_975; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222245.4]
  assign _T_1106 = _T_1105 | _T_976; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222246.4]
  assign _T_1107 = _T_1106 | _T_977; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222247.4]
  assign _T_1108 = _T_1107 | _T_978; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222248.4]
  assign _T_1109 = _T_1108 | _T_979; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222249.4]
  assign _T_1110 = _T_1109 | _T_980; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222250.4]
  assign _T_1111 = _T_1110 | _T_981; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222251.4]
  assign _T_1112 = _T_1111 | _T_982; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222252.4]
  assign _T_1113 = _T_1112 | _T_983; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222253.4]
  assign _T_1114 = _T_1113 | _T_984; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222254.4]
  assign _T_1115 = _T_1114 | _T_985; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222255.4]
  assign _T_1116 = _T_1115 | _T_986; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222256.4]
  assign _T_1117 = _T_1116 | _T_987; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222257.4]
  assign _T_1118 = _T_1117 | _T_988; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  assign _T_1119 = _T_1118 | _T_989; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222259.4]
  assign _T_1120 = _T_1119 | _T_990; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222260.4]
  assign _T_1121 = _T_1120 | _T_991; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222261.4]
  assign _T_1122 = _T_1121 | _T_992; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222262.4]
  assign _T_1123 = _T_1122 | _T_993; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222263.4]
  assign _T_1124 = _T_1123 | _T_994; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  assign _T_1125 = _T_1124 | _T_995; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222265.4]
  assign _T_1126 = _T_1125 | _T_996; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222266.4]
  assign _T_1127 = _T_1126 | _T_997; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222267.4]
  assign _T_1128 = _T_1127 | _T_998; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222268.4]
  assign _T_1129 = _T_1128 | _T_999; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222269.4]
  assign _T_1130 = _T_1129 | _T_1000; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222270.4]
  assign _T_1131 = _T_1130 | _T_1001; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222271.4]
  assign _T_1132 = _T_1131 | _T_1002; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222272.4]
  assign _T_1133 = _T_1132 | _T_1003; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222273.4]
  assign _T_1134 = _T_1133 | _T_1004; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222274.4]
  assign _T_1135 = _T_1134 | _T_1005; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222275.4]
  assign _T_1136 = _T_1135 | _T_1006; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222276.4]
  assign _T_1137 = _T_1136 | _T_1007; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222277.4]
  assign _T_1138 = _T_1137 | _T_1008; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222278.4]
  assign _T_1139 = _T_1138 | _T_1009; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222279.4]
  assign _T_1140 = _T_1139 | _T_1010; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222280.4]
  assign _T_1141 = _T_1140 | _T_1011; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222281.4]
  assign _T_1142 = _T_1141 | _T_1012; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222282.4]
  assign _T_1143 = _T_1142 | _T_1013; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222283.4]
  assign _T_1144 = _T_1143 | _T_1014; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222284.4]
  assign _T_1145 = _T_1144 | _T_1015; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222285.4]
  assign _T_1146 = _T_1145 | _T_1016; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
  assign _T_1147 = _T_1146 | _T_1017; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222287.4]
  assign _T_1148 = _T_1147 | _T_1018; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222288.4]
  assign _T_1149 = _T_1148 | _T_1019; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222289.4]
  assign _T_1150 = _T_1149 | _T_1020; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222290.4]
  assign _T_1151 = _T_1150 | _T_1021; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222291.4]
  assign _T_1152 = _T_1151 | _T_1022; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222292.4]
  assign _T_1153 = _T_1152 | _T_1023; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222293.4]
  assign _T_1154 = _T_1153 | _T_1024; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222294.4]
  assign _T_1155 = _T_1154 | _T_1025; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222295.4]
  assign _T_1156 = _T_1155 | _T_1026; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222296.4]
  assign _T_1157 = _T_1156 | _T_1027; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222297.4]
  assign _T_1158 = _T_1157 | _T_1028; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
  assign _T_1159 = _T_1158 | _T_1029; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222299.4]
  assign _T_1160 = _T_1159 | _T_1030; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222300.4]
  assign _T_1161 = _T_1160 | _T_1031; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222301.4]
  assign _T_1162 = _T_1161 | _T_1032; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222302.4]
  assign _T_1163 = _T_1162 | _T_1033; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222303.4]
  assign _T_1164 = _T_1163 | _T_1034; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222304.4]
  assign _T_1165 = _T_1164 | _T_1035; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222305.4]
  assign _T_1166 = _T_1165 | _T_1036; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222306.4]
  assign _T_1167 = _T_1166 | _T_1037; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222307.4]
  assign _T_1168 = _T_1167 | _T_1038; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222308.4]
  assign _T_1169 = _T_1168 | _T_1039; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222309.4]
  assign _T_1170 = _T_1169 | _T_1040; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222310.4]
  assign _T_1171 = _T_1170 | _T_1041; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222311.4]
  assign _T_1172 = _T_1171 | _T_1042; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222312.4]
  assign _T_1173 = _T_1172 | _T_1043; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222313.4]
  assign _T_1174 = _T_1173 | _T_1044; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222314.4]
  assign _T_1175 = _T_1174 | _T_1045; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222315.4]
  assign _T_1176 = _T_1175 | _T_1046; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222316.4]
  assign _T_1177 = _T_1176 | _T_1047; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222317.4]
  assign _T_1178 = _T_1177 | _T_1048; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222318.4]
  assign _T_1179 = _T_1178 | _T_1049; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222319.4]
  assign _T_1180 = _T_1179 | _T_1050; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222320.4]
  assign _T_1181 = _T_1180 | _T_1051; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222321.4]
  assign _T_1182 = _T_1181 | _T_1052; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222322.4]
  assign _T_1183 = _T_1182 | _T_1053; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222323.4]
  assign _T_1184 = _T_1183 | _T_1054; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222324.4]
  assign _T_1185 = _T_1184 | _T_1055; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222325.4]
  assign _T_1186 = _T_1185 | _T_1056; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222326.4]
  assign _T_1187 = _T_1186 | _T_1057; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222327.4]
  assign _T_1188 = _T_1187 | _T_1058; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222328.4]
  assign _T_1189 = _T_1188 | _T_1059; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222329.4]
  assign _T_1190 = _T_1189 | _T_1060; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222330.4]
  assign _T_1191 = _T_1190 | _T_1061; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222331.4]
  assign _T_1192 = _T_1191 | _T_1062; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222332.4]
  assign _T_1193 = _T_1192 | _T_1063; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222333.4]
  assign _T_1194 = _T_1193 == 1'h0; // @[CSR.scala 503:7:shc.marmotcaravel.MarmotCaravelConfig.fir@222334.4]
  assign _T_1213 = _T_946 | _T_947; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222353.4]
  assign _T_1214 = _T_1213 | _T_948; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  assign _T_1217 = _T_1214 & _T_459; // @[CSR.scala 506:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222357.4]
  assign _T_1218 = _T_1194 | _T_1217; // @[CSR.scala 505:148:shc.marmotcaravel.MarmotCaravelConfig.fir@222358.4]
  assign _T_1219 = io_decode_0_fp_csr & io_decode_0_fp_illegal; // @[CSR.scala 507:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222359.4]
  assign _T_1221 = io_decode_0_csr[11:10]; // @[CSR.scala 508:39:shc.marmotcaravel.MarmotCaravelConfig.fir@222362.4]
  assign _T_1222 = ~ _T_1221; // @[CSR.scala 508:47:shc.marmotcaravel.MarmotCaravelConfig.fir@222363.4]
  assign _T_1224 = io_decode_0_csr >= 12'h340; // @[CSR.scala 509:40:shc.marmotcaravel.MarmotCaravelConfig.fir@222366.4]
  assign _T_1225 = io_decode_0_csr <= 12'h343; // @[CSR.scala 509:71:shc.marmotcaravel.MarmotCaravelConfig.fir@222367.4]
  assign _T_1226 = _T_1224 & _T_1225; // @[CSR.scala 509:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222368.4]
  assign _T_1227 = io_decode_0_csr >= 12'h140; // @[CSR.scala 509:102:shc.marmotcaravel.MarmotCaravelConfig.fir@222369.4]
  assign _T_1228 = io_decode_0_csr <= 12'h143; // @[CSR.scala 509:133:shc.marmotcaravel.MarmotCaravelConfig.fir@222370.4]
  assign _T_1229 = _T_1227 & _T_1228; // @[CSR.scala 509:119:shc.marmotcaravel.MarmotCaravelConfig.fir@222371.4]
  assign _T_1230 = _T_1226 | _T_1229; // @[CSR.scala 509:88:shc.marmotcaravel.MarmotCaravelConfig.fir@222372.4]
  assign _T_1245 = insn_break ? 32'h3 : io_cause; // @[CSR.scala 518:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222389.4]
  assign cause = insn_call ? 32'hb : _T_1245; // @[CSR.scala 517:8:shc.marmotcaravel.MarmotCaravelConfig.fir@222390.4]
  assign cause_lsbs = cause[7:0]; // @[CSR.scala 519:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222391.4]
  assign _T_1246 = cause[31]; // @[CSR.scala 520:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222392.4]
  assign _T_1247 = cause_lsbs == 8'he; // @[CSR.scala 520:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222393.4]
  assign causeIsDebugInt = _T_1246 & _T_1247; // @[CSR.scala 520:39:shc.marmotcaravel.MarmotCaravelConfig.fir@222394.4]
  assign _T_1249 = _T_1246 == 1'h0; // @[CSR.scala 521:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222396.4]
  assign causeIsDebugTrigger = _T_1249 & _T_1247; // @[CSR.scala 521:44:shc.marmotcaravel.MarmotCaravelConfig.fir@222398.4]
  assign _T_1253 = _T_1249 & insn_break; // @[CSR.scala 522:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222401.4]
  assign _T_1255 = {reg_dcsr_ebreakm,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222403.4]
  assign _T_1256 = {_T_1255,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222404.4]
  assign _T_1257 = _T_1256 >> 2'h3; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@222405.4]
  assign _T_1258 = _T_1257[0]; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@222406.4]
  assign causeIsDebugBreak = _T_1253 & _T_1258; // @[CSR.scala 522:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222407.4]
  assign _T_1259 = reg_singleStepped | causeIsDebugInt; // @[CSR.scala 523:60:shc.marmotcaravel.MarmotCaravelConfig.fir@222408.4]
  assign _T_1260 = _T_1259 | causeIsDebugTrigger; // @[CSR.scala 523:79:shc.marmotcaravel.MarmotCaravelConfig.fir@222409.4]
  assign _T_1261 = _T_1260 | causeIsDebugBreak; // @[CSR.scala 523:102:shc.marmotcaravel.MarmotCaravelConfig.fir@222410.4]
  assign trapToDebug = _T_1261 | reg_debug; // @[CSR.scala 523:123:shc.marmotcaravel.MarmotCaravelConfig.fir@222411.4]
  assign _T_1263 = insn_break ? 12'h800 : 12'h808; // @[CSR.scala 524:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222413.4]
  assign debugTVec = reg_debug ? _T_1263 : 12'h800; // @[CSR.scala 524:22:shc.marmotcaravel.MarmotCaravelConfig.fir@222414.4]
  assign _T_1273 = cause[4:0]; // @[CSR.scala 533:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222425.4]
  assign _GEN_455 = {{2'd0}, _T_1273}; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@222426.4]
  assign _T_1274 = _GEN_455 << 2; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@222426.4]
  assign _T_1275 = reg_mtvec[31:7]; // @[CSR.scala 534:33:shc.marmotcaravel.MarmotCaravelConfig.fir@222427.4]
  assign _T_1276 = {_T_1275,_T_1274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222428.4]
  assign _T_1277 = reg_mtvec[0]; // @[CSR.scala 535:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222429.4]
  assign _T_1279 = _T_1277 & _T_1246; // @[CSR.scala 535:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222431.4]
  assign _T_1280 = cause_lsbs[7:5]; // @[CSR.scala 535:70:shc.marmotcaravel.MarmotCaravelConfig.fir@222432.4]
  assign _T_1281 = _T_1280 == 3'h0; // @[CSR.scala 535:94:shc.marmotcaravel.MarmotCaravelConfig.fir@222433.4]
  assign _T_1282 = _T_1279 & _T_1281; // @[CSR.scala 535:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222434.4]
  assign notDebugTVec = _T_1282 ? _T_1276 : reg_mtvec; // @[CSR.scala 536:8:shc.marmotcaravel.MarmotCaravelConfig.fir@222435.4]
  assign tvec = trapToDebug ? {{20'd0}, debugTVec} : notDebugTVec; // @[CSR.scala 538:17:shc.marmotcaravel.MarmotCaravelConfig.fir@222436.4]
  assign _T_1283 = insn_call | insn_break; // @[CSR.scala 541:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222439.4]
  assign _T_1287 = ~ io_status_fs; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222446.4]
  assign _T_1288 = _T_1287 == 2'h0; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222447.4]
  assign _T_1289 = ~ io_status_xs; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222448.4]
  assign _T_1290 = _T_1289 == 2'h0; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222449.4]
  assign exception = _T_1283 | io_exception; // @[CSR.scala 553:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222464.4]
  assign _T_1298 = insn_ret + insn_call; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222465.4]
  assign _T_1299 = insn_break + io_exception; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222466.4]
  assign _T_1300 = _T_1298 + _T_1299; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222467.4]
  assign _T_1301 = _T_1300 <= 3'h1; // @[CSR.scala 554:79:shc.marmotcaravel.MarmotCaravelConfig.fir@222468.4]
  assign _T_1303 = _T_1301 | reset; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222470.4]
  assign _T_1304 = _T_1303 == 1'h0; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222471.4]
  assign _T_1306 = insn_wfi & _T_456; // @[CSR.scala 556:18:shc.marmotcaravel.MarmotCaravelConfig.fir@222477.4]
  assign _T_1308 = _T_1306 & _T_459; // @[CSR.scala 556:36:shc.marmotcaravel.MarmotCaravelConfig.fir@222479.4]
  assign _T_1309 = pending_interrupts != 32'h0; // @[CSR.scala 557:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.4]
  assign _T_1310 = _T_1309 | io_interrupts_debug; // @[CSR.scala 557:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222484.4]
  assign _T_1311 = _T_1310 | exception; // @[CSR.scala 557:55:shc.marmotcaravel.MarmotCaravelConfig.fir@222485.4]
  assign _T_1313 = io_retire | exception; // @[CSR.scala 559:22:shc.marmotcaravel.MarmotCaravelConfig.fir@222490.4]
  assign _T_1321 = reg_singleStepped == 1'h0; // @[CSR.scala 562:10:shc.marmotcaravel.MarmotCaravelConfig.fir@222508.4]
  assign _T_1322 = io_retire == 1'h0; // @[CSR.scala 562:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222509.4]
  assign _T_1323 = _T_1321 | _T_1322; // @[CSR.scala 562:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222510.4]
  assign _T_1325 = _T_1323 | reset; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222512.4]
  assign _T_1326 = _T_1325 == 1'h0; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@222513.4]
  assign _T_1327 = ~ io_pc; // @[CSR.scala 907:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222518.4]
  assign _T_1328 = _T_1327 | 32'h1; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222519.4]
  assign epc = ~ _T_1328; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222520.4]
  assign _T_1331 = causeIsDebugTrigger ? 2'h2 : 2'h1; // @[CSR.scala 573:86:shc.marmotcaravel.MarmotCaravelConfig.fir@222530.10]
  assign _T_1332 = causeIsDebugInt ? 2'h3 : _T_1331; // @[CSR.scala 573:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222531.10]
  assign _GEN_48 = {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222539.8]
  assign _GEN_67 = trapToDebug ? {{1'd0}, reg_mstatus_spp} : _GEN_48; // @[CSR.scala 569:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222525.6]
  assign _GEN_85 = exception ? _GEN_67 : {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 568:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222524.4]
  assign _T_1542 = io_rw_addr[10]; // @[CSR.scala 623:47:shc.marmotcaravel.MarmotCaravelConfig.fir@222777.8]
  assign _GEN_95 = _T_1542 ? _T_608 : _T_590; // @[CSR.scala 623:53:shc.marmotcaravel.MarmotCaravelConfig.fir@222779.8]
  assign _T_1555 = _T_722 ? reg_tselect : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222816.4]
  assign _T_1556 = _T_723 ? _T_584 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222817.4]
  assign _T_1557 = _T_724 ? _GEN_33 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222818.4]
  assign _T_1558 = _T_725 ? reg_misa : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222819.4]
  assign _T_1559 = _T_726 ? read_mstatus : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222820.4]
  assign _T_1560 = _T_727 ? reg_mtvec : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222821.4]
  assign _T_1561 = _T_728 ? read_mip : 16'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222822.4]
  assign _T_1562 = _T_729 ? reg_mie : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222823.4]
  assign _T_1563 = _T_730 ? reg_mscratch : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222824.4]
  assign _T_1564 = _T_731 ? _T_590 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222825.4]
  assign _T_1565 = _T_732 ? reg_mbadaddr : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222826.4]
  assign _T_1566 = _T_733 ? reg_mcause : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222827.4]
  assign _T_1567 = _T_734 ? io_hartid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222828.4]
  assign _T_1568 = _T_735 ? _T_603 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222829.4]
  assign _T_1569 = _T_736 ? _T_608 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222830.4]
  assign _T_1570 = _T_737 ? reg_dscratch : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222831.4]
  assign _T_1571 = _T_738 ? _T_275 : 64'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222832.4]
  assign _T_1572 = _T_739 ? _T_265 : 64'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222833.4]
  assign _T_1660 = _T_827 ? _T_610 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222921.4]
  assign _T_1661 = _T_828 ? _T_611 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222922.4]
  assign _T_1662 = _T_829 ? _T_648 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222923.4]
  assign _T_1663 = _T_830 ? _T_671 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222924.4]
  assign _T_1666 = _T_833 ? reg_pmp_0_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222927.4]
  assign _T_1667 = _T_834 ? reg_pmp_1_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222928.4]
  assign _T_1668 = _T_835 ? reg_pmp_2_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222929.4]
  assign _T_1669 = _T_836 ? reg_pmp_3_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222930.4]
  assign _T_1670 = _T_837 ? reg_pmp_4_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222931.4]
  assign _T_1671 = _T_838 ? reg_pmp_5_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222932.4]
  assign _T_1672 = _T_839 ? reg_pmp_6_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222933.4]
  assign _T_1673 = _T_840 ? reg_pmp_7_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222934.4]
  assign _T_1683 = _T_850 ? 32'h1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222944.4]
  assign _T_1685 = _T_852 ? 32'h20181004 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222946.4]
  assign _GEN_458 = {{31'd0}, _T_1555}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222947.4]
  assign _T_1686 = _GEN_458 | _T_1556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222947.4]
  assign _T_1687 = _T_1686 | _T_1557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222948.4]
  assign _T_1688 = _T_1687 | _T_1558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222949.4]
  assign _T_1689 = _T_1688 | _T_1559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222950.4]
  assign _T_1690 = _T_1689 | _T_1560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222951.4]
  assign _GEN_459 = {{16'd0}, _T_1561}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222952.4]
  assign _T_1691 = _T_1690 | _GEN_459; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222952.4]
  assign _T_1692 = _T_1691 | _T_1562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222953.4]
  assign _T_1693 = _T_1692 | _T_1563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222954.4]
  assign _T_1694 = _T_1693 | _T_1564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222955.4]
  assign _T_1695 = _T_1694 | _T_1565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222956.4]
  assign _T_1696 = _T_1695 | _T_1566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222957.4]
  assign _GEN_460 = {{31'd0}, _T_1567}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222958.4]
  assign _T_1697 = _T_1696 | _GEN_460; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222958.4]
  assign _T_1698 = _T_1697 | _T_1568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222959.4]
  assign _T_1699 = _T_1698 | _T_1569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222960.4]
  assign _T_1700 = _T_1699 | _T_1570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222961.4]
  assign _GEN_461 = {{32'd0}, _T_1700}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222962.4]
  assign _T_1701 = _GEN_461 | _T_1571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222962.4]
  assign _T_1702 = _T_1701 | _T_1572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@222963.4]
  assign _GEN_462 = {{32'd0}, _T_1660}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223051.4]
  assign _T_1790 = _T_1702 | _GEN_462; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223051.4]
  assign _GEN_463 = {{32'd0}, _T_1661}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223052.4]
  assign _T_1791 = _T_1790 | _GEN_463; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223052.4]
  assign _GEN_464 = {{32'd0}, _T_1662}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223053.4]
  assign _T_1792 = _T_1791 | _GEN_464; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223053.4]
  assign _GEN_465 = {{32'd0}, _T_1663}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223054.4]
  assign _T_1793 = _T_1792 | _GEN_465; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223054.4]
  assign _GEN_466 = {{34'd0}, _T_1666}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223057.4]
  assign _T_1796 = _T_1793 | _GEN_466; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223057.4]
  assign _GEN_467 = {{34'd0}, _T_1667}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223058.4]
  assign _T_1797 = _T_1796 | _GEN_467; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223058.4]
  assign _GEN_468 = {{34'd0}, _T_1668}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223059.4]
  assign _T_1798 = _T_1797 | _GEN_468; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223059.4]
  assign _GEN_469 = {{34'd0}, _T_1669}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223060.4]
  assign _T_1799 = _T_1798 | _GEN_469; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223060.4]
  assign _GEN_470 = {{34'd0}, _T_1670}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223061.4]
  assign _T_1800 = _T_1799 | _GEN_470; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223061.4]
  assign _GEN_471 = {{34'd0}, _T_1671}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223062.4]
  assign _T_1801 = _T_1800 | _GEN_471; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223062.4]
  assign _GEN_472 = {{34'd0}, _T_1672}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223063.4]
  assign _T_1802 = _T_1801 | _GEN_472; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223063.4]
  assign _GEN_473 = {{34'd0}, _T_1673}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223064.4]
  assign _T_1803 = _T_1802 | _GEN_473; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223064.4]
  assign _GEN_474 = {{32'd0}, _T_1683}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223074.4]
  assign _T_1813 = _T_1803 | _GEN_474; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223074.4]
  assign _GEN_475 = {{32'd0}, _T_1685}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223076.4]
  assign _T_1815 = _T_1813 | _GEN_475; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223076.4]
  assign _T_1818 = io_rw_cmd == 3'h5; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@223080.4]
  assign _T_1819 = io_rw_cmd == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@223081.4]
  assign _T_1820 = io_rw_cmd == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@223082.4]
  assign _T_3002 = _T_1819 | _T_1820; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224271.4]
  assign csr_wen = _T_3002 | _T_1818; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224272.4]
  assign _T_3019 = {{69'd0}, wdata}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224290.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224292.8]
  assign _T_3023 = _T_3019[3]; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224299.8]
  assign _T_3027 = _T_3019[7]; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224307.8]
  assign _T_3049 = wdata[5]; // @[CSR.scala 694:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224355.8]
  assign _T_3050 = io_pc[1]; // @[CSR.scala 696:39:shc.marmotcaravel.MarmotCaravelConfig.fir@224356.8]
  assign _T_3051 = _T_3050 == 1'h0; // @[CSR.scala 696:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224357.8]
  assign _T_3053 = wdata[2]; // @[CSR.scala 696:51:shc.marmotcaravel.MarmotCaravelConfig.fir@224359.8]
  assign _T_3054 = _T_3051 | _T_3053; // @[CSR.scala 696:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224360.8]
  assign _T_3055 = ~ wdata; // @[CSR.scala 698:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224362.10]
  assign _T_3056 = _T_3049 == 1'h0; // @[CSR.scala 698:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224363.10]
  assign _GEN_476 = {{3'd0}, _T_3056}; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224364.10]
  assign _T_3057 = _GEN_476 << 3; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224364.10]
  assign _GEN_477 = {{28'd0}, _T_3057}; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224365.10]
  assign _T_3058 = _T_3055 | _GEN_477; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224365.10]
  assign _T_3059 = ~ _T_3058; // @[CSR.scala 698:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224366.10]
  assign _T_3060 = _T_3059 & 32'h1005; // @[CSR.scala 698:55:shc.marmotcaravel.MarmotCaravelConfig.fir@224367.10]
  assign _T_3062 = reg_misa & 32'hffffeffa; // @[CSR.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@224369.10]
  assign _T_3063 = _T_3060 | _T_3062; // @[CSR.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224370.10]
  assign _T_3115 = wdata & 32'h888; // @[CSR.scala 713:59:shc.marmotcaravel.MarmotCaravelConfig.fir@224438.8]
  assign _T_3117 = _T_3055 | 32'h1; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224443.8]
  assign _T_3118 = ~ _T_3117; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224444.8]
  assign _T_3120 = _T_3055 | 32'h2; // @[CSR.scala 717:64:shc.marmotcaravel.MarmotCaravelConfig.fir@224452.8]
  assign _T_3121 = wdata[0]; // @[CSR.scala 717:81:shc.marmotcaravel.MarmotCaravelConfig.fir@224453.8]
  assign _T_3122 = _T_3121 ? 7'h7c : 7'h0; // @[CSR.scala 717:75:shc.marmotcaravel.MarmotCaravelConfig.fir@224454.8]
  assign _GEN_478 = {{25'd0}, _T_3122}; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@224455.8]
  assign _T_3123 = _T_3120 | _GEN_478; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@224455.8]
  assign _T_3124 = ~ _T_3123; // @[CSR.scala 717:55:shc.marmotcaravel.MarmotCaravelConfig.fir@224456.8]
  assign _T_3125 = wdata & 32'h8000000f; // @[CSR.scala 718:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224460.8]
  assign _T_3127 = _T_275[63:32]; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224468.8]
  assign _T_3128 = {_T_3127,wdata}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224469.8]
  assign _T_3129 = _T_3128[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224471.8]
  assign _GEN_129 = _T_738 ? _T_3128 : {{57'd0}, _T_269}; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224467.6]
  assign _T_3131 = _T_275[31:0]; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@224476.8]
  assign _T_3132 = {wdata,_T_3131}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224477.8]
  assign _T_3133 = _T_3132[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224479.8]
  assign _GEN_131 = _T_827 ? _T_3132 : _GEN_129; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224474.6]
  assign _T_3134 = _T_265[63:32]; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@224483.8]
  assign _T_3135 = {_T_3134,wdata}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224484.8]
  assign _T_3136 = _T_3135[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224486.8]
  assign _GEN_133 = _T_739 ? _T_3135 : {{57'd0}, _T_259}; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224482.6]
  assign _T_3138 = _T_265[31:0]; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@224491.8]
  assign _T_3139 = {wdata,_T_3138}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224492.8]
  assign _T_3140 = _T_3139[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224494.8]
  assign _GEN_135 = _T_828 ? _T_3139 : _GEN_133; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224489.6]
  assign _T_3152 = wdata[11]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224515.8]
  assign _T_3153 = wdata[12]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224517.8]
  assign _T_3156 = wdata[15]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224523.8]
  assign _GEN_141 = _T_722 ? wdata : {{31'd0}, reg_tselect}; // @[CSR.scala 786:41:shc.marmotcaravel.MarmotCaravelConfig.fir@224543.6]
  assign _T_3164 = _GEN_19 == 1'h0; // @[CSR.scala 789:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224546.6]
  assign _T_3165 = _T_3164 | reg_debug; // @[CSR.scala 789:31:shc.marmotcaravel.MarmotCaravelConfig.fir@224547.6]
  assign _T_3172 = wdata[1]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224557.10]
  assign _T_3178 = wdata[8:7]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224569.10]
  assign _T_3184 = wdata[27]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224581.10]
  assign _T_3186 = _T_3184 & reg_debug; // @[CSR.scala 792:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224585.10]
  assign _T_3187 = _T_3186 & _T_3153; // @[CSR.scala 795:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224588.10]
  assign _T_3188 = reg_pmp_0_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224595.6]
  assign _T_3189 = _T_829 & _T_3188; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224596.6]
  assign _T_3195 = wdata[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224601.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224603.8]
  assign _T_3196 = _T_3195[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224604.8]
  assign _T_3197 = _T_3195[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224606.8]
  assign _T_3198 = _T_3195[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224608.8]
  assign _T_3199 = _T_3195[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224610.8]
  assign _T_3201 = _T_3195[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224614.8]
  assign _T_3202 = reg_pmp_1_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224618.6]
  assign _T_3203 = _T_3202 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224619.6]
  assign _T_3205 = _T_3203 & _T_473; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224621.6]
  assign _T_3206 = reg_pmp_1_cfg_l & _T_3205; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224622.6]
  assign _T_3207 = reg_pmp_0_cfg_l | _T_3206; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224623.6]
  assign _T_3208 = _T_3207 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224624.6]
  assign _T_3209 = _T_833 & _T_3208; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224625.6]
  assign _GEN_248 = _T_3209 ? wdata : {{2'd0}, reg_pmp_0_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224626.6]
  assign _T_3210 = reg_pmp_1_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224629.6]
  assign _T_3211 = _T_829 & _T_3210; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224630.6]
  assign _T_3213 = wdata[31:8]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@224632.8]
  assign _T_3217 = _T_3213[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224635.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224637.8]
  assign _T_3218 = _T_3217[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224638.8]
  assign _T_3219 = _T_3217[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224640.8]
  assign _T_3220 = _T_3217[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224642.8]
  assign _T_3221 = _T_3217[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224644.8]
  assign _T_3223 = _T_3217[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224648.8]
  assign _T_3224 = reg_pmp_2_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224652.6]
  assign _T_3225 = _T_3224 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224653.6]
  assign _T_3227 = _T_3225 & _T_483; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224655.6]
  assign _T_3228 = reg_pmp_2_cfg_l & _T_3227; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224656.6]
  assign _T_3229 = reg_pmp_1_cfg_l | _T_3228; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224657.6]
  assign _T_3230 = _T_3229 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224658.6]
  assign _T_3231 = _T_834 & _T_3230; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224659.6]
  assign _GEN_255 = _T_3231 ? wdata : {{2'd0}, reg_pmp_1_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224660.6]
  assign _T_3232 = reg_pmp_2_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224663.6]
  assign _T_3233 = _T_829 & _T_3232; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224664.6]
  assign _T_3235 = wdata[31:16]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@224666.8]
  assign _T_3239 = _T_3235[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224669.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@224671.8]
  assign _T_3240 = _T_3239[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224672.8]
  assign _T_3241 = _T_3239[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224674.8]
  assign _T_3242 = _T_3239[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224676.8]
  assign _T_3243 = _T_3239[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224678.8]
  assign _T_3245 = _T_3239[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224682.8]
  assign _T_3246 = reg_pmp_3_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224686.6]
  assign _T_3247 = _T_3246 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224687.6]
  assign _T_3249 = _T_3247 & _T_493; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224689.6]
  assign _T_3250 = reg_pmp_3_cfg_l & _T_3249; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224690.6]
  assign _T_3251 = reg_pmp_2_cfg_l | _T_3250; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224691.6]
  assign _T_3252 = _T_3251 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224692.6]
  assign _T_3253 = _T_835 & _T_3252; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224693.6]
  assign _GEN_262 = _T_3253 ? wdata : {{2'd0}, reg_pmp_2_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224694.6]
  assign _T_3254 = reg_pmp_3_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224697.6]
  assign _T_3255 = _T_829 & _T_3254; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224698.6]
  assign _T_3257 = wdata[31:24]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@224700.8]
  assign _T_3262 = _T_3257[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224706.8]
  assign _T_3263 = _T_3257[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224708.8]
  assign _T_3264 = _T_3257[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224710.8]
  assign _T_3265 = _T_3257[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224712.8]
  assign _T_3267 = _T_3257[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@224716.8]
  assign _T_3268 = reg_pmp_4_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224720.6]
  assign _T_3269 = _T_3268 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224721.6]
  assign _T_3271 = _T_3269 & _T_503; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224723.6]
  assign _T_3272 = reg_pmp_4_cfg_l & _T_3271; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224724.6]
  assign _T_3273 = reg_pmp_3_cfg_l | _T_3272; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224725.6]
  assign _T_3274 = _T_3273 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224726.6]
  assign _T_3275 = _T_836 & _T_3274; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224727.6]
  assign _GEN_269 = _T_3275 ? wdata : {{2'd0}, reg_pmp_3_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224728.6]
  assign _T_3276 = reg_pmp_4_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224731.6]
  assign _T_3277 = _T_830 & _T_3276; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224732.6]
  assign _T_3290 = reg_pmp_5_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224754.6]
  assign _T_3291 = _T_3290 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224755.6]
  assign _T_3293 = _T_3291 & _T_513; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224757.6]
  assign _T_3294 = reg_pmp_5_cfg_l & _T_3293; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224758.6]
  assign _T_3295 = reg_pmp_4_cfg_l | _T_3294; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224759.6]
  assign _T_3296 = _T_3295 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224760.6]
  assign _T_3297 = _T_837 & _T_3296; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224761.6]
  assign _GEN_276 = _T_3297 ? wdata : {{2'd0}, reg_pmp_4_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224762.6]
  assign _T_3298 = reg_pmp_5_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224765.6]
  assign _T_3299 = _T_830 & _T_3298; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224766.6]
  assign _T_3312 = reg_pmp_6_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224788.6]
  assign _T_3313 = _T_3312 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224789.6]
  assign _T_3315 = _T_3313 & _T_523; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224791.6]
  assign _T_3316 = reg_pmp_6_cfg_l & _T_3315; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224792.6]
  assign _T_3317 = reg_pmp_5_cfg_l | _T_3316; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224793.6]
  assign _T_3318 = _T_3317 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224794.6]
  assign _T_3319 = _T_838 & _T_3318; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224795.6]
  assign _GEN_283 = _T_3319 ? wdata : {{2'd0}, reg_pmp_5_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224796.6]
  assign _T_3320 = reg_pmp_6_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224799.6]
  assign _T_3321 = _T_830 & _T_3320; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224800.6]
  assign _T_3334 = reg_pmp_7_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224822.6]
  assign _T_3335 = _T_3334 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224823.6]
  assign _T_3337 = _T_3335 & _T_533; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224825.6]
  assign _T_3338 = reg_pmp_7_cfg_l & _T_3337; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@224826.6]
  assign _T_3339 = reg_pmp_6_cfg_l | _T_3338; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224827.6]
  assign _T_3340 = _T_3339 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224828.6]
  assign _T_3341 = _T_839 & _T_3340; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224829.6]
  assign _GEN_290 = _T_3341 ? wdata : {{2'd0}, reg_pmp_6_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224830.6]
  assign _T_3342 = reg_pmp_7_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224833.6]
  assign _T_3343 = _T_830 & _T_3342; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@224834.6]
  assign _T_3361 = reg_pmp_7_cfg_l | _T_3338; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@224861.6]
  assign _T_3362 = _T_3361 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224862.6]
  assign _T_3363 = _T_840 & _T_3362; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@224863.6]
  assign _GEN_297 = _T_3363 ? wdata : {{2'd0}, reg_pmp_7_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224864.6]
  assign _GEN_315 = csr_wen ? _GEN_131 : {{57'd0}, _T_269}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_317 = csr_wen ? _GEN_135 : {{57'd0}, _T_259}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_323 = csr_wen ? _GEN_141 : {{31'd0}, reg_tselect}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_362 = csr_wen ? _GEN_248 : {{2'd0}, reg_pmp_0_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_369 = csr_wen ? _GEN_255 : {{2'd0}, reg_pmp_1_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_376 = csr_wen ? _GEN_262 : {{2'd0}, reg_pmp_2_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_383 = csr_wen ? _GEN_269 : {{2'd0}, reg_pmp_3_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_390 = csr_wen ? _GEN_276 : {{2'd0}, reg_pmp_4_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_397 = csr_wen ? _GEN_283 : {{2'd0}, reg_pmp_5_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_404 = csr_wen ? _GEN_290 : {{2'd0}, reg_pmp_6_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _GEN_411 = csr_wen ? _GEN_297 : {{2'd0}, reg_pmp_7_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.4]
  assign _T_3392 = io_retire > 1'h0; // @[CSR.scala 865:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224989.4]
  assign io_rw_rdata = _T_1815[31:0]; // @[CSR.scala 645:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223079.4]
  assign io_decode_0_fp_illegal = _T_918 | _T_920; // @[CSR.scala 499:23:shc.marmotcaravel.MarmotCaravelConfig.fir@222059.4]
  assign io_decode_0_fp_csr = 1'h0; // @[CSR.scala 500:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222065.4]
  assign io_decode_0_read_illegal = _T_1218 | _T_1219; // @[CSR.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222361.4]
  assign io_decode_0_write_illegal = _T_1222 == 2'h0; // @[CSR.scala 508:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222365.4]
  assign io_decode_0_write_flush = _T_1230 == 1'h0; // @[CSR.scala 509:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222374.4]
  assign io_csr_stall = reg_wfi; // @[CSR.scala 637:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222803.4]
  assign io_eret = _T_1283 | insn_ret; // @[CSR.scala 541:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222441.4]
  assign io_singleStep = reg_dcsr_step & _T_459; // @[CSR.scala 542:17:shc.marmotcaravel.MarmotCaravelConfig.fir@222444.4]
  assign io_status_debug = reg_debug; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 545:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222452.4]
  assign io_status_isa = reg_misa; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 546:17:shc.marmotcaravel.MarmotCaravelConfig.fir@222453.4]
  assign io_status_dprv = 2'h3; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 549:18:shc.marmotcaravel.MarmotCaravelConfig.fir@222461.4]
  assign io_status_prv = 2'h3; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_sd = _T_1288 | _T_1290; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 544:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222451.4]
  assign io_status_zero2 = 27'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_sxl = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 548:17:shc.marmotcaravel.MarmotCaravelConfig.fir@222455.4]
  assign io_status_uxl = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 547:17:shc.marmotcaravel.MarmotCaravelConfig.fir@222454.4]
  assign io_status_sd_rv32 = io_status_sd; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4 CSR.scala 551:23:shc.marmotcaravel.MarmotCaravelConfig.fir@222462.4]
  assign io_status_zero1 = 8'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_tsr = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_tw = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_tvm = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_mxr = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_sum = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_mprv = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_xs = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_fs = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_mpp = reg_mstatus_mpp; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_hpp = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_spp = reg_mstatus_spp; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_mpie = reg_mstatus_mpie; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_hpie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_spie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_upie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_mie = reg_mstatus_mie; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_hie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_sie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_status_uie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.4]
  assign io_evec = insn_ret ? _GEN_95 : tvec; // @[CSR.scala 539:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222437.4 CSR.scala 622:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222774.8 CSR.scala 626:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222787.10 CSR.scala 632:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222799.10]
  assign io_time = _T_275[31:0]; // @[CSR.scala 636:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222802.4]
  assign io_interrupt = _T_458 & _T_459; // @[CSR.scala 343:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221557.4]
  assign io_interrupt_cause = 32'h80000000 + _GEN_450; // @[CSR.scala 344:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221558.4]
  assign io_bp_0_control_action = reg_bp_0_control_action; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_0_control_chain = reg_bp_0_control_chain; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_0_control_tmatch = reg_bp_0_control_tmatch; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_0_control_x = reg_bp_0_control_x; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_0_control_w = reg_bp_0_control_w; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_0_control_r = reg_bp_0_control_r; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_0_address = reg_bp_0_address; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221559.4]
  assign io_bp_1_control_action = reg_bp_1_control_action; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign io_bp_1_control_tmatch = reg_bp_1_control_tmatch; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign io_bp_1_control_x = reg_bp_1_control_x; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign io_bp_1_control_w = reg_bp_1_control_w; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign io_bp_1_control_r = reg_bp_1_control_r; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign io_bp_1_address = reg_bp_1_address; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign io_pmp_0_cfg_l = reg_pmp_0_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_0_cfg_a = reg_pmp_0_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_0_cfg_x = reg_pmp_0_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_0_cfg_w = reg_pmp_0_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_0_cfg_r = reg_pmp_0_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_0_addr = reg_pmp_0_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_0_mask = _T_470[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221657.4]
  assign io_pmp_1_cfg_l = reg_pmp_1_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_1_cfg_a = reg_pmp_1_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_1_cfg_x = reg_pmp_1_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_1_cfg_w = reg_pmp_1_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_1_cfg_r = reg_pmp_1_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_1_addr = reg_pmp_1_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_1_mask = _T_480[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign io_pmp_2_cfg_l = reg_pmp_2_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_2_cfg_a = reg_pmp_2_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_2_cfg_x = reg_pmp_2_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_2_cfg_w = reg_pmp_2_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_2_cfg_r = reg_pmp_2_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_2_addr = reg_pmp_2_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_2_mask = _T_490[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign io_pmp_3_cfg_l = reg_pmp_3_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_3_cfg_a = reg_pmp_3_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_3_cfg_x = reg_pmp_3_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_3_cfg_w = reg_pmp_3_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_3_cfg_r = reg_pmp_3_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_3_addr = reg_pmp_3_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_3_mask = _T_500[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign io_pmp_4_cfg_l = reg_pmp_4_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_4_cfg_a = reg_pmp_4_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_4_cfg_x = reg_pmp_4_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_4_cfg_w = reg_pmp_4_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_4_cfg_r = reg_pmp_4_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_4_addr = reg_pmp_4_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_4_mask = _T_510[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign io_pmp_5_cfg_l = reg_pmp_5_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_5_cfg_a = reg_pmp_5_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_5_cfg_x = reg_pmp_5_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_5_cfg_w = reg_pmp_5_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_5_cfg_r = reg_pmp_5_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_5_addr = reg_pmp_5_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_5_mask = _T_520[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign io_pmp_6_cfg_l = reg_pmp_6_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_6_cfg_a = reg_pmp_6_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_6_cfg_x = reg_pmp_6_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_6_cfg_w = reg_pmp_6_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_6_cfg_r = reg_pmp_6_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_6_addr = reg_pmp_6_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_6_mask = _T_530[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign io_pmp_7_cfg_l = reg_pmp_7_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_pmp_7_cfg_a = reg_pmp_7_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_pmp_7_cfg_x = reg_pmp_7_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_pmp_7_cfg_w = reg_pmp_7_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_pmp_7_cfg_r = reg_pmp_7_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_pmp_7_addr = reg_pmp_7_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_pmp_7_mask = _T_540[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  assign io_trace_0_valid = _T_3392 | io_trace_0_exception; // @[CSR.scala 865:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224991.4]
  assign io_trace_0_iaddr = io_pc; // @[CSR.scala 867:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224993.4]
  assign io_trace_0_insn = io_inst_0; // @[CSR.scala 866:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224992.4]
  assign io_trace_0_exception = _T_1283 | io_exception; // @[CSR.scala 864:17:shc.marmotcaravel.MarmotCaravelConfig.fir@224988.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@222473.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@222474.6]
        end
    `ifdef STOP_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@222505.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@222506.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@222515.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@222516.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@225001.2]
  input         io_status_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_0_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_0_control_chain, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input  [1:0]  io_bp_0_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_0_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_0_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_0_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input  [31:0] io_bp_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_1_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input  [1:0]  io_bp_1_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_1_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_1_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input         io_bp_1_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input  [31:0] io_bp_1_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input  [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  input  [31:0] io_ea, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  output        io_xcpt_if, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  output        io_xcpt_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  output        io_xcpt_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  output        io_debug_if, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  output        io_debug_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  output        io_debug_st // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
);
  wire  _T_20; // @[Breakpoint.scala 30:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225015.4]
  wire [3:0] _T_24; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225019.4]
  wire  _T_25; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225020.4]
  wire  _T_26; // @[Breakpoint.scala 30:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225021.4]
  wire  _T_28; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225023.4]
  wire  _T_29; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225024.4]
  wire  _T_30; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225025.4]
  wire  _T_31; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225026.4]
  wire  _T_32; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225027.4]
  wire [31:0] _T_33; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225028.4]
  wire  _T_35; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225030.4]
  wire  _T_36; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225031.4]
  wire  _T_37; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225032.4]
  wire  _T_38; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225033.4]
  wire  _T_39; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225034.4]
  wire  _T_40; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225035.4]
  wire [1:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225036.4]
  wire [1:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225037.4]
  wire [3:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225038.4]
  wire [31:0] _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
  wire [31:0] _T_44; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
  wire [31:0] _T_45; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225040.4]
  wire [31:0] _T_56; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225051.4]
  wire  _T_57; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225052.4]
  wire  _T_58; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225053.4]
  wire  _T_59; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225054.4]
  wire  _T_61; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225056.4]
  wire  _T_92; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225087.4]
  wire  _T_94; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225089.4]
  wire  _T_96; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225091.4]
  wire  _T_98; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225093.4]
  wire [31:0] _T_99; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225094.4]
  wire [31:0] _T_110; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225105.4]
  wire  _T_123; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225118.4]
  wire  _T_124; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225119.4]
  wire  _T_125; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225120.4]
  wire  _T_126; // @[Breakpoint.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225121.4]
  wire  _T_127; // @[Breakpoint.scala 78:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225122.4]
  wire  _T_128; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225124.6]
  wire  _GEN_0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
  wire  _GEN_1; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
  wire  _T_129; // @[Breakpoint.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225128.4]
  wire  _GEN_2; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
  wire  _GEN_3; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
  wire  _T_131; // @[Breakpoint.scala 80:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225134.4]
  wire  _GEN_4; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225135.4]
  wire  _GEN_5; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225135.4]
  wire  _T_133; // @[Breakpoint.scala 82:10:shc.marmotcaravel.MarmotCaravelConfig.fir@225140.4]
  wire  _T_134; // @[Breakpoint.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225141.4]
  wire  _T_135; // @[Breakpoint.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225142.4]
  wire  _T_143; // @[Breakpoint.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225150.4]
  wire  _T_144; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225151.4]
  wire  _T_145; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225152.4]
  wire  _T_146; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225153.4]
  wire  _T_147; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225154.4]
  wire  _T_148; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225155.4]
  wire  _T_151; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225158.4]
  wire  _T_152; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225159.4]
  wire  _T_153; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225160.4]
  wire  _T_154; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225161.4]
  wire  _T_155; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225162.4]
  wire  _T_156; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225163.4]
  wire [1:0] _T_157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225164.4]
  wire [1:0] _T_158; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225165.4]
  wire [3:0] _T_159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225166.4]
  wire [31:0] _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225167.4]
  wire [31:0] _T_160; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225167.4]
  wire [31:0] _T_161; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225168.4]
  wire [31:0] _T_172; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225179.4]
  wire  _T_173; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225180.4]
  wire  _T_174; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225181.4]
  wire  _T_175; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225182.4]
  wire  _T_176; // @[Breakpoint.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225183.4]
  wire  _T_177; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225184.4]
  wire  _T_208; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225215.4]
  wire  _T_209; // @[Breakpoint.scala 75:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225216.4]
  wire  _T_210; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225217.4]
  wire  _T_212; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225219.4]
  wire  _T_214; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225221.4]
  wire [31:0] _T_226; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225233.4]
  wire  _T_239; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225246.4]
  wire  _T_240; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225247.4]
  wire  _T_241; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225248.4]
  wire  _T_244; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225252.6]
  assign _T_20 = io_status_debug == 1'h0; // @[Breakpoint.scala 30:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225015.4]
  assign _T_24 = 4'h8 >> 2'h3; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225019.4]
  assign _T_25 = _T_24[0]; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225020.4]
  assign _T_26 = _T_20 & _T_25; // @[Breakpoint.scala 30:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225021.4]
  assign _T_28 = _T_26 & io_bp_0_control_r; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225023.4]
  assign _T_29 = io_bp_0_control_tmatch[1]; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225024.4]
  assign _T_30 = io_ea >= io_bp_0_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225025.4]
  assign _T_31 = io_bp_0_control_tmatch[0]; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225026.4]
  assign _T_32 = _T_30 ^ _T_31; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225027.4]
  assign _T_33 = ~ io_ea; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225028.4]
  assign _T_35 = io_bp_0_address[0]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225030.4]
  assign _T_36 = _T_31 & _T_35; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225031.4]
  assign _T_37 = io_bp_0_address[1]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225032.4]
  assign _T_38 = _T_36 & _T_37; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225033.4]
  assign _T_39 = io_bp_0_address[2]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225034.4]
  assign _T_40 = _T_38 & _T_39; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225035.4]
  assign _T_41 = {_T_36,_T_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225036.4]
  assign _T_42 = {_T_40,_T_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225037.4]
  assign _T_43 = {_T_42,_T_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225038.4]
  assign _GEN_12 = {{28'd0}, _T_43}; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
  assign _T_44 = _T_33 | _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
  assign _T_45 = ~ io_bp_0_address; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225040.4]
  assign _T_56 = _T_45 | _GEN_12; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225051.4]
  assign _T_57 = _T_44 == _T_56; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225052.4]
  assign _T_58 = _T_29 ? _T_32 : _T_57; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225053.4]
  assign _T_59 = _T_28 & _T_58; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225054.4]
  assign _T_61 = _T_26 & io_bp_0_control_w; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225056.4]
  assign _T_92 = _T_61 & _T_58; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225087.4]
  assign _T_94 = _T_26 & io_bp_0_control_x; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225089.4]
  assign _T_96 = io_pc >= io_bp_0_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225091.4]
  assign _T_98 = _T_96 ^ _T_31; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225093.4]
  assign _T_99 = ~ io_pc; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225094.4]
  assign _T_110 = _T_99 | _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225105.4]
  assign _T_123 = _T_110 == _T_56; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225118.4]
  assign _T_124 = _T_29 ? _T_98 : _T_123; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225119.4]
  assign _T_125 = _T_94 & _T_124; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225120.4]
  assign _T_126 = io_bp_0_control_chain == 1'h0; // @[Breakpoint.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225121.4]
  assign _T_127 = _T_126 & _T_59; // @[Breakpoint.scala 78:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225122.4]
  assign _T_128 = io_bp_0_control_action == 1'h0; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225124.6]
  assign _GEN_0 = _T_127 ? _T_128 : 1'h0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
  assign _GEN_1 = _T_127 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
  assign _T_129 = _T_126 & _T_92; // @[Breakpoint.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225128.4]
  assign _GEN_2 = _T_129 ? _T_128 : 1'h0; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
  assign _GEN_3 = _T_129 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
  assign _T_131 = _T_126 & _T_125; // @[Breakpoint.scala 80:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225134.4]
  assign _GEN_4 = _T_131 ? _T_128 : 1'h0; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225135.4]
  assign _GEN_5 = _T_131 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225135.4]
  assign _T_133 = _T_126 | _T_59; // @[Breakpoint.scala 82:10:shc.marmotcaravel.MarmotCaravelConfig.fir@225140.4]
  assign _T_134 = _T_126 | _T_92; // @[Breakpoint.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225141.4]
  assign _T_135 = _T_126 | _T_125; // @[Breakpoint.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225142.4]
  assign _T_143 = _T_26 & _T_133; // @[Breakpoint.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225150.4]
  assign _T_144 = _T_143 & io_bp_1_control_r; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225151.4]
  assign _T_145 = io_bp_1_control_tmatch[1]; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225152.4]
  assign _T_146 = io_ea >= io_bp_1_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225153.4]
  assign _T_147 = io_bp_1_control_tmatch[0]; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225154.4]
  assign _T_148 = _T_146 ^ _T_147; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225155.4]
  assign _T_151 = io_bp_1_address[0]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225158.4]
  assign _T_152 = _T_147 & _T_151; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225159.4]
  assign _T_153 = io_bp_1_address[1]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225160.4]
  assign _T_154 = _T_152 & _T_153; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225161.4]
  assign _T_155 = io_bp_1_address[2]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@225162.4]
  assign _T_156 = _T_154 & _T_155; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225163.4]
  assign _T_157 = {_T_152,_T_147}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225164.4]
  assign _T_158 = {_T_156,_T_154}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225165.4]
  assign _T_159 = {_T_158,_T_157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225166.4]
  assign _GEN_18 = {{28'd0}, _T_159}; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225167.4]
  assign _T_160 = _T_33 | _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225167.4]
  assign _T_161 = ~ io_bp_1_address; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225168.4]
  assign _T_172 = _T_161 | _GEN_18; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225179.4]
  assign _T_173 = _T_160 == _T_172; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225180.4]
  assign _T_174 = _T_145 ? _T_148 : _T_173; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225181.4]
  assign _T_175 = _T_144 & _T_174; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225182.4]
  assign _T_176 = _T_26 & _T_134; // @[Breakpoint.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225183.4]
  assign _T_177 = _T_176 & io_bp_1_control_w; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225184.4]
  assign _T_208 = _T_177 & _T_174; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225215.4]
  assign _T_209 = _T_26 & _T_135; // @[Breakpoint.scala 75:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225216.4]
  assign _T_210 = _T_209 & io_bp_1_control_x; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225217.4]
  assign _T_212 = io_pc >= io_bp_1_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225219.4]
  assign _T_214 = _T_212 ^ _T_147; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225221.4]
  assign _T_226 = _T_99 | _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225233.4]
  assign _T_239 = _T_226 == _T_172; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225246.4]
  assign _T_240 = _T_145 ? _T_214 : _T_239; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225247.4]
  assign _T_241 = _T_210 & _T_240; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225248.4]
  assign _T_244 = io_bp_1_control_action == 1'h0; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225252.6]
  assign io_xcpt_if = _T_241 ? _T_244 : _GEN_4; // @[Breakpoint.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225009.4 Breakpoint.scala 80:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225137.6 Breakpoint.scala 80:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225265.6]
  assign io_xcpt_ld = _T_175 ? _T_244 : _GEN_0; // @[Breakpoint.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225010.4 Breakpoint.scala 78:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225125.6 Breakpoint.scala 78:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225253.6]
  assign io_xcpt_st = _T_208 ? _T_244 : _GEN_2; // @[Breakpoint.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225011.4 Breakpoint.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225131.6 Breakpoint.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225259.6]
  assign io_debug_if = _T_241 ? io_bp_1_control_action : _GEN_5; // @[Breakpoint.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225012.4 Breakpoint.scala 80:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225138.6 Breakpoint.scala 80:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225266.6]
  assign io_debug_ld = _T_175 ? io_bp_1_control_action : _GEN_1; // @[Breakpoint.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4 Breakpoint.scala 78:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225126.6 Breakpoint.scala 78:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225254.6]
  assign io_debug_st = _T_208 ? io_bp_1_control_action : _GEN_3; // @[Breakpoint.scala 69:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225014.4 Breakpoint.scala 79:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225132.6 Breakpoint.scala 79:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225260.6]
endmodule
module ALU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225272.2]
  input  [3:0]  io_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225275.4]
  input  [31:0] io_in2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225275.4]
  input  [31:0] io_in1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225275.4]
  output [31:0] io_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225275.4]
  output [31:0] io_adder_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225275.4]
  output        io_cmp_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225275.4]
);
  wire  _T_11; // @[ALU.scala 40:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225280.4]
  wire [31:0] _T_12; // @[ALU.scala 62:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225281.4]
  wire [31:0] in2_inv; // @[ALU.scala 62:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225282.4]
  wire [31:0] in1_xor_in2; // @[ALU.scala 63:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225283.4]
  wire [31:0] _T_14; // @[ALU.scala 64:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225285.4]
  wire [31:0] _GEN_0; // @[ALU.scala 64:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225287.4]
  wire  _T_18; // @[ALU.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225290.4]
  wire  _T_19; // @[ALU.scala 68:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225291.4]
  wire  _T_20; // @[ALU.scala 68:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225292.4]
  wire  _T_21; // @[ALU.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@225293.4]
  wire  _T_22; // @[ALU.scala 42:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225294.4]
  wire  _T_25; // @[ALU.scala 69:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225297.4]
  wire  slt; // @[ALU.scala 68:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225298.4]
  wire  _T_26; // @[ALU.scala 43:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225299.4]
  wire  _T_28; // @[ALU.scala 44:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225301.4]
  wire  _T_29; // @[ALU.scala 70:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225302.4]
  wire  _T_30; // @[ALU.scala 70:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225303.4]
  wire [4:0] shamt; // @[ALU.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225306.4]
  wire  _T_32; // @[ALU.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225307.4]
  wire  _T_33; // @[ALU.scala 82:44:shc.marmotcaravel.MarmotCaravelConfig.fir@225308.4]
  wire  _T_34; // @[ALU.scala 82:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225309.4]
  wire [15:0] _T_37; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
  wire [31:0] _T_38; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225313.4]
  wire [15:0] _T_39; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225314.4]
  wire [31:0] _GEN_1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225315.4]
  wire [31:0] _T_40; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225315.4]
  wire [31:0] _T_42; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  wire [31:0] _T_43; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225318.4]
  wire [23:0] _T_47; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225322.4]
  wire [31:0] _GEN_2; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire [31:0] _T_48; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire [23:0] _T_49; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225324.4]
  wire [31:0] _GEN_3; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225325.4]
  wire [31:0] _T_50; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225325.4]
  wire [31:0] _T_52; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225327.4]
  wire [31:0] _T_53; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225328.4]
  wire [27:0] _T_57; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225332.4]
  wire [31:0] _GEN_4; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225333.4]
  wire [31:0] _T_58; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225333.4]
  wire [27:0] _T_59; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225334.4]
  wire [31:0] _GEN_5; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire [31:0] _T_60; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire [31:0] _T_62; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225337.4]
  wire [31:0] _T_63; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225338.4]
  wire [29:0] _T_67; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225342.4]
  wire [31:0] _GEN_6; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225343.4]
  wire [31:0] _T_68; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225343.4]
  wire [29:0] _T_69; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225344.4]
  wire [31:0] _GEN_7; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225345.4]
  wire [31:0] _T_70; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225345.4]
  wire [31:0] _T_72; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225347.4]
  wire [31:0] _T_73; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225348.4]
  wire [30:0] _T_77; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225352.4]
  wire [31:0] _GEN_8; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225353.4]
  wire [31:0] _T_78; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225353.4]
  wire [30:0] _T_79; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225354.4]
  wire [31:0] _GEN_9; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225355.4]
  wire [31:0] _T_80; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225355.4]
  wire [31:0] _T_82; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225357.4]
  wire [31:0] _T_83; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225358.4]
  wire [31:0] shin; // @[ALU.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225359.4]
  wire  _T_85; // @[ALU.scala 83:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225361.4]
  wire  _T_86; // @[ALU.scala 83:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225362.4]
  wire [32:0] _T_87; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225363.4]
  wire [32:0] _T_88; // @[ALU.scala 83:57:shc.marmotcaravel.MarmotCaravelConfig.fir@225364.4]
  wire [32:0] _T_89; // @[ALU.scala 83:64:shc.marmotcaravel.MarmotCaravelConfig.fir@225365.4]
  wire [31:0] shout_r; // @[ALU.scala 83:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225366.4]
  wire [15:0] _T_92; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225369.4]
  wire [31:0] _T_93; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225370.4]
  wire [15:0] _T_94; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225371.4]
  wire [31:0] _GEN_10; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
  wire [31:0] _T_95; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
  wire [31:0] _T_97; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225374.4]
  wire [31:0] _T_98; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225375.4]
  wire [23:0] _T_102; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225379.4]
  wire [31:0] _GEN_11; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225380.4]
  wire [31:0] _T_103; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225380.4]
  wire [23:0] _T_104; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225381.4]
  wire [31:0] _GEN_12; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225382.4]
  wire [31:0] _T_105; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225382.4]
  wire [31:0] _T_107; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225384.4]
  wire [31:0] _T_108; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225385.4]
  wire [27:0] _T_112; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225389.4]
  wire [31:0] _GEN_13; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225390.4]
  wire [31:0] _T_113; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225390.4]
  wire [27:0] _T_114; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225391.4]
  wire [31:0] _GEN_14; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225392.4]
  wire [31:0] _T_115; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225392.4]
  wire [31:0] _T_117; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225394.4]
  wire [31:0] _T_118; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225395.4]
  wire [29:0] _T_122; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225399.4]
  wire [31:0] _GEN_15; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225400.4]
  wire [31:0] _T_123; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225400.4]
  wire [29:0] _T_124; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225401.4]
  wire [31:0] _GEN_16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225402.4]
  wire [31:0] _T_125; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225402.4]
  wire [31:0] _T_127; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225404.4]
  wire [31:0] _T_128; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  wire [30:0] _T_132; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225409.4]
  wire [31:0] _GEN_17; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225410.4]
  wire [31:0] _T_133; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225410.4]
  wire [30:0] _T_134; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225411.4]
  wire [31:0] _GEN_18; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225412.4]
  wire [31:0] _T_135; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225412.4]
  wire [31:0] _T_137; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225414.4]
  wire [31:0] shout_l; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] _T_141; // @[ALU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  wire  _T_142; // @[ALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225420.4]
  wire [31:0] _T_143; // @[ALU.scala 86:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225421.4]
  wire [31:0] shout; // @[ALU.scala 85:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225422.4]
  wire  _T_144; // @[ALU.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225423.4]
  wire  _T_145; // @[ALU.scala 89:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225424.4]
  wire  _T_146; // @[ALU.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225425.4]
  wire [31:0] _T_147; // @[ALU.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  wire  _T_149; // @[ALU.scala 90:44:shc.marmotcaravel.MarmotCaravelConfig.fir@225428.4]
  wire  _T_150; // @[ALU.scala 90:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225429.4]
  wire [31:0] _T_151; // @[ALU.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@225430.4]
  wire [31:0] _T_152; // @[ALU.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225431.4]
  wire [31:0] logic$; // @[ALU.scala 89:78:shc.marmotcaravel.MarmotCaravelConfig.fir@225432.4]
  wire  _T_153; // @[ALU.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225433.4]
  wire  _T_154; // @[ALU.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225434.4]
  wire [31:0] _GEN_19; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225435.4]
  wire [31:0] _T_155; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225435.4]
  wire [31:0] shift_logic; // @[ALU.scala 91:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225436.4]
  wire  _T_156; // @[ALU.scala 92:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225437.4]
  wire  _T_157; // @[ALU.scala 92:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225438.4]
  wire  _T_158; // @[ALU.scala 92:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225439.4]
  assign _T_11 = io_fn[3]; // @[ALU.scala 40:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225280.4]
  assign _T_12 = ~ io_in2; // @[ALU.scala 62:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225281.4]
  assign in2_inv = _T_11 ? _T_12 : io_in2; // @[ALU.scala 62:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225282.4]
  assign in1_xor_in2 = io_in1 ^ in2_inv; // @[ALU.scala 63:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225283.4]
  assign _T_14 = io_in1 + in2_inv; // @[ALU.scala 64:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225285.4]
  assign _GEN_0 = {{31'd0}, _T_11}; // @[ALU.scala 64:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225287.4]
  assign _T_18 = io_in1[31]; // @[ALU.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225290.4]
  assign _T_19 = io_in2[31]; // @[ALU.scala 68:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225291.4]
  assign _T_20 = _T_18 == _T_19; // @[ALU.scala 68:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225292.4]
  assign _T_21 = io_adder_out[31]; // @[ALU.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@225293.4]
  assign _T_22 = io_fn[1]; // @[ALU.scala 42:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225294.4]
  assign _T_25 = _T_22 ? _T_19 : _T_18; // @[ALU.scala 69:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225297.4]
  assign slt = _T_20 ? _T_21 : _T_25; // @[ALU.scala 68:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225298.4]
  assign _T_26 = io_fn[0]; // @[ALU.scala 43:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225299.4]
  assign _T_28 = _T_11 == 1'h0; // @[ALU.scala 44:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225301.4]
  assign _T_29 = in1_xor_in2 == 32'h0; // @[ALU.scala 70:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225302.4]
  assign _T_30 = _T_28 ? _T_29 : slt; // @[ALU.scala 70:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225303.4]
  assign shamt = io_in2[4:0]; // @[ALU.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225306.4]
  assign _T_32 = io_fn == 4'h5; // @[ALU.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225307.4]
  assign _T_33 = io_fn == 4'hb; // @[ALU.scala 82:44:shc.marmotcaravel.MarmotCaravelConfig.fir@225308.4]
  assign _T_34 = _T_32 | _T_33; // @[ALU.scala 82:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225309.4]
  assign _T_37 = io_in1[31:16]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
  assign _T_38 = {{16'd0}, _T_37}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225313.4]
  assign _T_39 = io_in1[15:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225314.4]
  assign _GEN_1 = {{16'd0}, _T_39}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225315.4]
  assign _T_40 = _GEN_1 << 16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225315.4]
  assign _T_42 = _T_40 & 32'hffff0000; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  assign _T_43 = _T_38 | _T_42; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225318.4]
  assign _T_47 = _T_43[31:8]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225322.4]
  assign _GEN_2 = {{8'd0}, _T_47}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  assign _T_48 = _GEN_2 & 32'hff00ff; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  assign _T_49 = _T_43[23:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225324.4]
  assign _GEN_3 = {{8'd0}, _T_49}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225325.4]
  assign _T_50 = _GEN_3 << 8; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225325.4]
  assign _T_52 = _T_50 & 32'hff00ff00; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225327.4]
  assign _T_53 = _T_48 | _T_52; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225328.4]
  assign _T_57 = _T_53[31:4]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225332.4]
  assign _GEN_4 = {{4'd0}, _T_57}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225333.4]
  assign _T_58 = _GEN_4 & 32'hf0f0f0f; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225333.4]
  assign _T_59 = _T_53[27:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225334.4]
  assign _GEN_5 = {{4'd0}, _T_59}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  assign _T_60 = _GEN_5 << 4; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  assign _T_62 = _T_60 & 32'hf0f0f0f0; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225337.4]
  assign _T_63 = _T_58 | _T_62; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225338.4]
  assign _T_67 = _T_63[31:2]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225342.4]
  assign _GEN_6 = {{2'd0}, _T_67}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225343.4]
  assign _T_68 = _GEN_6 & 32'h33333333; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225343.4]
  assign _T_69 = _T_63[29:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225344.4]
  assign _GEN_7 = {{2'd0}, _T_69}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225345.4]
  assign _T_70 = _GEN_7 << 2; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225345.4]
  assign _T_72 = _T_70 & 32'hcccccccc; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225347.4]
  assign _T_73 = _T_68 | _T_72; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225348.4]
  assign _T_77 = _T_73[31:1]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225352.4]
  assign _GEN_8 = {{1'd0}, _T_77}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225353.4]
  assign _T_78 = _GEN_8 & 32'h55555555; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225353.4]
  assign _T_79 = _T_73[30:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225354.4]
  assign _GEN_9 = {{1'd0}, _T_79}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225355.4]
  assign _T_80 = _GEN_9 << 1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225355.4]
  assign _T_82 = _T_80 & 32'haaaaaaaa; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225357.4]
  assign _T_83 = _T_78 | _T_82; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225358.4]
  assign shin = _T_34 ? io_in1 : _T_83; // @[ALU.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225359.4]
  assign _T_85 = shin[31]; // @[ALU.scala 83:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225361.4]
  assign _T_86 = _T_11 & _T_85; // @[ALU.scala 83:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225362.4]
  assign _T_87 = {_T_86,shin}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225363.4]
  assign _T_88 = $signed(_T_87); // @[ALU.scala 83:57:shc.marmotcaravel.MarmotCaravelConfig.fir@225364.4]
  assign _T_89 = $signed(_T_88) >>> shamt; // @[ALU.scala 83:64:shc.marmotcaravel.MarmotCaravelConfig.fir@225365.4]
  assign shout_r = _T_89[31:0]; // @[ALU.scala 83:73:shc.marmotcaravel.MarmotCaravelConfig.fir@225366.4]
  assign _T_92 = shout_r[31:16]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225369.4]
  assign _T_93 = {{16'd0}, _T_92}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225370.4]
  assign _T_94 = shout_r[15:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225371.4]
  assign _GEN_10 = {{16'd0}, _T_94}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
  assign _T_95 = _GEN_10 << 16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
  assign _T_97 = _T_95 & 32'hffff0000; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225374.4]
  assign _T_98 = _T_93 | _T_97; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225375.4]
  assign _T_102 = _T_98[31:8]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225379.4]
  assign _GEN_11 = {{8'd0}, _T_102}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225380.4]
  assign _T_103 = _GEN_11 & 32'hff00ff; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225380.4]
  assign _T_104 = _T_98[23:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225381.4]
  assign _GEN_12 = {{8'd0}, _T_104}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225382.4]
  assign _T_105 = _GEN_12 << 8; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225382.4]
  assign _T_107 = _T_105 & 32'hff00ff00; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225384.4]
  assign _T_108 = _T_103 | _T_107; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225385.4]
  assign _T_112 = _T_108[31:4]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225389.4]
  assign _GEN_13 = {{4'd0}, _T_112}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225390.4]
  assign _T_113 = _GEN_13 & 32'hf0f0f0f; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225390.4]
  assign _T_114 = _T_108[27:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225391.4]
  assign _GEN_14 = {{4'd0}, _T_114}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225392.4]
  assign _T_115 = _GEN_14 << 4; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225392.4]
  assign _T_117 = _T_115 & 32'hf0f0f0f0; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225394.4]
  assign _T_118 = _T_113 | _T_117; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225395.4]
  assign _T_122 = _T_118[31:2]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225399.4]
  assign _GEN_15 = {{2'd0}, _T_122}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225400.4]
  assign _T_123 = _GEN_15 & 32'h33333333; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225400.4]
  assign _T_124 = _T_118[29:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225401.4]
  assign _GEN_16 = {{2'd0}, _T_124}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225402.4]
  assign _T_125 = _GEN_16 << 2; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225402.4]
  assign _T_127 = _T_125 & 32'hcccccccc; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225404.4]
  assign _T_128 = _T_123 | _T_127; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  assign _T_132 = _T_128[31:1]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225409.4]
  assign _GEN_17 = {{1'd0}, _T_132}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225410.4]
  assign _T_133 = _GEN_17 & 32'h55555555; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225410.4]
  assign _T_134 = _T_128[30:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225411.4]
  assign _GEN_18 = {{1'd0}, _T_134}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225412.4]
  assign _T_135 = _GEN_18 << 1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225412.4]
  assign _T_137 = _T_135 & 32'haaaaaaaa; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@225414.4]
  assign shout_l = _T_133 | _T_137; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  assign _T_141 = _T_34 ? shout_r : 32'h0; // @[ALU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign _T_142 = io_fn == 4'h1; // @[ALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225420.4]
  assign _T_143 = _T_142 ? shout_l : 32'h0; // @[ALU.scala 86:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225421.4]
  assign shout = _T_141 | _T_143; // @[ALU.scala 85:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225422.4]
  assign _T_144 = io_fn == 4'h4; // @[ALU.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225423.4]
  assign _T_145 = io_fn == 4'h6; // @[ALU.scala 89:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225424.4]
  assign _T_146 = _T_144 | _T_145; // @[ALU.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225425.4]
  assign _T_147 = _T_146 ? in1_xor_in2 : 32'h0; // @[ALU.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  assign _T_149 = io_fn == 4'h7; // @[ALU.scala 90:44:shc.marmotcaravel.MarmotCaravelConfig.fir@225428.4]
  assign _T_150 = _T_145 | _T_149; // @[ALU.scala 90:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225429.4]
  assign _T_151 = io_in1 & io_in2; // @[ALU.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@225430.4]
  assign _T_152 = _T_150 ? _T_151 : 32'h0; // @[ALU.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225431.4]
  assign logic$ = _T_147 | _T_152; // @[ALU.scala 89:78:shc.marmotcaravel.MarmotCaravelConfig.fir@225432.4]
  assign _T_153 = io_fn >= 4'hc; // @[ALU.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225433.4]
  assign _T_154 = _T_153 & slt; // @[ALU.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225434.4]
  assign _GEN_19 = {{31'd0}, _T_154}; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225435.4]
  assign _T_155 = _GEN_19 | logic$; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225435.4]
  assign shift_logic = _T_155 | shout; // @[ALU.scala 91:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225436.4]
  assign _T_156 = io_fn == 4'h0; // @[ALU.scala 92:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225437.4]
  assign _T_157 = io_fn == 4'ha; // @[ALU.scala 92:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225438.4]
  assign _T_158 = _T_156 | _T_157; // @[ALU.scala 92:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225439.4]
  assign io_out = _T_158 ? io_adder_out : shift_logic; // @[ALU.scala 94:10:shc.marmotcaravel.MarmotCaravelConfig.fir@225441.4]
  assign io_adder_out = _T_14 + _GEN_0; // @[ALU.scala 64:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225289.4]
  assign io_cmp_out = _T_26 ^ _T_30; // @[ALU.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225305.4]
endmodule
module MulDiv( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225443.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225444.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225445.4]
  output        io_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input  [3:0]  io_req_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input  [31:0] io_req_bits_in1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input  [31:0] io_req_bits_in2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input  [4:0]  io_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input         io_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  input         io_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  output [31:0] io_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
  output [4:0]  io_resp_bits_tag // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225446.4]
);
  reg [2:0] state; // @[Multiplier.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
  reg [31:0] _RAND_0;
  reg [4:0] req_tag; // @[Multiplier.scala 53:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225452.4]
  reg [31:0] _RAND_1;
  reg [5:0] count; // @[Multiplier.scala 54:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225453.4]
  reg [31:0] _RAND_2;
  reg  neg_out; // @[Multiplier.scala 57:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225454.4]
  reg [31:0] _RAND_3;
  reg  isHi; // @[Multiplier.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225455.4]
  reg [31:0] _RAND_4;
  reg  resHi; // @[Multiplier.scala 59:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225456.4]
  reg [31:0] _RAND_5;
  reg [32:0] divisor; // @[Multiplier.scala 60:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225457.4]
  reg [63:0] _RAND_6;
  reg [65:0] remainder; // @[Multiplier.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225458.4]
  reg [95:0] _RAND_7;
  wire [3:0] _T_22; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225459.4]
  wire  cmdMul; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225460.4]
  wire [3:0] _T_25; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225462.4]
  wire  _T_26; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225463.4]
  wire [3:0] _T_27; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225464.4]
  wire  _T_28; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225465.4]
  wire  cmdHi; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225467.4]
  wire [3:0] _T_31; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225468.4]
  wire  _T_32; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225469.4]
  wire [3:0] _T_33; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225470.4]
  wire  _T_34; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
  wire  lhsSigned; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225473.4]
  wire  _T_38; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225475.4]
  wire  rhsSigned; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225477.4]
  wire  _T_44; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@225485.4]
  wire  lhs_sign; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225487.4]
  wire [15:0] _T_48; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225490.4]
  wire [15:0] _T_50; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225492.4]
  wire [31:0] lhs_in; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225493.4]
  wire  _T_54; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@225497.4]
  wire  rhs_sign; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225499.4]
  wire [15:0] _T_58; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225502.4]
  wire [15:0] _T_60; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225504.4]
  wire [31:0] rhs_in; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225505.4]
  wire [32:0] _T_61; // @[Multiplier.scala 88:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225506.4]
  wire [33:0] _T_62; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225507.4]
  wire [33:0] _T_63; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225508.4]
  wire [32:0] subtractor; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225509.4]
  wire [31:0] _T_64; // @[Multiplier.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225510.4]
  wire [31:0] _T_65; // @[Multiplier.scala 89:57:shc.marmotcaravel.MarmotCaravelConfig.fir@225511.4]
  wire [31:0] result; // @[Multiplier.scala 89:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225512.4]
  wire [32:0] _T_66; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225513.4]
  wire [32:0] _T_67; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225514.4]
  wire [31:0] negated_remainder; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225515.4]
  wire  _T_68; // @[Multiplier.scala 92:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225516.4]
  wire  _T_69; // @[Multiplier.scala 93:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225518.6]
  wire  _T_70; // @[Multiplier.scala 96:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225522.6]
  wire  _T_71; // @[Multiplier.scala 101:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225528.4]
  wire  _T_72; // @[Multiplier.scala 106:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225534.4]
  wire [32:0] _T_73; // @[Multiplier.scala 107:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225536.6]
  wire [64:0] _T_75; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225538.6]
  wire  _T_76; // @[Multiplier.scala 108:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225539.6]
  wire [31:0] _T_77; // @[Multiplier.scala 109:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225540.6]
  wire [32:0] _T_78; // @[Multiplier.scala 110:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225541.6]
  wire [32:0] _T_79; // @[Multiplier.scala 110:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225542.6]
  wire [32:0] _T_80; // @[Multiplier.scala 111:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225543.6]
  wire [7:0] _T_81; // @[Multiplier.scala 112:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225544.6]
  wire [8:0] _T_82; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225545.6]
  wire [8:0] _T_83; // @[Multiplier.scala 112:60:shc.marmotcaravel.MarmotCaravelConfig.fir@225546.6]
  wire [32:0] _GEN_35; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225547.6]
  wire [41:0] _T_84; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225547.6]
  wire [41:0] _GEN_36; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@225548.6]
  wire [41:0] _T_86; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@225549.6]
  wire [41:0] _T_87; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@225550.6]
  wire [23:0] _T_88; // @[Multiplier.scala 113:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225551.6]
  wire [41:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225552.6]
  wire [65:0] _T_90; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225553.6]
  wire  _T_91; // @[Multiplier.scala 114:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225554.6]
  wire  _T_92; // @[Multiplier.scala 114:57:shc.marmotcaravel.MarmotCaravelConfig.fir@225555.6]
  wire  _T_101; // @[Multiplier.scala 118:7:shc.marmotcaravel.MarmotCaravelConfig.fir@225564.6]
  wire [32:0] _T_113; // @[Multiplier.scala 120:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225576.6]
  wire [31:0] _T_115; // @[Multiplier.scala 120:82:shc.marmotcaravel.MarmotCaravelConfig.fir@225578.6]
  wire [64:0] _T_116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225579.6]
  wire [32:0] _T_117; // @[Multiplier.scala 121:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225580.6]
  wire [31:0] _T_118; // @[Multiplier.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225581.6]
  wire [33:0] _T_119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225582.6]
  wire [65:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225583.6]
  wire [5:0] _T_122; // @[Multiplier.scala 123:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225586.6]
  wire  _T_123; // @[Multiplier.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225588.6]
  wire  _T_125; // @[Multiplier.scala 129:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225595.4]
  wire  _T_126; // @[Multiplier.scala 133:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225597.6]
  wire [31:0] _T_127; // @[Multiplier.scala 134:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225598.6]
  wire [31:0] _T_128; // @[Multiplier.scala 134:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225599.6]
  wire [31:0] _T_129; // @[Multiplier.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225600.6]
  wire  _T_131; // @[Multiplier.scala 134:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225602.6]
  wire [63:0] _T_132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225603.6]
  wire [64:0] _T_133; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225604.6]
  wire  _T_134; // @[Multiplier.scala 138:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225606.6]
  wire  _T_138; // @[Multiplier.scala 146:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225615.6]
  wire  _T_141; // @[Multiplier.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225618.6]
  wire  _T_143; // @[Multiplier.scala 159:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225620.6]
  wire  _T_144; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225625.4]
  wire  _T_145; // @[Multiplier.scala 161:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225626.4]
  wire  _T_146; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225630.4]
  wire  _T_147; // @[Multiplier.scala 165:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225632.6]
  wire  _T_154; // @[Multiplier.scala 169:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225643.6]
  wire [32:0] _T_156; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225646.6]
  wire [15:0] _T_165; // @[Multiplier.scala 176:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225660.4]
  wire [15:0] loOut; // @[Multiplier.scala 176:86:shc.marmotcaravel.MarmotCaravelConfig.fir@225661.4]
  wire  _T_174; // @[Multiplier.scala 180:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225673.4]
  wire  _T_175; // @[Multiplier.scala 180:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225674.4]
  assign _T_22 = io_req_bits_fn & 4'h4; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225459.4]
  assign cmdMul = _T_22 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225460.4]
  assign _T_25 = io_req_bits_fn & 4'h5; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225462.4]
  assign _T_26 = _T_25 == 4'h1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225463.4]
  assign _T_27 = io_req_bits_fn & 4'h2; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225464.4]
  assign _T_28 = _T_27 == 4'h2; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225465.4]
  assign cmdHi = _T_26 | _T_28; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225467.4]
  assign _T_31 = io_req_bits_fn & 4'h6; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225468.4]
  assign _T_32 = _T_31 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225469.4]
  assign _T_33 = io_req_bits_fn & 4'h1; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225470.4]
  assign _T_34 = _T_33 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
  assign lhsSigned = _T_32 | _T_34; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225473.4]
  assign _T_38 = _T_25 == 4'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225475.4]
  assign rhsSigned = _T_32 | _T_38; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225477.4]
  assign _T_44 = io_req_bits_in1[31]; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@225485.4]
  assign lhs_sign = lhsSigned & _T_44; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225487.4]
  assign _T_48 = io_req_bits_in1[31:16]; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225490.4]
  assign _T_50 = io_req_bits_in1[15:0]; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225492.4]
  assign lhs_in = {_T_48,_T_50}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225493.4]
  assign _T_54 = io_req_bits_in2[31]; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@225497.4]
  assign rhs_sign = rhsSigned & _T_54; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225499.4]
  assign _T_58 = io_req_bits_in2[31:16]; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225502.4]
  assign _T_60 = io_req_bits_in2[15:0]; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225504.4]
  assign rhs_in = {_T_58,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225505.4]
  assign _T_61 = remainder[64:32]; // @[Multiplier.scala 88:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225506.4]
  assign _T_62 = _T_61 - divisor; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225507.4]
  assign _T_63 = $unsigned(_T_62); // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225508.4]
  assign subtractor = _T_63[32:0]; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225509.4]
  assign _T_64 = remainder[64:33]; // @[Multiplier.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225510.4]
  assign _T_65 = remainder[31:0]; // @[Multiplier.scala 89:57:shc.marmotcaravel.MarmotCaravelConfig.fir@225511.4]
  assign result = resHi ? _T_64 : _T_65; // @[Multiplier.scala 89:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225512.4]
  assign _T_66 = 32'h0 - result; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225513.4]
  assign _T_67 = $unsigned(_T_66); // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225514.4]
  assign negated_remainder = _T_67[31:0]; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225515.4]
  assign _T_68 = state == 3'h1; // @[Multiplier.scala 92:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225516.4]
  assign _T_69 = remainder[31]; // @[Multiplier.scala 93:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225518.6]
  assign _T_70 = divisor[31]; // @[Multiplier.scala 96:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225522.6]
  assign _T_71 = state == 3'h5; // @[Multiplier.scala 101:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225528.4]
  assign _T_72 = state == 3'h2; // @[Multiplier.scala 106:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225534.4]
  assign _T_73 = remainder[65:33]; // @[Multiplier.scala 107:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225536.6]
  assign _T_75 = {_T_73,_T_65}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225538.6]
  assign _T_76 = remainder[32]; // @[Multiplier.scala 108:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225539.6]
  assign _T_77 = _T_75[31:0]; // @[Multiplier.scala 109:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225540.6]
  assign _T_78 = _T_75[64:32]; // @[Multiplier.scala 110:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225541.6]
  assign _T_79 = $signed(_T_78); // @[Multiplier.scala 110:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225542.6]
  assign _T_80 = $signed(divisor); // @[Multiplier.scala 111:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225543.6]
  assign _T_81 = _T_77[7:0]; // @[Multiplier.scala 112:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225544.6]
  assign _T_82 = {_T_76,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225545.6]
  assign _T_83 = $signed(_T_82); // @[Multiplier.scala 112:60:shc.marmotcaravel.MarmotCaravelConfig.fir@225546.6]
  assign _GEN_35 = {{24{_T_83[8]}},_T_83}; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225547.6]
  assign _T_84 = $signed(_GEN_35) * $signed(_T_80); // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225547.6]
  assign _GEN_36 = {{9{_T_79[32]}},_T_79}; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@225548.6]
  assign _T_86 = $signed(_T_84) + $signed(_GEN_36); // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@225549.6]
  assign _T_87 = $signed(_T_86); // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@225550.6]
  assign _T_88 = _T_77[31:8]; // @[Multiplier.scala 113:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225551.6]
  assign _T_89 = $unsigned(_T_87); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225552.6]
  assign _T_90 = {_T_89,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225553.6]
  assign _T_91 = count == 6'h2; // @[Multiplier.scala 114:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225554.6]
  assign _T_92 = _T_91 & neg_out; // @[Multiplier.scala 114:57:shc.marmotcaravel.MarmotCaravelConfig.fir@225555.6]
  assign _T_101 = isHi == 1'h0; // @[Multiplier.scala 118:7:shc.marmotcaravel.MarmotCaravelConfig.fir@225564.6]
  assign _T_113 = _T_90[64:32]; // @[Multiplier.scala 120:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225576.6]
  assign _T_115 = _T_90[31:0]; // @[Multiplier.scala 120:82:shc.marmotcaravel.MarmotCaravelConfig.fir@225578.6]
  assign _T_116 = {_T_113,_T_115}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225579.6]
  assign _T_117 = _T_116[64:32]; // @[Multiplier.scala 121:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225580.6]
  assign _T_118 = _T_116[31:0]; // @[Multiplier.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225581.6]
  assign _T_119 = {_T_117,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225582.6]
  assign _T_120 = {_T_119,_T_118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225583.6]
  assign _T_122 = count + 6'h1; // @[Multiplier.scala 123:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225586.6]
  assign _T_123 = count == 6'h3; // @[Multiplier.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225588.6]
  assign _T_125 = state == 3'h3; // @[Multiplier.scala 129:39:shc.marmotcaravel.MarmotCaravelConfig.fir@225595.4]
  assign _T_126 = subtractor[32]; // @[Multiplier.scala 133:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225597.6]
  assign _T_127 = remainder[63:32]; // @[Multiplier.scala 134:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225598.6]
  assign _T_128 = subtractor[31:0]; // @[Multiplier.scala 134:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225599.6]
  assign _T_129 = _T_126 ? _T_127 : _T_128; // @[Multiplier.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225600.6]
  assign _T_131 = _T_126 == 1'h0; // @[Multiplier.scala 134:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225602.6]
  assign _T_132 = {_T_129,_T_65}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225603.6]
  assign _T_133 = {_T_132,_T_131}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225604.6]
  assign _T_134 = count == 6'h20; // @[Multiplier.scala 138:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225606.6]
  assign _T_138 = count == 6'h0; // @[Multiplier.scala 146:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225615.6]
  assign _T_141 = _T_138 & _T_131; // @[Multiplier.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225618.6]
  assign _T_143 = _T_141 & _T_101; // @[Multiplier.scala 159:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225620.6]
  assign _T_144 = io_resp_ready & io_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225625.4]
  assign _T_145 = _T_144 | io_kill; // @[Multiplier.scala 161:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225626.4]
  assign _T_146 = io_req_ready & io_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225630.4]
  assign _T_147 = lhs_sign | rhs_sign; // @[Multiplier.scala 165:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225632.6]
  assign _T_154 = lhs_sign != rhs_sign; // @[Multiplier.scala 169:46:shc.marmotcaravel.MarmotCaravelConfig.fir@225643.6]
  assign _T_156 = {rhs_sign,rhs_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225646.6]
  assign _T_165 = result[31:16]; // @[Multiplier.scala 176:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225660.4]
  assign loOut = result[15:0]; // @[Multiplier.scala 176:86:shc.marmotcaravel.MarmotCaravelConfig.fir@225661.4]
  assign _T_174 = state == 3'h6; // @[Multiplier.scala 180:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225673.4]
  assign _T_175 = state == 3'h7; // @[Multiplier.scala 180:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225674.4]
  assign io_req_ready = state == 3'h0; // @[Multiplier.scala 181:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225678.4]
  assign io_resp_valid = _T_174 | _T_175; // @[Multiplier.scala 180:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225676.4]
  assign io_resp_bits_data = {_T_165,loOut}; // @[Multiplier.scala 179:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225672.4]
  assign io_resp_bits_tag = req_tag; // @[Multiplier.scala 178:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225670.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@225687.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225688.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225689.4]
  input  [31:0] io_count // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225690.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 25:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225695.4]
  wire  _T_5; // @[PlusArg.scala 27:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225697.4]
  wire  _T_6; // @[PlusArg.scala 28:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225699.6]
  wire  _T_8; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@225701.6]
  wire  _T_9; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@225702.6]
  plusarg_reader #(.FORMAT("max_core_cycles=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 25:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225695.4]
    .out(plusarg_reader_out)
  );
  assign _T_5 = plusarg_reader_out > 32'h0; // @[PlusArg.scala 27:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225697.4]
  assign _T_6 = io_count < plusarg_reader_out; // @[PlusArg.scala 28:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225699.6]
  assign _T_8 = _T_6 | reset; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@225701.6]
  assign _T_9 = _T_8 == 1'h0; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@225702.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@225704.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@225705.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Rocket( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225709.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225710.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225711.4]
  input         io_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_interrupts_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_interrupts_mtip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_interrupts_msip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_interrupts_meip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_might_request, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_imem_req_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_req_bits_speculative, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_sfence_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_imem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_imem_resp_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_imem_resp_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [4:0]  io_imem_resp_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [7:0]  io_imem_resp_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [31:0] io_imem_resp_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [31:0] io_imem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_imem_resp_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_imem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [4:0]  io_imem_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_imem_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_imem_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_imem_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [7:0]  io_imem_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_imem_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_imem_flush_icache, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_dmem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_dmem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [6:0]  io_dmem_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [4:0]  io_dmem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [2:0]  io_dmem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_dmem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_dmem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [6:0]  io_dmem_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [31:0] io_dmem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input  [31:0] io_dmem_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_dmem_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  input         io_dmem_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output        io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  output [31:0] io_ptw_customCSRs_csrs_0_value // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
);
  wire  ibuf_clock; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_reset; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_imem_ready; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_imem_valid; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_imem_bits_btb_taken; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_imem_bits_btb_bridx; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [4:0] ibuf_io_imem_bits_btb_entry; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [7:0] ibuf_io_imem_bits_btb_bht_history; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [31:0] ibuf_io_imem_bits_pc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [31:0] ibuf_io_imem_bits_data; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_imem_bits_xcpt_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_imem_bits_replay; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_kill; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [31:0] ibuf_io_pc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [4:0] ibuf_io_btb_resp_entry; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [7:0] ibuf_io_btb_resp_bht_history; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_ready; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_valid; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_bits_xcpt0_pf_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire  ibuf_io_inst_0_bits_rvc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [31:0] ibuf_io_inst_0_bits_inst_bits; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [4:0] ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [4:0] ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [4:0] ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  wire [31:0] ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.4]
  reg [31:0] _T_574 [0:30]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  reg [31:0] _RAND_0;
  wire [31:0] _T_574__T_581_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  wire [4:0] _T_574__T_581_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  reg [31:0] _RAND_1;
  wire [31:0] _T_574__T_589_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  wire [4:0] _T_574__T_589_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  reg [31:0] _RAND_2;
  wire [31:0] _T_574__T_1298_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  wire [4:0] _T_574__T_1298_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  wire  _T_574__T_1298_mask; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  wire  _T_574__T_1298_en; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226119.4]
  wire  csr_clock; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_reset; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_ungated_clock; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_interrupts_debug; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_interrupts_mtip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_interrupts_msip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_interrupts_meip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_hartid; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [11:0] csr_io_rw_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [2:0] csr_io_rw_cmd; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_rw_rdata; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_rw_wdata; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [11:0] csr_io_decode_0_csr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_decode_0_fp_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_decode_0_fp_csr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_decode_0_read_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_decode_0_write_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_decode_0_write_flush; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_csr_stall; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_eret; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_singleStep; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_debug; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_status_isa; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_dprv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_prv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_sd; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [26:0] csr_io_status_zero2; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_sxl; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_uxl; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_sd_rv32; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [7:0] csr_io_status_zero1; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_tsr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_tw; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_tvm; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_mxr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_sum; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_mprv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_xs; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_fs; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_mpp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_status_hpp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_spp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_mpie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_hpie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_spie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_upie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_mie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_hie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_sie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_status_uie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_evec; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_exception; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_retire; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_cause; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pc; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_tval; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_time; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_interrupt; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_interrupt_cause; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_0_control_action; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_0_control_chain; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_bp_0_control_tmatch; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_0_control_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_0_control_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_0_control_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_bp_0_address; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_1_control_action; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_bp_1_control_tmatch; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_1_control_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_1_control_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_bp_1_control_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_bp_1_address; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_0_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_0_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_0_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_0_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_0_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_0_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_0_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_1_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_1_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_1_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_1_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_1_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_1_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_1_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_2_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_2_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_2_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_2_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_2_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_2_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_2_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_3_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_3_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_3_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_3_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_3_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_3_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_3_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_4_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_4_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_4_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_4_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_4_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_4_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_4_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_5_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_5_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_5_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_5_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_5_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_5_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_5_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_6_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_6_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_6_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_6_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_6_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_6_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_6_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_7_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [1:0] csr_io_pmp_7_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_7_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_7_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_pmp_7_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [29:0] csr_io_pmp_7_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_pmp_7_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_inst_0; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_trace_0_valid; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_trace_0_iaddr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire [31:0] csr_io_trace_0_insn; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  csr_io_trace_0_exception; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226207.4]
  wire  bpu_io_status_debug; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_0_control_action; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_0_control_chain; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [1:0] bpu_io_bp_0_control_tmatch; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_0_control_x; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_0_control_w; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_0_control_r; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [31:0] bpu_io_bp_0_address; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_1_control_action; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [1:0] bpu_io_bp_1_control_tmatch; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_1_control_x; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_1_control_w; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_bp_1_control_r; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [31:0] bpu_io_bp_1_address; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [31:0] bpu_io_pc; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [31:0] bpu_io_ea; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_xcpt_if; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_xcpt_ld; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_xcpt_st; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_debug_if; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_debug_ld; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire  bpu_io_debug_st; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226293.4]
  wire [3:0] alu_io_fn; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226445.4]
  wire [31:0] alu_io_in2; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226445.4]
  wire [31:0] alu_io_in1; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226445.4]
  wire [31:0] alu_io_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226445.4]
  wire [31:0] alu_io_adder_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226445.4]
  wire  alu_io_cmp_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226445.4]
  wire  div_clock; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  div_reset; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  div_io_req_ready; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  div_io_req_valid; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire [3:0] div_io_req_bits_fn; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire [31:0] div_io_req_bits_in1; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire [31:0] div_io_req_bits_in2; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire [4:0] div_io_req_bits_tag; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  div_io_kill; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  div_io_resp_ready; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  div_io_resp_valid; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire [31:0] div_io_resp_bits_data; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire [4:0] div_io_resp_bits_tag; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226455.4]
  wire  PlusArgTimeout_clock; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227477.4]
  wire  PlusArgTimeout_reset; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227477.4]
  wire [31:0] PlusArgTimeout_io_count; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227477.4]
  reg  imem_might_request_reg; // @[RocketCore.scala 98:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225719.4]
  reg [31:0] _RAND_3;
  reg  ex_ctrl_branch; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_4;
  reg  ex_ctrl_jal; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_5;
  reg  ex_ctrl_jalr; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_6;
  reg  ex_ctrl_rxs2; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_7;
  reg [1:0] ex_ctrl_sel_alu2; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_8;
  reg [1:0] ex_ctrl_sel_alu1; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_9;
  reg [2:0] ex_ctrl_sel_imm; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_10;
  reg [3:0] ex_ctrl_alu_fn; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_11;
  reg  ex_ctrl_mem; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_12;
  reg [4:0] ex_ctrl_mem_cmd; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_13;
  reg [2:0] ex_ctrl_mem_type; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_14;
  reg  ex_ctrl_div; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_15;
  reg  ex_ctrl_wxd; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_16;
  reg [2:0] ex_ctrl_csr; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_17;
  reg  ex_ctrl_fence_i; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [31:0] _RAND_18;
  reg  mem_ctrl_fp; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_19;
  reg  mem_ctrl_rocc; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_20;
  reg  mem_ctrl_branch; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_21;
  reg  mem_ctrl_jal; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_22;
  reg  mem_ctrl_jalr; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_23;
  reg  mem_ctrl_mem; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_24;
  reg  mem_ctrl_mul; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_25;
  reg  mem_ctrl_div; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_26;
  reg  mem_ctrl_wxd; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_27;
  reg [2:0] mem_ctrl_csr; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_28;
  reg  mem_ctrl_fence_i; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_29;
  reg  wb_ctrl_rocc; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [31:0] _RAND_30;
  reg  wb_ctrl_mem; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [31:0] _RAND_31;
  reg  wb_ctrl_div; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [31:0] _RAND_32;
  reg  wb_ctrl_wxd; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [31:0] _RAND_33;
  reg [2:0] wb_ctrl_csr; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [31:0] _RAND_34;
  reg  wb_ctrl_fence_i; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [31:0] _RAND_35;
  reg  ex_reg_xcpt_interrupt; // @[RocketCore.scala 172:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225726.4]
  reg [31:0] _RAND_36;
  reg  ex_reg_valid; // @[RocketCore.scala 173:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225727.4]
  reg [31:0] _RAND_37;
  reg  ex_reg_rvc; // @[RocketCore.scala 174:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225728.4]
  reg [31:0] _RAND_38;
  reg [4:0] ex_reg_btb_resp_entry; // @[RocketCore.scala 175:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225729.4]
  reg [31:0] _RAND_39;
  reg [7:0] ex_reg_btb_resp_bht_history; // @[RocketCore.scala 175:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225729.4]
  reg [31:0] _RAND_40;
  reg  ex_reg_xcpt; // @[RocketCore.scala 176:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225730.4]
  reg [31:0] _RAND_41;
  reg  ex_reg_flush_pipe; // @[RocketCore.scala 177:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225731.4]
  reg [31:0] _RAND_42;
  reg  ex_reg_load_use; // @[RocketCore.scala 178:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225732.4]
  reg [31:0] _RAND_43;
  reg [31:0] ex_reg_cause; // @[RocketCore.scala 179:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225733.4]
  reg [31:0] _RAND_44;
  reg  ex_reg_replay; // @[RocketCore.scala 180:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225734.4]
  reg [31:0] _RAND_45;
  reg [31:0] ex_reg_pc; // @[RocketCore.scala 181:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225735.4]
  reg [31:0] _RAND_46;
  reg [31:0] ex_reg_inst; // @[RocketCore.scala 182:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
  reg [31:0] _RAND_47;
  reg [31:0] ex_reg_raw_inst; // @[RocketCore.scala 183:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225737.4]
  reg [31:0] _RAND_48;
  reg  mem_reg_xcpt_interrupt; // @[RocketCore.scala 185:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225738.4]
  reg [31:0] _RAND_49;
  reg  mem_reg_valid; // @[RocketCore.scala 186:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225739.4]
  reg [31:0] _RAND_50;
  reg  mem_reg_rvc; // @[RocketCore.scala 187:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225740.4]
  reg [31:0] _RAND_51;
  reg [4:0] mem_reg_btb_resp_entry; // @[RocketCore.scala 188:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225741.4]
  reg [31:0] _RAND_52;
  reg [7:0] mem_reg_btb_resp_bht_history; // @[RocketCore.scala 188:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225741.4]
  reg [31:0] _RAND_53;
  reg  mem_reg_xcpt; // @[RocketCore.scala 189:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225742.4]
  reg [31:0] _RAND_54;
  reg  mem_reg_replay; // @[RocketCore.scala 190:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225743.4]
  reg [31:0] _RAND_55;
  reg  mem_reg_flush_pipe; // @[RocketCore.scala 191:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225744.4]
  reg [31:0] _RAND_56;
  reg [31:0] mem_reg_cause; // @[RocketCore.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225745.4]
  reg [31:0] _RAND_57;
  reg  mem_reg_slow_bypass; // @[RocketCore.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225746.4]
  reg [31:0] _RAND_58;
  reg  mem_reg_load; // @[RocketCore.scala 194:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225747.4]
  reg [31:0] _RAND_59;
  reg  mem_reg_store; // @[RocketCore.scala 195:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225748.4]
  reg [31:0] _RAND_60;
  reg  mem_reg_sfence; // @[RocketCore.scala 196:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225749.4]
  reg [31:0] _RAND_61;
  reg [31:0] mem_reg_pc; // @[RocketCore.scala 197:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225750.4]
  reg [31:0] _RAND_62;
  reg [31:0] mem_reg_inst; // @[RocketCore.scala 198:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225751.4]
  reg [31:0] _RAND_63;
  reg [31:0] mem_reg_raw_inst; // @[RocketCore.scala 199:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225752.4]
  reg [31:0] _RAND_64;
  reg [31:0] mem_reg_wdata; // @[RocketCore.scala 200:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225753.4]
  reg [31:0] _RAND_65;
  reg [31:0] mem_reg_rs2; // @[RocketCore.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225754.4]
  reg [31:0] _RAND_66;
  reg  mem_br_taken; // @[RocketCore.scala 202:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225755.4]
  reg [31:0] _RAND_67;
  reg  wb_reg_valid; // @[RocketCore.scala 205:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225758.4]
  reg [31:0] _RAND_68;
  reg  wb_reg_xcpt; // @[RocketCore.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225759.4]
  reg [31:0] _RAND_69;
  reg  wb_reg_replay; // @[RocketCore.scala 207:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225760.4]
  reg [31:0] _RAND_70;
  reg  wb_reg_flush_pipe; // @[RocketCore.scala 208:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225761.4]
  reg [31:0] _RAND_71;
  reg [31:0] wb_reg_cause; // @[RocketCore.scala 209:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225762.4]
  reg [31:0] _RAND_72;
  reg  wb_reg_sfence; // @[RocketCore.scala 210:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225763.4]
  reg [31:0] _RAND_73;
  reg [31:0] wb_reg_pc; // @[RocketCore.scala 211:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225764.4]
  reg [31:0] _RAND_74;
  reg [31:0] wb_reg_inst; // @[RocketCore.scala 212:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225765.4]
  reg [31:0] _RAND_75;
  reg [31:0] wb_reg_raw_inst; // @[RocketCore.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
  reg [31:0] _RAND_76;
  reg [31:0] wb_reg_wdata; // @[RocketCore.scala 214:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225767.4]
  reg [31:0] _RAND_77;
  wire  replay_wb_common; // @[RocketCore.scala 563:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226997.4]
  wire  replay_wb_rocc; // @[RocketCore.scala 564:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226998.4]
  wire  replay_wb; // @[RocketCore.scala 565:36:shc.marmotcaravel.MarmotCaravelConfig.fir@227001.4]
  wire  _T_1236; // @[RocketCore.scala 542:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226956.4]
  wire  _T_1237; // @[RocketCore.scala 542:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226957.4]
  wire  _T_1248; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226968.4]
  wire  _T_1239; // @[RocketCore.scala 543:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226959.4]
  wire  _T_1249; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226969.4]
  wire  _T_1241; // @[RocketCore.scala 544:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226961.4]
  wire  _T_1250; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226970.4]
  wire  _T_1243; // @[RocketCore.scala 545:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226963.4]
  wire  _T_1251; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226971.4]
  wire  _T_1245; // @[RocketCore.scala 546:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226965.4]
  wire  _T_1252; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226972.4]
  wire  _T_1247; // @[RocketCore.scala 547:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226967.4]
  wire  wb_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226973.4]
  wire  _T_1274; // @[RocketCore.scala 566:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227002.4]
  wire  _T_1275; // @[RocketCore.scala 566:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227003.4]
  wire  take_pc_wb; // @[RocketCore.scala 566:53:shc.marmotcaravel.MarmotCaravelConfig.fir@227004.4]
  wire  _T_923; // @[RocketCore.scala 425:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226568.4]
  wire  ex_pc_valid; // @[RocketCore.scala 425:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226569.4]
  wire  _T_1096; // @[RocketCore.scala 448:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226748.4]
  wire [31:0] _T_1097; // @[RocketCore.scala 448:106:shc.marmotcaravel.MarmotCaravelConfig.fir@226749.4]
  wire [31:0] _T_965; // @[RocketCore.scala 444:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226616.4]
  wire  _T_966; // @[RocketCore.scala 445:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226617.4]
  wire  _T_968; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226619.4]
  wire  _T_969; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226620.4]
  wire  _T_1024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226675.4]
  wire [10:0] _T_974; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226625.4]
  wire [10:0] _T_1023; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226674.4]
  wire [11:0] _T_1025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226676.4]
  wire [7:0] _T_978; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226629.4]
  wire [7:0] _T_979; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226630.4]
  wire [7:0] _T_980; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226631.4]
  wire [7:0] _T_1021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226672.4]
  wire  _T_985; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226636.4]
  wire  _T_986; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226637.4]
  wire  _T_988; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226639.4]
  wire  _T_989; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226640.4]
  wire  _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226671.4]
  wire [8:0] _T_1022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226673.4]
  wire [20:0] _T_1026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226677.4]
  wire [5:0] _T_996; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226647.4]
  wire [3:0] _T_1002; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226653.4]
  wire [3:0] _T_1005; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226656.4]
  wire [9:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226669.4]
  wire [10:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226670.4]
  wire [31:0] _T_1027; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226678.4]
  wire [31:0] _T_1028; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226679.4]
  wire [7:0] _T_1083; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226734.4]
  wire  _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226733.4]
  wire [8:0] _T_1084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226735.4]
  wire [20:0] _T_1088; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226739.4]
  wire [9:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226731.4]
  wire [10:0] _T_1081; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226732.4]
  wire [31:0] _T_1089; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226740.4]
  wire [31:0] _T_1090; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226741.4]
  wire [3:0] _T_1091; // @[RocketCore.scala 447:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226742.4]
  wire [31:0] _T_1092; // @[RocketCore.scala 446:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226743.4]
  wire [31:0] _T_1093; // @[RocketCore.scala 445:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226744.4]
  wire [31:0] _T_1095; // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226746.4]
  wire [31:0] mem_br_target; // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226747.4]
  wire [31:0] _T_1098; // @[RocketCore.scala 448:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226750.4]
  wire [31:0] _T_1099; // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@226751.4]
  wire [31:0] _T_1100; // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@226752.4]
  wire [31:0] mem_npc; // @[RocketCore.scala 448:141:shc.marmotcaravel.MarmotCaravelConfig.fir@226753.4]
  wire  _T_1101; // @[RocketCore.scala 450:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226754.4]
  wire  _T_1102; // @[RocketCore.scala 451:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226755.4]
  wire  _T_1103; // @[RocketCore.scala 451:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226756.4]
  wire  _T_1104; // @[RocketCore.scala 451:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226757.4]
  wire  mem_wrong_npc; // @[RocketCore.scala 450:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226758.4]
  wire  _T_1120; // @[RocketCore.scala 458:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226779.4]
  wire  take_pc_mem; // @[RocketCore.scala 458:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226780.4]
  wire  take_pc_mem_wb; // @[RocketCore.scala 218:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225771.4]
  wire [31:0] _T_263; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225780.4]
  wire  _T_264; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225781.4]
  wire [31:0] _T_265; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225782.4]
  wire  _T_266; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225783.4]
  wire [31:0] _T_267; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225784.4]
  wire  _T_268; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225785.4]
  wire [31:0] _T_269; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225786.4]
  wire  _T_270; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225787.4]
  wire [31:0] _T_271; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225788.4]
  wire  _T_272; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225789.4]
  wire [31:0] _T_273; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225790.4]
  wire  _T_274; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225791.4]
  wire [31:0] _T_275; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225792.4]
  wire  _T_276; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225793.4]
  wire [31:0] _T_277; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225794.4]
  wire  _T_278; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225795.4]
  wire [31:0] _T_279; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225796.4]
  wire  _T_280; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225797.4]
  wire [31:0] _T_281; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225798.4]
  wire  _T_282; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225799.4]
  wire  _T_284; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225801.4]
  wire [31:0] _T_285; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225802.4]
  wire  _T_286; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225803.4]
  wire  _T_288; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225805.4]
  wire [31:0] _T_289; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225806.4]
  wire  _T_290; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225807.4]
  wire [31:0] _T_291; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225808.4]
  wire  _T_292; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225809.4]
  wire [31:0] _T_293; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225810.4]
  wire  _T_294; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225811.4]
  wire  _T_295; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225812.4]
  wire  _T_296; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225813.4]
  wire  _T_297; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225814.4]
  wire [31:0] _T_298; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225815.4]
  wire  _T_299; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225816.4]
  wire [31:0] _T_300; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225817.4]
  wire  _T_301; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225818.4]
  wire [31:0] _T_302; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225819.4]
  wire  _T_303; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225820.4]
  wire  _T_305; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225822.4]
  wire  _T_307; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225824.4]
  wire  _T_308; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225825.4]
  wire  _T_309; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4]
  wire  _T_310; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225827.4]
  wire  _T_311; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225828.4]
  wire  _T_312; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225829.4]
  wire  _T_313; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225830.4]
  wire  _T_314; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225831.4]
  wire  _T_315; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225832.4]
  wire  _T_316; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225833.4]
  wire  _T_317; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225834.4]
  wire  _T_318; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225835.4]
  wire  _T_319; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225836.4]
  wire  _T_320; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225837.4]
  wire  _T_321; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225838.4]
  wire  _T_322; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225839.4]
  wire  _T_323; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225840.4]
  wire  _T_324; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225841.4]
  wire  _T_325; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225842.4]
  wire  _T_326; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225843.4]
  wire  _T_327; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225844.4]
  wire  id_ctrl_legal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225845.4]
  wire [31:0] _T_329; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225846.4]
  wire  id_ctrl_branch; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225847.4]
  wire [31:0] _T_332; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225849.4]
  wire  id_ctrl_jal; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225850.4]
  wire [31:0] _T_335; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225852.4]
  wire  id_ctrl_jalr; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225853.4]
  wire [31:0] _T_338; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225855.4]
  wire  _T_339; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  wire [31:0] _T_340; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225857.4]
  wire  _T_341; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225858.4]
  wire [31:0] _T_342; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225859.4]
  wire  _T_343; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225860.4]
  wire  _T_345; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225862.4]
  wire  id_ctrl_rxs2; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225863.4]
  wire [31:0] _T_347; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225864.4]
  wire  _T_348; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225865.4]
  wire [31:0] _T_349; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225866.4]
  wire  _T_350; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225867.4]
  wire [31:0] _T_351; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225868.4]
  wire  _T_352; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225869.4]
  wire [31:0] _T_353; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225870.4]
  wire  _T_354; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225871.4]
  wire  _T_356; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225873.4]
  wire  _T_357; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225874.4]
  wire  id_ctrl_rxs1; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  wire [31:0] _T_359; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225876.4]
  wire  _T_360; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225877.4]
  wire [31:0] _T_361; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225878.4]
  wire  _T_362; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225879.4]
  wire [31:0] _T_363; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225880.4]
  wire  _T_364; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225881.4]
  wire [31:0] _T_365; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225882.4]
  wire  _T_366; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225883.4]
  wire  _T_368; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225885.4]
  wire  _T_369; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  wire  _T_370; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225887.4]
  wire  _T_371; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_373; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225890.4]
  wire [31:0] _T_374; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225891.4]
  wire  _T_375; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225892.4]
  wire  _T_377; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225894.4]
  wire  _T_378; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225895.4]
  wire [1:0] id_ctrl_sel_alu2; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225896.4]
  wire [31:0] _T_380; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225897.4]
  wire  _T_381; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225898.4]
  wire  _T_383; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225900.4]
  wire  _T_384; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225901.4]
  wire  _T_385; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225902.4]
  wire [31:0] _T_386; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225903.4]
  wire  _T_387; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225904.4]
  wire  _T_389; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225906.4]
  wire [1:0] id_ctrl_sel_alu1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225907.4]
  wire [31:0] _T_391; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225908.4]
  wire  _T_392; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225909.4]
  wire  _T_394; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225911.4]
  wire  _T_396; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225913.4]
  wire  _T_398; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225915.4]
  wire  _T_400; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225917.4]
  wire [31:0] _T_401; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225918.4]
  wire  _T_402; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225919.4]
  wire [31:0] _T_403; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225920.4]
  wire  _T_404; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225921.4]
  wire  _T_406; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225923.4]
  wire  _T_407; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225924.4]
  wire [1:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225925.4]
  wire [2:0] id_ctrl_sel_imm; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225926.4]
  wire [31:0] _T_413; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225930.4]
  wire  _T_414; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225931.4]
  wire [31:0] _T_415; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225932.4]
  wire  _T_416; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225933.4]
  wire [31:0] _T_417; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  wire  _T_418; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  wire [31:0] _T_419; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225936.4]
  wire  _T_420; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225937.4]
  wire  _T_422; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225939.4]
  wire  _T_423; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225940.4]
  wire  _T_424; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225941.4]
  wire [31:0] _T_425; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225942.4]
  wire  _T_426; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [31:0] _T_427; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225944.4]
  wire  _T_428; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225945.4]
  wire [31:0] _T_429; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225946.4]
  wire  _T_430; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225947.4]
  wire [31:0] _T_431; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225948.4]
  wire  _T_432; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225949.4]
  wire [31:0] _T_433; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225950.4]
  wire  _T_434; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225951.4]
  wire [31:0] _T_435; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225952.4]
  wire  _T_436; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225953.4]
  wire [31:0] _T_437; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225954.4]
  wire  _T_438; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225955.4]
  wire  _T_440; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225957.4]
  wire  _T_441; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225958.4]
  wire  _T_442; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225959.4]
  wire  _T_443; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225960.4]
  wire  _T_444; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225961.4]
  wire  _T_445; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225962.4]
  wire [31:0] _T_446; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225963.4]
  wire  _T_447; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225964.4]
  wire [31:0] _T_448; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225965.4]
  wire  _T_449; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225966.4]
  wire [31:0] _T_450; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225967.4]
  wire  _T_451; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225968.4]
  wire [31:0] _T_452; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225969.4]
  wire  _T_453; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225970.4]
  wire [31:0] _T_454; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225971.4]
  wire  _T_455; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225972.4]
  wire  _T_457; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225974.4]
  wire  _T_458; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225975.4]
  wire  _T_459; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225976.4]
  wire  _T_460; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225977.4]
  wire [31:0] _T_461; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225978.4]
  wire  _T_462; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  wire [31:0] _T_463; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225980.4]
  wire  _T_464; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225981.4]
  wire [31:0] _T_465; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  wire  _T_466; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225983.4]
  wire  _T_468; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225985.4]
  wire  _T_469; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225986.4]
  wire  _T_470; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225987.4]
  wire  _T_471; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225988.4]
  wire [1:0] _T_472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225989.4]
  wire [1:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [3:0] id_ctrl_alu_fn; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225991.4]
  wire [31:0] _T_475; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225992.4]
  wire  _T_476; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225993.4]
  wire  _T_478; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225995.4]
  wire  _T_479; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225996.4]
  wire  _T_480; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225997.4]
  wire  _T_481; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225998.4]
  wire  _T_482; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225999.4]
  wire  id_ctrl_mem; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226000.4]
  wire [31:0] _T_484; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  _T_485; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226002.4]
  wire [31:0] _T_486; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226003.4]
  wire  _T_487; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226004.4]
  wire [31:0] _T_488; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226005.4]
  wire  _T_489; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226006.4]
  wire [31:0] _T_490; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226007.4]
  wire  _T_491; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226008.4]
  wire  _T_493; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226010.4]
  wire  _T_494; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226011.4]
  wire  _T_495; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226012.4]
  wire [31:0] _T_496; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226013.4]
  wire  _T_497; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226014.4]
  wire [31:0] _T_498; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226015.4]
  wire  _T_499; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226016.4]
  wire  _T_501; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226018.4]
  wire [31:0] _T_502; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226019.4]
  wire  _T_503; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226020.4]
  wire [31:0] _T_504; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226021.4]
  wire  _T_505; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226022.4]
  wire [31:0] _T_506; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226023.4]
  wire  _T_507; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226024.4]
  wire  _T_509; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226026.4]
  wire  _T_510; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226027.4]
  wire  _T_511; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226028.4]
  wire [31:0] _T_512; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226029.4]
  wire  _T_513; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226030.4]
  wire [1:0] _T_515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226032.4]
  wire [1:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226033.4]
  wire [2:0] _T_517; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226034.4]
  wire [4:0] id_ctrl_mem_cmd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226035.4]
  wire [31:0] _T_519; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226036.4]
  wire  _T_520; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226037.4]
  wire [31:0] _T_522; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226039.4]
  wire  _T_523; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226040.4]
  wire [31:0] _T_525; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226042.4]
  wire  _T_526; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226043.4]
  wire [1:0] _T_528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226045.4]
  wire [2:0] id_ctrl_mem_type; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226046.4]
  wire [31:0] _T_530; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226047.4]
  wire  id_ctrl_div; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226048.4]
  wire  _T_534; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226051.4]
  wire  _T_536; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226053.4]
  wire [31:0] _T_537; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226054.4]
  wire  _T_538; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226055.4]
  wire  _T_540; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226057.4]
  wire [31:0] _T_541; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226058.4]
  wire  _T_542; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226059.4]
  wire  _T_544; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226061.4]
  wire  _T_545; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226062.4]
  wire  _T_546; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226063.4]
  wire  _T_547; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226064.4]
  wire  _T_548; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226065.4]
  wire  id_ctrl_wxd; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226066.4]
  wire [31:0] _T_550; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226067.4]
  wire  _T_551; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226068.4]
  wire  _T_554; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226071.4]
  wire  _T_557; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226074.4]
  wire [1:0] _T_559; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226076.4]
  wire [2:0] id_ctrl_csr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226077.4]
  wire [31:0] _T_561; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226078.4]
  wire  id_ctrl_fence_i; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226079.4]
  wire [31:0] _T_564; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226081.4]
  wire  id_ctrl_fence; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226082.4]
  wire [31:0] _T_567; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226084.4]
  wire  id_ctrl_amo; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226085.4]
  reg  id_reg_fence; // @[RocketCore.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226118.4]
  reg [31:0] _RAND_78;
  wire  _T_577; // @[RocketCore.scala 917:45:shc.marmotcaravel.MarmotCaravelConfig.fir@226122.4]
  wire [4:0] _T_579; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226124.4]
  wire [31:0] _T_582; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226127.4]
  wire [4:0] _T_587; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226133.4]
  wire [31:0] _T_590; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226136.4]
  wire  _T_661; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226211.4]
  wire  _T_662; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226212.4]
  wire  _T_663; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226213.4]
  wire  _T_664; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226214.4]
  wire  id_csr_en; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226215.4]
  wire  id_system_insn; // @[RocketCore.scala 246:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226216.4]
  wire  id_csr_ren; // @[RocketCore.scala 247:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226221.4]
  wire  _T_669; // @[RocketCore.scala 249:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226223.4]
  wire  id_sfence; // @[RocketCore.scala 249:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226224.4]
  wire  _T_670; // @[RocketCore.scala 250:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226225.4]
  wire  _T_671; // @[RocketCore.scala 250:67:shc.marmotcaravel.MarmotCaravelConfig.fir@226226.4]
  wire  _T_672; // @[RocketCore.scala 250:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226227.4]
  wire  _T_673; // @[RocketCore.scala 250:79:shc.marmotcaravel.MarmotCaravelConfig.fir@226228.4]
  wire  id_csr_flush; // @[RocketCore.scala 250:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226229.4]
  wire  _T_674; // @[RocketCore.scala 258:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226230.4]
  wire  _T_676; // @[RocketCore.scala 259:55:shc.marmotcaravel.MarmotCaravelConfig.fir@226232.4]
  wire  _T_677; // @[RocketCore.scala 259:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226233.4]
  wire  _T_678; // @[RocketCore.scala 259:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226234.4]
  wire  _T_679; // @[RocketCore.scala 258:40:shc.marmotcaravel.MarmotCaravelConfig.fir@226235.4]
  wire  _T_680; // @[RocketCore.scala 260:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226236.4]
  wire  _T_681; // @[RocketCore.scala 260:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226237.4]
  wire  _T_682; // @[RocketCore.scala 260:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226238.4]
  wire  _T_683; // @[RocketCore.scala 259:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226239.4]
  wire  _T_691; // @[RocketCore.scala 263:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226247.4]
  wire  _T_692; // @[RocketCore.scala 263:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226248.4]
  wire  _T_693; // @[RocketCore.scala 263:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226249.4]
  wire  _T_694; // @[RocketCore.scala 262:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226250.4]
  wire  _T_700; // @[RocketCore.scala 266:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226256.4]
  wire  _T_701; // @[RocketCore.scala 266:49:shc.marmotcaravel.MarmotCaravelConfig.fir@226257.4]
  wire  _T_702; // @[RocketCore.scala 266:15:shc.marmotcaravel.MarmotCaravelConfig.fir@226258.4]
  wire  id_illegal_insn; // @[RocketCore.scala 265:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226259.4]
  wire  id_amo_aq; // @[RocketCore.scala 269:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226265.4]
  wire  id_amo_rl; // @[RocketCore.scala 270:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226266.4]
  wire  _T_708; // @[RocketCore.scala 271:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226267.4]
  wire  id_fence_next; // @[RocketCore.scala 271:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226268.4]
  wire  _T_709; // @[RocketCore.scala 272:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226269.4]
  wire  id_mem_busy; // @[RocketCore.scala 272:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226270.4]
  wire  _T_710; // @[RocketCore.scala 273:9:shc.marmotcaravel.MarmotCaravelConfig.fir@226271.4]
  wire  _T_718; // @[RocketCore.scala 278:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226283.4]
  wire  _T_719; // @[RocketCore.scala 278:46:shc.marmotcaravel.MarmotCaravelConfig.fir@226284.4]
  wire  _T_721; // @[RocketCore.scala 278:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226286.4]
  wire  _T_722; // @[RocketCore.scala 278:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226287.4]
  wire  id_do_fence; // @[RocketCore.scala 278:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226288.4]
  wire  _T_726; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226301.4]
  wire  _T_727; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226302.4]
  wire  _T_728; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226303.4]
  wire  _T_729; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226304.4]
  wire  _T_730; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226305.4]
  wire  _T_731; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226306.4]
  wire  id_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226307.4]
  wire [1:0] _T_732; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226308.4]
  wire [3:0] _T_733; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226309.4]
  wire [3:0] _T_734; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226310.4]
  wire [3:0] _T_735; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226311.4]
  wire [3:0] _T_736; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226312.4]
  wire [3:0] _T_737; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226313.4]
  wire [4:0] ex_waddr; // @[RocketCore.scala 313:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226326.4]
  wire [4:0] mem_waddr; // @[RocketCore.scala 314:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226327.4]
  wire [4:0] wb_waddr; // @[RocketCore.scala 315:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226328.4]
  wire  _T_748; // @[RocketCore.scala 318:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226329.4]
  wire  _T_749; // @[RocketCore.scala 319:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226330.4]
  wire  _T_750; // @[RocketCore.scala 319:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226331.4]
  wire  _T_751; // @[RocketCore.scala 319:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226332.4]
  wire  _T_753; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226334.4]
  wire  _T_755; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226336.4]
  wire  _T_756; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226337.4]
  wire  _T_757; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226338.4]
  wire  _T_758; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226339.4]
  wire  _T_760; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226341.4]
  wire  _T_761; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226342.4]
  wire  _T_763; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226344.4]
  wire  _T_764; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226345.4]
  wire  _T_765; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226346.4]
  wire  _T_766; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226347.4]
  wire  _T_768; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226349.4]
  reg  ex_reg_rs_bypass_0; // @[RocketCore.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226350.4]
  reg [31:0] _RAND_79;
  reg  ex_reg_rs_bypass_1; // @[RocketCore.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226350.4]
  reg [31:0] _RAND_80;
  reg [1:0] ex_reg_rs_lsb_0; // @[RocketCore.scala 326:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226351.4]
  reg [31:0] _RAND_81;
  reg [1:0] ex_reg_rs_lsb_1; // @[RocketCore.scala 326:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226351.4]
  reg [31:0] _RAND_82;
  reg [29:0] ex_reg_rs_msb_0; // @[RocketCore.scala 327:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226352.4]
  reg [31:0] _RAND_83;
  reg [29:0] ex_reg_rs_msb_1; // @[RocketCore.scala 327:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226352.4]
  reg [31:0] _RAND_84;
  wire  _T_790; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226353.4]
  wire [31:0] _T_791; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226354.4]
  wire  _T_792; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226355.4]
  wire [31:0] _T_793; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226356.4]
  wire  _T_794; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226357.4]
  wire [31:0] _T_795; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226358.4]
  wire [31:0] _T_796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226359.4]
  wire [31:0] _T_797; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@226360.4]
  wire  _T_798; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226361.4]
  wire [31:0] _T_799; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226362.4]
  wire  _T_800; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226363.4]
  wire [31:0] _T_801; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226364.4]
  wire  _T_802; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226365.4]
  wire [31:0] _T_803; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226366.4]
  wire [31:0] _T_804; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226367.4]
  wire [31:0] _T_805; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@226368.4]
  wire  _T_806; // @[RocketCore.scala 932:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226369.4]
  wire  _T_807; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226370.4]
  wire  _T_808; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226371.4]
  wire  _T_809; // @[RocketCore.scala 932:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226372.4]
  wire  _T_810; // @[RocketCore.scala 933:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226373.4]
  wire [10:0] _T_811; // @[RocketCore.scala 933:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226374.4]
  wire [10:0] _T_812; // @[RocketCore.scala 933:49:shc.marmotcaravel.MarmotCaravelConfig.fir@226375.4]
  wire [10:0] _T_813; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226376.4]
  wire  _T_814; // @[RocketCore.scala 934:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226377.4]
  wire  _T_815; // @[RocketCore.scala 934:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226378.4]
  wire  _T_816; // @[RocketCore.scala 934:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226379.4]
  wire [7:0] _T_817; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226380.4]
  wire [7:0] _T_818; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226381.4]
  wire [7:0] _T_819; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226382.4]
  wire  _T_822; // @[RocketCore.scala 935:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226385.4]
  wire  _T_823; // @[RocketCore.scala 936:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226386.4]
  wire  _T_824; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226387.4]
  wire  _T_825; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226388.4]
  wire  _T_826; // @[RocketCore.scala 937:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226389.4]
  wire  _T_827; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226390.4]
  wire  _T_828; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226391.4]
  wire  _T_829; // @[RocketCore.scala 937:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226392.4]
  wire  _T_830; // @[RocketCore.scala 936:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226393.4]
  wire  _T_831; // @[RocketCore.scala 935:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226394.4]
  wire [5:0] _T_835; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226398.4]
  wire [5:0] _T_836; // @[RocketCore.scala 938:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226399.4]
  wire  _T_838; // @[RocketCore.scala 940:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226401.4]
  wire  _T_840; // @[RocketCore.scala 940:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226403.4]
  wire [3:0] _T_841; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226404.4]
  wire [3:0] _T_843; // @[RocketCore.scala 941:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226406.4]
  wire [3:0] _T_844; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226407.4]
  wire [3:0] _T_845; // @[RocketCore.scala 941:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226408.4]
  wire [3:0] _T_846; // @[RocketCore.scala 940:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226409.4]
  wire [3:0] _T_847; // @[RocketCore.scala 939:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226410.4]
  wire  _T_850; // @[RocketCore.scala 943:22:shc.marmotcaravel.MarmotCaravelConfig.fir@226413.4]
  wire  _T_853; // @[RocketCore.scala 944:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226416.4]
  wire  _T_854; // @[RocketCore.scala 944:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226417.4]
  wire  _T_855; // @[RocketCore.scala 943:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226418.4]
  wire  _T_856; // @[RocketCore.scala 942:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226419.4]
  wire [9:0] _T_857; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226420.4]
  wire [10:0] _T_858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226421.4]
  wire  _T_859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226422.4]
  wire [7:0] _T_860; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226423.4]
  wire [8:0] _T_861; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226424.4]
  wire [10:0] _T_862; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226425.4]
  wire  _T_863; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226426.4]
  wire [11:0] _T_864; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226427.4]
  wire [20:0] _T_865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226428.4]
  wire [31:0] _T_866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226429.4]
  wire [31:0] ex_imm; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226430.4]
  wire [31:0] _T_867; // @[RocketCore.scala 332:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226431.4]
  wire [31:0] _T_868; // @[RocketCore.scala 333:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226432.4]
  wire  _T_869; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226433.4]
  wire [31:0] _T_870; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226434.4]
  wire  _T_871; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226435.4]
  wire [31:0] ex_op1; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226436.4]
  wire [31:0] _T_872; // @[RocketCore.scala 335:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226437.4]
  wire [3:0] _T_873; // @[RocketCore.scala 337:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226438.4]
  wire  _T_874; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226439.4]
  wire [3:0] _T_875; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226440.4]
  wire  _T_876; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226441.4]
  wire [31:0] _T_877; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226442.4]
  wire  _T_878; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226443.4]
  wire [31:0] ex_op2; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226444.4]
  wire  _T_1494; // @[RocketCore.scala 702:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227304.4]
  wire  _T_1495; // @[RocketCore.scala 702:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227305.4]
  wire  _T_1496; // @[RocketCore.scala 702:71:shc.marmotcaravel.MarmotCaravelConfig.fir@227306.4]
  wire  _T_1333; // @[RocketCore.scala 634:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227120.4]
  wire  _T_1334; // @[RocketCore.scala 634:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227121.4]
  wire  _T_1381; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227175.4]
  wire  _T_1382; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227176.4]
  wire  _T_1335; // @[RocketCore.scala 635:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227122.4]
  wire  _T_1336; // @[RocketCore.scala 635:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227123.4]
  wire  _T_1383; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227177.4]
  wire  _T_1384; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227178.4]
  wire  _T_1387; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227181.4]
  wire  _T_1337; // @[RocketCore.scala 636:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227124.4]
  wire  _T_1338; // @[RocketCore.scala 636:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227125.4]
  wire  _T_1385; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227179.4]
  wire  _T_1386; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227180.4]
  wire  _T_1388; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227182.4]
  wire  data_hazard_ex; // @[RocketCore.scala 654:36:shc.marmotcaravel.MarmotCaravelConfig.fir@227183.4]
  wire  _T_1375; // @[RocketCore.scala 653:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227168.4]
  wire  _T_1376; // @[RocketCore.scala 653:48:shc.marmotcaravel.MarmotCaravelConfig.fir@227169.4]
  wire  _T_1377; // @[RocketCore.scala 653:64:shc.marmotcaravel.MarmotCaravelConfig.fir@227170.4]
  wire  ex_cannot_bypass; // @[RocketCore.scala 653:94:shc.marmotcaravel.MarmotCaravelConfig.fir@227172.4]
  wire  _T_1400; // @[RocketCore.scala 656:54:shc.marmotcaravel.MarmotCaravelConfig.fir@227196.4]
  wire  id_ex_hazard; // @[RocketCore.scala 656:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227198.4]
  wire  _T_1408; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@227207.4]
  wire  _T_1409; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227208.4]
  wire  _T_1410; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@227209.4]
  wire  _T_1411; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227210.4]
  wire  _T_1414; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227213.4]
  wire  _T_1412; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@227211.4]
  wire  _T_1413; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227212.4]
  wire  _T_1415; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227214.4]
  wire  data_hazard_mem; // @[RocketCore.scala 663:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227215.4]
  wire  _T_1402; // @[RocketCore.scala 662:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227200.4]
  wire  _T_1403; // @[RocketCore.scala 662:66:shc.marmotcaravel.MarmotCaravelConfig.fir@227201.4]
  wire  _T_1404; // @[RocketCore.scala 662:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227202.4]
  wire  _T_1405; // @[RocketCore.scala 662:84:shc.marmotcaravel.MarmotCaravelConfig.fir@227203.4]
  wire  _T_1406; // @[RocketCore.scala 662:100:shc.marmotcaravel.MarmotCaravelConfig.fir@227204.4]
  wire  _T_1407; // @[RocketCore.scala 662:116:shc.marmotcaravel.MarmotCaravelConfig.fir@227205.4]
  wire  mem_cannot_bypass; // @[RocketCore.scala 662:131:shc.marmotcaravel.MarmotCaravelConfig.fir@227206.4]
  wire  _T_1427; // @[RocketCore.scala 665:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227228.4]
  wire  id_mem_hazard; // @[RocketCore.scala 665:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227230.4]
  wire  _T_1467; // @[RocketCore.scala 692:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227276.4]
  wire  _T_1431; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227234.4]
  wire  _T_1432; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227235.4]
  wire  _T_1433; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227236.4]
  wire  _T_1434; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227237.4]
  wire  _T_1437; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227240.4]
  wire  _T_1435; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227238.4]
  wire  _T_1436; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227239.4]
  wire  _T_1438; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227241.4]
  wire  data_hazard_wb; // @[RocketCore.scala 669:36:shc.marmotcaravel.MarmotCaravelConfig.fir@227242.4]
  wire  _T_924; // @[RocketCore.scala 426:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226570.4]
  wire  wb_dcache_miss; // @[RocketCore.scala 426:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226571.4]
  wire  _T_1271; // @[RocketCore.scala 562:35:shc.marmotcaravel.MarmotCaravelConfig.fir@226995.4]
  wire  wb_set_sboard; // @[RocketCore.scala 562:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226996.4]
  wire  _T_1450; // @[RocketCore.scala 671:54:shc.marmotcaravel.MarmotCaravelConfig.fir@227255.4]
  wire  id_wb_hazard; // @[RocketCore.scala 671:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227257.4]
  wire  _T_1468; // @[RocketCore.scala 692:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227277.4]
  reg [31:0] _T_1340; // @[RocketCore.scala 896:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227126.4]
  reg [31:0] _RAND_85;
  wire [30:0] _T_1341; // @[RocketCore.scala 897:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227127.4]
  wire [31:0] _GEN_240; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227128.4]
  wire [31:0] _T_1342; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227128.4]
  wire [31:0] _T_1348; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227137.4]
  wire  _T_1349; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227138.4]
  wire  dmem_resp_valid; // @[RocketCore.scala 572:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227012.4]
  wire  dmem_resp_replay; // @[RocketCore.scala 573:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227013.4]
  wire  _T_1277; // @[RocketCore.scala 569:45:shc.marmotcaravel.MarmotCaravelConfig.fir@227006.4]
  wire  dmem_resp_xpu; // @[RocketCore.scala 569:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227008.4]
  wire  _T_1285; // @[RocketCore.scala 588:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227026.4]
  wire  _T_1283; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227022.4]
  wire  ll_wen; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227027.4]
  wire [4:0] dmem_resp_waddr; // @[RocketCore.scala 571:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227011.4]
  wire [4:0] ll_waddr; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227027.4]
  wire  _T_1350; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227139.4]
  wire  _T_1351; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227140.4]
  wire  _T_1352; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@227141.4]
  wire  _T_1353; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227142.4]
  wire  _T_1354; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227143.4]
  wire [31:0] _T_1355; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227144.4]
  wire  _T_1356; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227145.4]
  wire  _T_1357; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227146.4]
  wire  _T_1358; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227147.4]
  wire  _T_1359; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@227148.4]
  wire  _T_1360; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227149.4]
  wire  _T_1361; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227150.4]
  wire  _T_1369; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227158.4]
  wire [31:0] _T_1362; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227151.4]
  wire  _T_1363; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227152.4]
  wire  _T_1364; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227153.4]
  wire  _T_1365; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227154.4]
  wire  _T_1366; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@227155.4]
  wire  _T_1367; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227156.4]
  wire  _T_1368; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227157.4]
  wire  id_sboard_hazard; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227159.4]
  wire  _T_1469; // @[RocketCore.scala 692:51:shc.marmotcaravel.MarmotCaravelConfig.fir@227278.4]
  wire  _T_1470; // @[RocketCore.scala 693:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227279.4]
  wire  _T_1471; // @[RocketCore.scala 693:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227280.4]
  wire  _T_1472; // @[RocketCore.scala 693:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227281.4]
  wire  _T_1473; // @[RocketCore.scala 692:71:shc.marmotcaravel.MarmotCaravelConfig.fir@227282.4]
  reg  blocked; // @[RocketCore.scala 684:22:shc.marmotcaravel.MarmotCaravelConfig.fir@227258.4]
  reg [31:0] _RAND_86;
  wire  _T_1460; // @[RocketCore.scala 686:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227267.4]
  wire  dcache_blocked; // @[RocketCore.scala 686:13:shc.marmotcaravel.MarmotCaravelConfig.fir@227268.4]
  wire  _T_1480; // @[RocketCore.scala 696:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227289.4]
  wire  _T_1481; // @[RocketCore.scala 695:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227290.4]
  wire  wb_wxd; // @[RocketCore.scala 561:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226994.4]
  wire  _T_1484; // @[RocketCore.scala 698:65:shc.marmotcaravel.MarmotCaravelConfig.fir@227293.4]
  wire  _T_1485; // @[RocketCore.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227294.4]
  wire  _T_1486; // @[RocketCore.scala 698:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227295.4]
  wire  _T_1487; // @[RocketCore.scala 698:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227296.4]
  wire  _T_1488; // @[RocketCore.scala 698:75:shc.marmotcaravel.MarmotCaravelConfig.fir@227297.4]
  wire  _T_1489; // @[RocketCore.scala 698:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227298.4]
  wire  _T_1490; // @[RocketCore.scala 697:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227299.4]
  wire  _T_1493; // @[RocketCore.scala 699:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227302.4]
  wire  ctrl_stalld; // @[RocketCore.scala 700:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227303.4]
  wire  _T_1497; // @[RocketCore.scala 702:89:shc.marmotcaravel.MarmotCaravelConfig.fir@227307.4]
  wire  ctrl_killd; // @[RocketCore.scala 702:104:shc.marmotcaravel.MarmotCaravelConfig.fir@227308.4]
  wire  _T_882; // @[RocketCore.scala 368:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226466.4]
  wire  _T_883; // @[RocketCore.scala 369:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226468.4]
  wire  _T_884; // @[RocketCore.scala 369:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226469.4]
  wire [1:0] _T_892; // @[RocketCore.scala 383:22:shc.marmotcaravel.MarmotCaravelConfig.fir@226492.8]
  wire  _T_893; // @[RocketCore.scala 383:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226493.8]
  wire [1:0] _T_894; // @[RocketCore.scala 388:40:shc.marmotcaravel.MarmotCaravelConfig.fir@226499.8]
  wire  _T_895; // @[RocketCore.scala 388:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226500.8]
  wire  _T_896; // @[RocketCore.scala 388:28:shc.marmotcaravel.MarmotCaravelConfig.fir@226501.8]
  wire  _T_897; // @[RocketCore.scala 393:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226507.6]
  wire [1:0] _T_900; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226513.8]
  wire  _T_901; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226516.6]
  wire  _T_902; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226517.6]
  wire  do_bypass; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226518.6]
  wire  _T_905; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226524.6]
  wire  _T_906; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226525.6]
  wire  _T_1286; // @[RocketCore.scala 596:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227032.4]
  wire  _T_1287; // @[RocketCore.scala 596:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227033.4]
  wire  _T_1288; // @[RocketCore.scala 596:48:shc.marmotcaravel.MarmotCaravelConfig.fir@227034.4]
  wire  wb_valid; // @[RocketCore.scala 596:45:shc.marmotcaravel.MarmotCaravelConfig.fir@227035.4]
  wire  wb_wen; // @[RocketCore.scala 597:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227036.4]
  wire  rf_wen; // @[RocketCore.scala 598:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227037.4]
  wire [4:0] rf_waddr; // @[RocketCore.scala 599:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227038.4]
  wire  _T_1295; // @[RocketCore.scala 922:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227047.6]
  wire  _T_1299; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227053.8]
  wire  _T_1289; // @[RocketCore.scala 600:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227039.4]
  wire [31:0] ll_wdata; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227016.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@227018.4]
  wire  _T_1291; // @[RocketCore.scala 602:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227041.4]
  wire [31:0] _T_1293; // @[RocketCore.scala 602:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227043.4]
  wire [31:0] _T_1294; // @[RocketCore.scala 601:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227044.4]
  wire [31:0] rf_wdata; // @[RocketCore.scala 600:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227045.4]
  wire [31:0] _GEN_214; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227054.8]
  wire [31:0] _GEN_221; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227048.6]
  wire [31:0] _GEN_228; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227046.4]
  wire [1:0] _T_907; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226527.8]
  wire [29:0] _T_908; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226529.8]
  wire  _T_909; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226532.6]
  wire  _T_910; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226533.6]
  wire  do_bypass_1; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226534.6]
  wire  _T_913; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226540.6]
  wire  _T_914; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226541.6]
  wire  _T_1300; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227057.8]
  wire [31:0] _GEN_215; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227058.8]
  wire [31:0] _GEN_222; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227048.6]
  wire [31:0] _GEN_229; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227046.4]
  wire [1:0] _T_915; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226543.8]
  wire [29:0] _T_916; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226545.8]
  wire [15:0] _T_917; // @[RocketCore.scala 410:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226549.8]
  wire [31:0] inst; // @[RocketCore.scala 410:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226550.8]
  wire [1:0] _T_918; // @[RocketCore.scala 412:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226552.8]
  wire [29:0] _T_919; // @[RocketCore.scala 413:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226554.8]
  wire  _T_1429; // @[RocketCore.scala 666:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227231.4]
  wire  id_load_use; // @[RocketCore.scala 666:51:shc.marmotcaravel.MarmotCaravelConfig.fir@227232.4]
  wire  _T_921; // @[RocketCore.scala 416:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226559.4]
  wire  _T_922; // @[RocketCore.scala 416:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226560.4]
  wire  _T_925; // @[RocketCore.scala 427:45:shc.marmotcaravel.MarmotCaravelConfig.fir@226572.4]
  wire  _T_926; // @[RocketCore.scala 427:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226573.4]
  wire  _T_927; // @[RocketCore.scala 428:45:shc.marmotcaravel.MarmotCaravelConfig.fir@226574.4]
  wire  _T_928; // @[RocketCore.scala 428:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226575.4]
  wire  replay_ex_structural; // @[RocketCore.scala 427:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226576.4]
  wire  replay_ex_load_use; // @[RocketCore.scala 429:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226577.4]
  wire  _T_929; // @[RocketCore.scala 430:75:shc.marmotcaravel.MarmotCaravelConfig.fir@226578.4]
  wire  _T_930; // @[RocketCore.scala 430:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226579.4]
  wire  replay_ex; // @[RocketCore.scala 430:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226580.4]
  wire  _T_931; // @[RocketCore.scala 431:35:shc.marmotcaravel.MarmotCaravelConfig.fir@226581.4]
  wire  _T_932; // @[RocketCore.scala 431:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226582.4]
  wire  ctrl_killx; // @[RocketCore.scala 431:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226583.4]
  wire  _T_933; // @[RocketCore.scala 433:40:shc.marmotcaravel.MarmotCaravelConfig.fir@226584.4]
  wire  _T_944; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226591.4]
  wire  _T_945; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226592.4]
  wire  _T_946; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226593.4]
  wire  _T_947; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226594.4]
  wire  _T_949; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226596.4]
  wire  _T_950; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226597.4]
  wire  _T_951; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226598.4]
  wire  ex_slow_bypass; // @[RocketCore.scala 433:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226599.4]
  wire  ex_xcpt; // @[RocketCore.scala 437:28:shc.marmotcaravel.MarmotCaravelConfig.fir@226603.4]
  wire  _T_964; // @[RocketCore.scala 443:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226614.4]
  wire  mem_pc_valid; // @[RocketCore.scala 443:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226615.4]
  wire  _T_1107; // @[RocketCore.scala 452:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226761.4]
  wire  _T_1108; // @[RocketCore.scala 452:56:shc.marmotcaravel.MarmotCaravelConfig.fir@226762.4]
  wire  _T_1109; // @[RocketCore.scala 452:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226763.4]
  wire  mem_npc_misaligned; // @[RocketCore.scala 452:70:shc.marmotcaravel.MarmotCaravelConfig.fir@226764.4]
  wire  _T_1110; // @[RocketCore.scala 453:27:shc.marmotcaravel.MarmotCaravelConfig.fir@226765.4]
  wire  _T_1111; // @[RocketCore.scala 453:59:shc.marmotcaravel.MarmotCaravelConfig.fir@226766.4]
  wire  _T_1112; // @[RocketCore.scala 453:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226767.4]
  wire [31:0] _T_1114; // @[RocketCore.scala 453:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226769.4]
  wire [31:0] mem_int_wdata; // @[RocketCore.scala 453:119:shc.marmotcaravel.MarmotCaravelConfig.fir@226770.4]
  wire  _T_1115; // @[RocketCore.scala 454:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226771.4]
  wire  mem_cfi; // @[RocketCore.scala 454:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226772.4]
  wire  _T_1117; // @[RocketCore.scala 455:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226774.4]
  wire  mem_cfi_taken; // @[RocketCore.scala 455:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226775.4]
  wire  _T_1122; // @[RocketCore.scala 460:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226782.4]
  wire  _T_1129; // @[RocketCore.scala 467:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226793.4]
  wire  _T_1130; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226801.8]
  wire  _T_1131; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226802.8]
  wire  _T_1132; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226803.8]
  wire  _T_1134; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226805.8]
  wire  _T_1135; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226806.8]
  wire  _T_1136; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226807.8]
  wire  _T_1137; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226808.8]
  wire  _T_1138; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226809.8]
  wire  _T_1139; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226810.8]
  wire  _T_1140; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226811.8]
  wire  _T_1141; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226812.8]
  wire  _T_1142; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226813.8]
  wire  _T_1143; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226814.8]
  wire  _T_1144; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226815.8]
  wire  _T_1145; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226816.8]
  wire  _T_1146; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226817.8]
  wire  _T_1147; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226818.8]
  wire  _T_1148; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226819.8]
  wire  _T_1149; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226820.8]
  wire  _T_1150; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226821.8]
  wire  _T_1151; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226822.8]
  wire  _T_1152; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@226823.8]
  wire  _T_1153; // @[RocketCore.scala 472:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226824.8]
  wire  _T_1154; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226826.8]
  wire  _T_1155; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@226827.8]
  wire  _T_1156; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226828.8]
  wire  _T_1158; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@226830.8]
  wire  _T_1176; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@226848.8]
  wire  _T_1177; // @[RocketCore.scala 473:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226849.8]
  wire  _T_1180; // @[RocketCore.scala 486:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226863.8]
  wire [1:0] _T_1181; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226866.10]
  wire  _T_1182; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226867.10]
  wire [7:0] _T_1183; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226868.10]
  wire [15:0] _T_1184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226869.10]
  wire [31:0] _T_1185; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226870.10]
  wire  _T_1186; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226871.10]
  wire [15:0] _T_1187; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226872.10]
  wire [31:0] _T_1188; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226873.10]
  wire  _T_1191; // @[RocketCore.scala 490:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226878.8]
  wire  _T_1192; // @[RocketCore.scala 497:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226884.4]
  wire  _T_1193; // @[RocketCore.scala 497:75:shc.marmotcaravel.MarmotCaravelConfig.fir@226885.4]
  wire  mem_breakpoint; // @[RocketCore.scala 497:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226886.4]
  wire  _T_1194; // @[RocketCore.scala 498:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226887.4]
  wire  _T_1195; // @[RocketCore.scala 498:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226888.4]
  wire  mem_debug_breakpoint; // @[RocketCore.scala 498:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226889.4]
  wire  mem_ldst_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226890.4]
  wire [3:0] mem_ldst_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226891.4]
  wire  _T_1196; // @[RocketCore.scala 504:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226892.4]
  wire  _T_1197; // @[RocketCore.scala 505:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226893.4]
  wire  _T_1198; // @[RocketCore.scala 506:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226894.4]
  wire  _T_1199; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226895.4]
  wire  mem_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226896.4]
  wire [3:0] _T_1200; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226897.4]
  wire  dcache_kill_mem; // @[RocketCore.scala 515:55:shc.marmotcaravel.MarmotCaravelConfig.fir@226912.4]
  wire  replay_mem; // @[RocketCore.scala 517:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226915.4]
  wire  _T_1216; // @[RocketCore.scala 518:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226917.4]
  wire  _T_1217; // @[RocketCore.scala 518:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226918.4]
  wire  _T_1218; // @[RocketCore.scala 518:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226919.4]
  wire  killm_common; // @[RocketCore.scala 518:68:shc.marmotcaravel.MarmotCaravelConfig.fir@226920.4]
  reg  _T_1221; // @[RocketCore.scala 519:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226922.4]
  reg [31:0] _RAND_87;
  wire  ctrl_killm; // @[RocketCore.scala 520:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226926.4]
  wire  _T_1224; // @[RocketCore.scala 523:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226928.4]
  wire  _T_1225; // @[RocketCore.scala 524:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226930.4]
  wire  _T_1232; // @[RocketCore.scala 530:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226943.6]
  wire  _T_1233; // @[RocketCore.scala 530:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226944.6]
  wire [2:0] _T_1253; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226974.4]
  wire [3:0] _T_1254; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226975.4]
  wire [3:0] _T_1255; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226976.4]
  wire [3:0] _T_1256; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226977.4]
  wire [3:0] _T_1257; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226978.4]
  wire [31:0] wb_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226979.4]
  wire  _T_1258; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226980.4]
  wire  _T_1260; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226982.4]
  wire  _T_1262; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226984.4]
  wire  _T_1264; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226986.4]
  wire  _T_1266; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226988.4]
  wire  _T_1268; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226990.4]
  wire [1:0] _T_1302; // @[RocketCore.scala 613:66:shc.marmotcaravel.MarmotCaravelConfig.fir@227069.4]
  wire [1:0] _T_1303; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@227070.4]
  wire  _T_1304; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@227071.4]
  wire [15:0] _T_1305; // @[RocketCore.scala 613:91:shc.marmotcaravel.MarmotCaravelConfig.fir@227072.4]
  wire [15:0] _T_1306; // @[RocketCore.scala 613:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227073.4]
  wire [15:0] _T_1307; // @[RocketCore.scala 613:119:shc.marmotcaravel.MarmotCaravelConfig.fir@227074.4]
  wire  _T_1309; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227083.4]
  wire  _T_1310; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227084.4]
  wire  _T_1315; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227089.4]
  wire  _T_1318; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227092.4]
  wire  _T_1319; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227093.4]
  wire  _T_1320; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227094.4]
  wire  _T_1321; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227095.4]
  wire  _T_1322; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227096.4]
  wire  _T_1323; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227097.4]
  wire  _T_1324; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227098.4]
  wire  _T_1325; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227099.4]
  wire  _T_1326; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227100.4]
  wire  _T_1327; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227101.4]
  wire  tval_valid; // @[RocketCore.scala 620:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227102.4]
  wire [2:0] _T_1330; // @[CSR.scala 128:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227114.4]
  wire [2:0] _T_1331; // @[CSR.scala 128:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227115.4]
  wire [31:0] _T_1343; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227129.4]
  wire [31:0] _T_1344; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227130.4]
  wire [31:0] _T_1345; // @[RocketCore.scala 892:64:shc.marmotcaravel.MarmotCaravelConfig.fir@227131.4]
  wire [31:0] _T_1346; // @[RocketCore.scala 892:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227132.4]
  wire  _T_1370; // @[RocketCore.scala 650:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227160.4]
  wire [31:0] _T_1371; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227161.4]
  wire [31:0] _T_1372; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227162.4]
  wire [31:0] _T_1373; // @[RocketCore.scala 891:60:shc.marmotcaravel.MarmotCaravelConfig.fir@227163.4]
  wire  _T_1374; // @[RocketCore.scala 903:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227164.4]
  wire  _T_1454; // @[RocketCore.scala 685:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227260.4]
  wire  _T_1456; // @[RocketCore.scala 685:60:shc.marmotcaravel.MarmotCaravelConfig.fir@227262.4]
  wire  _T_1457; // @[RocketCore.scala 685:95:shc.marmotcaravel.MarmotCaravelConfig.fir@227263.4]
  wire  _T_1458; // @[RocketCore.scala 685:116:shc.marmotcaravel.MarmotCaravelConfig.fir@227264.4]
  wire  _T_1500; // @[RocketCore.scala 707:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227313.4]
  wire [31:0] _T_1501; // @[RocketCore.scala 708:8:shc.marmotcaravel.MarmotCaravelConfig.fir@227314.4]
  wire  _T_1503; // @[RocketCore.scala 710:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227317.4]
  wire  _T_1504; // @[RocketCore.scala 710:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227318.4]
  wire  _T_1506; // @[RocketCore.scala 712:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227321.4]
  wire  _T_1507; // @[CustomCSRs.scala 38:61:shc.marmotcaravel.MarmotCaravelConfig.fir@227322.4]
  wire  _T_1514; // @[RocketCore.scala 724:45:shc.marmotcaravel.MarmotCaravelConfig.fir@227338.4]
  wire  _T_1515; // @[RocketCore.scala 724:60:shc.marmotcaravel.MarmotCaravelConfig.fir@227339.4]
  wire  _T_1516; // @[RocketCore.scala 724:81:shc.marmotcaravel.MarmotCaravelConfig.fir@227340.4]
  wire  _T_1517; // @[RocketCore.scala 724:90:shc.marmotcaravel.MarmotCaravelConfig.fir@227341.4]
  wire  _T_1519; // @[RocketCore.scala 727:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227345.4]
  wire  _T_1520; // @[RocketCore.scala 727:53:shc.marmotcaravel.MarmotCaravelConfig.fir@227346.4]
  wire  _T_1521; // @[RocketCore.scala 727:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227347.4]
  wire [4:0] _T_1522; // @[RocketCore.scala 728:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227348.4]
  wire [4:0] _T_1523; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227349.4]
  wire  _T_1524; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227350.4]
  wire  _T_1525; // @[RocketCore.scala 728:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227351.4]
  wire [1:0] _T_1528; // @[RocketCore.scala 728:8:shc.marmotcaravel.MarmotCaravelConfig.fir@227354.4]
  wire [1:0] _T_1530; // @[RocketCore.scala 732:74:shc.marmotcaravel.MarmotCaravelConfig.fir@227358.4]
  wire [31:0] _GEN_241; // @[RocketCore.scala 732:69:shc.marmotcaravel.MarmotCaravelConfig.fir@227359.4]
  wire [31:0] _T_1533; // @[RocketCore.scala 733:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227362.4]
  wire [31:0] _T_1534; // @[RocketCore.scala 733:66:shc.marmotcaravel.MarmotCaravelConfig.fir@227363.4]
  wire [5:0] ex_dcache_tag; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227391.4]
  wire [4:0] _T_1561; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227427.4]
  wire [4:0] _T_1562; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227429.4]
  wire [31:0] coreMonitorBundle_time; // @[RocketCore.scala 811:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227443.4]
  wire  _T_1569; // @[RocketCore.scala 812:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227445.4]
  wire  coreMonitorBundle_valid; // @[RocketCore.scala 812:52:shc.marmotcaravel.MarmotCaravelConfig.fir@227446.4]
  wire [31:0] coreMonitorBundle_pc; // @[RocketCore.scala 813:48:shc.marmotcaravel.MarmotCaravelConfig.fir@227448.4]
  wire  _T_1573; // @[RocketCore.scala 814:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227451.4]
  wire  _T_1574; // @[RocketCore.scala 814:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227452.4]
  wire [4:0] coreMonitorBundle_wrdst; // @[RocketCore.scala 814:33:shc.marmotcaravel.MarmotCaravelConfig.fir@227453.4]
  reg [31:0] _T_1578; // @[RocketCore.scala 818:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227459.4]
  reg [31:0] _RAND_88;
  reg [31:0] coreMonitorBundle_rd0val; // @[RocketCore.scala 818:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227461.4]
  reg [31:0] _RAND_89;
  reg [31:0] _T_1583; // @[RocketCore.scala 820:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227466.4]
  reg [31:0] _RAND_90;
  reg [31:0] coreMonitorBundle_rd1val; // @[RocketCore.scala 820:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227468.4]
  reg [31:0] _RAND_91;
  wire  _T_1587; // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227473.4]
  wire [31:0] coreMonitorBundle_inst; // @[RocketCore.scala 808:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227440.4 RocketCore.scala 821:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227471.4]
  IBuf ibuf ( // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225772.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@226207.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@226293.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@226445.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@226455.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@227477.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@226119.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@226119.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@226119.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@226119.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@226997.4]
  assign replay_wb_rocc = wb_reg_valid & wb_ctrl_rocc; // @[RocketCore.scala 564:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226998.4]
  assign replay_wb = replay_wb_common | replay_wb_rocc; // @[RocketCore.scala 565:36:shc.marmotcaravel.MarmotCaravelConfig.fir@227001.4]
  assign _T_1236 = wb_reg_valid & wb_ctrl_mem; // @[RocketCore.scala 542:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226956.4]
  assign _T_1237 = _T_1236 & io_dmem_s2_xcpt_ma_st; // @[RocketCore.scala 542:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226957.4]
  assign _T_1248 = wb_reg_xcpt | _T_1237; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226968.4]
  assign _T_1239 = _T_1236 & io_dmem_s2_xcpt_ma_ld; // @[RocketCore.scala 543:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226959.4]
  assign _T_1249 = _T_1248 | _T_1239; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226969.4]
  assign _T_1241 = _T_1236 & io_dmem_s2_xcpt_pf_st; // @[RocketCore.scala 544:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226961.4]
  assign _T_1250 = _T_1249 | _T_1241; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226970.4]
  assign _T_1243 = _T_1236 & io_dmem_s2_xcpt_pf_ld; // @[RocketCore.scala 545:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226963.4]
  assign _T_1251 = _T_1250 | _T_1243; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226971.4]
  assign _T_1245 = _T_1236 & io_dmem_s2_xcpt_ae_st; // @[RocketCore.scala 546:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226965.4]
  assign _T_1252 = _T_1251 | _T_1245; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226972.4]
  assign _T_1247 = _T_1236 & io_dmem_s2_xcpt_ae_ld; // @[RocketCore.scala 547:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226967.4]
  assign wb_xcpt = _T_1252 | _T_1247; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226973.4]
  assign _T_1274 = replay_wb | wb_xcpt; // @[RocketCore.scala 566:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227002.4]
  assign _T_1275 = _T_1274 | csr_io_eret; // @[RocketCore.scala 566:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227003.4]
  assign take_pc_wb = _T_1275 | wb_reg_flush_pipe; // @[RocketCore.scala 566:53:shc.marmotcaravel.MarmotCaravelConfig.fir@227004.4]
  assign _T_923 = ex_reg_valid | ex_reg_replay; // @[RocketCore.scala 425:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226568.4]
  assign ex_pc_valid = _T_923 | ex_reg_xcpt_interrupt; // @[RocketCore.scala 425:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226569.4]
  assign _T_1096 = mem_ctrl_jalr | mem_reg_sfence; // @[RocketCore.scala 448:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226748.4]
  assign _T_1097 = $signed(mem_reg_wdata); // @[RocketCore.scala 448:106:shc.marmotcaravel.MarmotCaravelConfig.fir@226749.4]
  assign _T_965 = $signed(mem_reg_pc); // @[RocketCore.scala 444:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226616.4]
  assign _T_966 = mem_ctrl_branch & mem_br_taken; // @[RocketCore.scala 445:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226617.4]
  assign _T_968 = mem_reg_inst[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226619.4]
  assign _T_969 = $signed(_T_968); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226620.4]
  assign _T_1024 = $unsigned(_T_969); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226675.4]
  assign _T_974 = {11{_T_969}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226625.4]
  assign _T_1023 = $unsigned(_T_974); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226674.4]
  assign _T_1025 = {_T_1024,_T_1023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226676.4]
  assign _T_978 = mem_reg_inst[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226629.4]
  assign _T_979 = $signed(_T_978); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226630.4]
  assign _T_980 = {8{_T_969}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226631.4]
  assign _T_1021 = $unsigned(_T_980); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226672.4]
  assign _T_985 = mem_reg_inst[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226636.4]
  assign _T_986 = $signed(_T_985); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226637.4]
  assign _T_988 = mem_reg_inst[7]; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226639.4]
  assign _T_989 = $signed(_T_988); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226640.4]
  assign _T_1020 = $unsigned(_T_989); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226671.4]
  assign _T_1022 = {_T_1021,_T_1020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226673.4]
  assign _T_1026 = {_T_1025,_T_1022}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226677.4]
  assign _T_996 = mem_reg_inst[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226647.4]
  assign _T_1002 = mem_reg_inst[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226653.4]
  assign _T_1005 = mem_reg_inst[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226656.4]
  assign _T_1018 = {_T_996,_T_1002}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226669.4]
  assign _T_1019 = {_T_1018,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226670.4]
  assign _T_1027 = {_T_1026,_T_1019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226678.4]
  assign _T_1028 = $signed(_T_1027); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226679.4]
  assign _T_1083 = $unsigned(_T_979); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226734.4]
  assign _T_1082 = $unsigned(_T_986); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226733.4]
  assign _T_1084 = {_T_1083,_T_1082}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226735.4]
  assign _T_1088 = {_T_1025,_T_1084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226739.4]
  assign _T_1080 = {_T_996,_T_1005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226731.4]
  assign _T_1081 = {_T_1080,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226732.4]
  assign _T_1089 = {_T_1088,_T_1081}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226740.4]
  assign _T_1090 = $signed(_T_1089); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226741.4]
  assign _T_1091 = mem_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 447:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226742.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@226743.4]
  assign _T_1093 = _T_966 ? $signed(_T_1028) : $signed(_T_1092); // @[RocketCore.scala 445:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226744.4]
  assign _T_1095 = $signed(_T_965) + $signed(_T_1093); // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226746.4]
  assign mem_br_target = $signed(_T_1095); // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226747.4]
  assign _T_1098 = _T_1096 ? $signed(_T_1097) : $signed(mem_br_target); // @[RocketCore.scala 448:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226750.4]
  assign _T_1099 = $signed(_T_1098) & $signed(-32'sh2); // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@226751.4]
  assign _T_1100 = $signed(_T_1099); // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@226752.4]
  assign mem_npc = $unsigned(_T_1100); // @[RocketCore.scala 448:141:shc.marmotcaravel.MarmotCaravelConfig.fir@226753.4]
  assign _T_1101 = mem_npc != ex_reg_pc; // @[RocketCore.scala 450:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226754.4]
  assign _T_1102 = ibuf_io_inst_0_valid | ibuf_io_imem_valid; // @[RocketCore.scala 451:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226755.4]
  assign _T_1103 = mem_npc != ibuf_io_pc; // @[RocketCore.scala 451:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226756.4]
  assign _T_1104 = _T_1102 ? _T_1103 : 1'h1; // @[RocketCore.scala 451:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226757.4]
  assign mem_wrong_npc = ex_pc_valid ? _T_1101 : _T_1104; // @[RocketCore.scala 450:8:shc.marmotcaravel.MarmotCaravelConfig.fir@226758.4]
  assign _T_1120 = mem_wrong_npc | mem_reg_sfence; // @[RocketCore.scala 458:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226779.4]
  assign take_pc_mem = mem_reg_valid & _T_1120; // @[RocketCore.scala 458:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226780.4]
  assign take_pc_mem_wb = take_pc_wb | take_pc_mem; // @[RocketCore.scala 218:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225771.4]
  assign _T_263 = ibuf_io_inst_0_bits_inst_bits & 32'h505f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225780.4]
  assign _T_264 = _T_263 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225781.4]
  assign _T_265 = ibuf_io_inst_0_bits_inst_bits & 32'h207f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225782.4]
  assign _T_266 = _T_265 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225783.4]
  assign _T_267 = ibuf_io_inst_0_bits_inst_bits & 32'h607f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225784.4]
  assign _T_268 = _T_267 == 32'hf; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225785.4]
  assign _T_269 = ibuf_io_inst_0_bits_inst_bits & 32'h5f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225786.4]
  assign _T_270 = _T_269 == 32'h17; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225787.4]
  assign _T_271 = ibuf_io_inst_0_bits_inst_bits & 32'hfc00007f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225788.4]
  assign _T_272 = _T_271 == 32'h33; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225789.4]
  assign _T_273 = ibuf_io_inst_0_bits_inst_bits & 32'hbe00707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225790.4]
  assign _T_274 = _T_273 == 32'h33; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225791.4]
  assign _T_275 = ibuf_io_inst_0_bits_inst_bits & 32'h707b; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225792.4]
  assign _T_276 = _T_275 == 32'h63; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225793.4]
  assign _T_277 = ibuf_io_inst_0_bits_inst_bits & 32'h7f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225794.4]
  assign _T_278 = _T_277 == 32'h6f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225795.4]
  assign _T_279 = ibuf_io_inst_0_bits_inst_bits & 32'hffefffff; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225796.4]
  assign _T_280 = _T_279 == 32'h73; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225797.4]
  assign _T_281 = ibuf_io_inst_0_bits_inst_bits & 32'hfe00305f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225798.4]
  assign _T_282 = _T_281 == 32'h1013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225799.4]
  assign _T_284 = _T_265 == 32'h2013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225801.4]
  assign _T_285 = ibuf_io_inst_0_bits_inst_bits & 32'h1800707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225802.4]
  assign _T_286 = _T_285 == 32'h202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225803.4]
  assign _T_288 = _T_265 == 32'h2073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225805.4]
  assign _T_289 = ibuf_io_inst_0_bits_inst_bits & 32'hbe00705f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225806.4]
  assign _T_290 = _T_289 == 32'h5013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225807.4]
  assign _T_291 = ibuf_io_inst_0_bits_inst_bits & 32'he800707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225808.4]
  assign _T_292 = _T_291 == 32'h800202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225809.4]
  assign _T_293 = ibuf_io_inst_0_bits_inst_bits & 32'hf9f0707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225810.4]
  assign _T_294 = _T_293 == 32'h1000202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225811.4]
  assign _T_295 = ibuf_io_inst_0_bits_inst_bits == 32'h10500073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225812.4]
  assign _T_296 = ibuf_io_inst_0_bits_inst_bits == 32'h30200073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225813.4]
  assign _T_297 = ibuf_io_inst_0_bits_inst_bits == 32'h7b200073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225814.4]
  assign _T_298 = ibuf_io_inst_0_bits_inst_bits & 32'h306f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225815.4]
  assign _T_299 = _T_298 == 32'h1063; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225816.4]
  assign _T_300 = ibuf_io_inst_0_bits_inst_bits & 32'h407f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225817.4]
  assign _T_301 = _T_300 == 32'h4063; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225818.4]
  assign _T_302 = ibuf_io_inst_0_bits_inst_bits & 32'h605f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225819.4]
  assign _T_303 = _T_302 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225820.4]
  assign _T_305 = _T_298 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225822.4]
  assign _T_307 = _T_264 | _T_266; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225824.4]
  assign _T_308 = _T_307 | _T_268; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225825.4]
  assign _T_309 = _T_308 | _T_270; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4]
  assign _T_310 = _T_309 | _T_272; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225827.4]
  assign _T_311 = _T_310 | _T_274; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225828.4]
  assign _T_312 = _T_311 | _T_276; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225829.4]
  assign _T_313 = _T_312 | _T_278; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225830.4]
  assign _T_314 = _T_313 | _T_280; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225831.4]
  assign _T_315 = _T_314 | _T_282; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225832.4]
  assign _T_316 = _T_315 | _T_284; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225833.4]
  assign _T_317 = _T_316 | _T_286; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225834.4]
  assign _T_318 = _T_317 | _T_288; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225835.4]
  assign _T_319 = _T_318 | _T_290; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225836.4]
  assign _T_320 = _T_319 | _T_292; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225837.4]
  assign _T_321 = _T_320 | _T_294; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225838.4]
  assign _T_322 = _T_321 | _T_295; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225839.4]
  assign _T_323 = _T_322 | _T_296; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225840.4]
  assign _T_324 = _T_323 | _T_297; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225841.4]
  assign _T_325 = _T_324 | _T_299; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225842.4]
  assign _T_326 = _T_325 | _T_301; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225843.4]
  assign _T_327 = _T_326 | _T_303; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225844.4]
  assign id_ctrl_legal = _T_327 | _T_305; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225845.4]
  assign _T_329 = ibuf_io_inst_0_bits_inst_bits & 32'h54; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225846.4]
  assign id_ctrl_branch = _T_329 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225847.4]
  assign _T_332 = ibuf_io_inst_0_bits_inst_bits & 32'h48; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225849.4]
  assign id_ctrl_jal = _T_332 == 32'h48; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225850.4]
  assign _T_335 = ibuf_io_inst_0_bits_inst_bits & 32'h1c; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225852.4]
  assign id_ctrl_jalr = _T_335 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225853.4]
  assign _T_338 = ibuf_io_inst_0_bits_inst_bits & 32'h70; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225855.4]
  assign _T_339 = _T_338 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  assign _T_340 = ibuf_io_inst_0_bits_inst_bits & 32'h64; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225857.4]
  assign _T_341 = _T_340 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225858.4]
  assign _T_342 = ibuf_io_inst_0_bits_inst_bits & 32'h34; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225859.4]
  assign _T_343 = _T_342 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225860.4]
  assign _T_345 = _T_339 | _T_341; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225862.4]
  assign id_ctrl_rxs2 = _T_345 | _T_343; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225863.4]
  assign _T_347 = ibuf_io_inst_0_bits_inst_bits & 32'h4004; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225864.4]
  assign _T_348 = _T_347 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225865.4]
  assign _T_349 = ibuf_io_inst_0_bits_inst_bits & 32'h44; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225866.4]
  assign _T_350 = _T_349 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225867.4]
  assign _T_351 = ibuf_io_inst_0_bits_inst_bits & 32'h18; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225868.4]
  assign _T_352 = _T_351 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225869.4]
  assign _T_353 = ibuf_io_inst_0_bits_inst_bits & 32'h2050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225870.4]
  assign _T_354 = _T_353 == 32'h2000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225871.4]
  assign _T_356 = _T_348 | _T_350; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225873.4]
  assign _T_357 = _T_356 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225874.4]
  assign id_ctrl_rxs1 = _T_357 | _T_354; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  assign _T_359 = ibuf_io_inst_0_bits_inst_bits & 32'h58; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225876.4]
  assign _T_360 = _T_359 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225877.4]
  assign _T_361 = ibuf_io_inst_0_bits_inst_bits & 32'h20; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225878.4]
  assign _T_362 = _T_361 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225879.4]
  assign _T_363 = ibuf_io_inst_0_bits_inst_bits & 32'hc; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225880.4]
  assign _T_364 = _T_363 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225881.4]
  assign _T_365 = ibuf_io_inst_0_bits_inst_bits & 32'h4050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225882.4]
  assign _T_366 = _T_365 == 32'h4050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225883.4]
  assign _T_368 = _T_360 | _T_362; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225885.4]
  assign _T_369 = _T_368 | _T_364; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  assign _T_370 = _T_369 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225887.4]
  assign _T_371 = _T_370 | _T_366; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  assign _T_373 = _T_332 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225890.4]
  assign _T_374 = ibuf_io_inst_0_bits_inst_bits & 32'h4008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225891.4]
  assign _T_375 = _T_374 == 32'h4000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225892.4]
  assign _T_377 = _T_373 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225894.4]
  assign _T_378 = _T_377 | _T_375; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225895.4]
  assign id_ctrl_sel_alu2 = {_T_378,_T_371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225896.4]
  assign _T_380 = ibuf_io_inst_0_bits_inst_bits & 32'h50; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225897.4]
  assign _T_381 = _T_380 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225898.4]
  assign _T_383 = _T_348 | _T_381; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225900.4]
  assign _T_384 = _T_383 | _T_350; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225901.4]
  assign _T_385 = _T_384 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225902.4]
  assign _T_386 = ibuf_io_inst_0_bits_inst_bits & 32'h24; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225903.4]
  assign _T_387 = _T_386 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225904.4]
  assign _T_389 = _T_387 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225906.4]
  assign id_ctrl_sel_alu1 = {_T_389,_T_385}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225907.4]
  assign _T_391 = ibuf_io_inst_0_bits_inst_bits & 32'h8; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225908.4]
  assign _T_392 = _T_391 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225909.4]
  assign _T_394 = _T_349 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225911.4]
  assign _T_396 = _T_392 | _T_394; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225913.4]
  assign _T_398 = _T_349 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225915.4]
  assign _T_400 = _T_398 | _T_392; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225917.4]
  assign _T_401 = ibuf_io_inst_0_bits_inst_bits & 32'h14; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225918.4]
  assign _T_402 = _T_401 == 32'h10; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225919.4]
  assign _T_403 = ibuf_io_inst_0_bits_inst_bits & 32'h30; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225920.4]
  assign _T_404 = _T_403 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225921.4]
  assign _T_406 = id_ctrl_jalr | _T_402; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225923.4]
  assign _T_407 = _T_406 | _T_404; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225924.4]
  assign _T_408 = {_T_407,_T_400}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225925.4]
  assign id_ctrl_sel_imm = {_T_408,_T_396}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225926.4]
  assign _T_413 = ibuf_io_inst_0_bits_inst_bits & 32'h3054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225930.4]
  assign _T_414 = _T_413 == 32'h1010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225931.4]
  assign _T_415 = ibuf_io_inst_0_bits_inst_bits & 32'h1058; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225932.4]
  assign _T_416 = _T_415 == 32'h1040; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225933.4]
  assign _T_417 = ibuf_io_inst_0_bits_inst_bits & 32'h7044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  assign _T_418 = _T_417 == 32'h7000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  assign _T_419 = ibuf_io_inst_0_bits_inst_bits & 32'h2001074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225936.4]
  assign _T_420 = _T_419 == 32'h2001030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225937.4]
  assign _T_422 = _T_414 | _T_416; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225939.4]
  assign _T_423 = _T_422 | _T_418; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225940.4]
  assign _T_424 = _T_423 | _T_420; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225941.4]
  assign _T_425 = ibuf_io_inst_0_bits_inst_bits & 32'h4054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225942.4]
  assign _T_426 = _T_425 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  assign _T_427 = ibuf_io_inst_0_bits_inst_bits & 32'h3044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225944.4]
  assign _T_428 = _T_427 == 32'h3000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225945.4]
  assign _T_429 = ibuf_io_inst_0_bits_inst_bits & 32'h6044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225946.4]
  assign _T_430 = _T_429 == 32'h6000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225947.4]
  assign _T_431 = ibuf_io_inst_0_bits_inst_bits & 32'h6018; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225948.4]
  assign _T_432 = _T_431 == 32'h6000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225949.4]
  assign _T_433 = ibuf_io_inst_0_bits_inst_bits & 32'h2002074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225950.4]
  assign _T_434 = _T_433 == 32'h2002030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225951.4]
  assign _T_435 = ibuf_io_inst_0_bits_inst_bits & 32'h40003034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225952.4]
  assign _T_436 = _T_435 == 32'h40000030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225953.4]
  assign _T_437 = ibuf_io_inst_0_bits_inst_bits & 32'h40001054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225954.4]
  assign _T_438 = _T_437 == 32'h40001010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225955.4]
  assign _T_440 = _T_426 | _T_428; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225957.4]
  assign _T_441 = _T_440 | _T_430; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225958.4]
  assign _T_442 = _T_441 | _T_432; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225959.4]
  assign _T_443 = _T_442 | _T_434; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225960.4]
  assign _T_444 = _T_443 | _T_436; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225961.4]
  assign _T_445 = _T_444 | _T_438; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225962.4]
  assign _T_446 = ibuf_io_inst_0_bits_inst_bits & 32'h2002054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225963.4]
  assign _T_447 = _T_446 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225964.4]
  assign _T_448 = ibuf_io_inst_0_bits_inst_bits & 32'h2034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225965.4]
  assign _T_449 = _T_448 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225966.4]
  assign _T_450 = ibuf_io_inst_0_bits_inst_bits & 32'h40004054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225967.4]
  assign _T_451 = _T_450 == 32'h4010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225968.4]
  assign _T_452 = ibuf_io_inst_0_bits_inst_bits & 32'h5054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225969.4]
  assign _T_453 = _T_452 == 32'h4010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225970.4]
  assign _T_454 = ibuf_io_inst_0_bits_inst_bits & 32'h4058; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225971.4]
  assign _T_455 = _T_454 == 32'h4040; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225972.4]
  assign _T_457 = _T_447 | _T_449; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225974.4]
  assign _T_458 = _T_457 | _T_451; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225975.4]
  assign _T_459 = _T_458 | _T_453; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225976.4]
  assign _T_460 = _T_459 | _T_455; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225977.4]
  assign _T_461 = ibuf_io_inst_0_bits_inst_bits & 32'h2006054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225978.4]
  assign _T_462 = _T_461 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign _T_463 = ibuf_io_inst_0_bits_inst_bits & 32'h6034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225980.4]
  assign _T_464 = _T_463 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225981.4]
  assign _T_465 = ibuf_io_inst_0_bits_inst_bits & 32'h40003054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign _T_466 = _T_465 == 32'h40001010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225983.4]
  assign _T_468 = _T_462 | _T_464; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225985.4]
  assign _T_469 = _T_468 | _T_455; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225986.4]
  assign _T_470 = _T_469 | _T_436; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225987.4]
  assign _T_471 = _T_470 | _T_466; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225988.4]
  assign _T_472 = {_T_445,_T_424}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225989.4]
  assign _T_473 = {_T_471,_T_460}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  assign id_ctrl_alu_fn = {_T_473,_T_472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225991.4]
  assign _T_475 = ibuf_io_inst_0_bits_inst_bits & 32'h707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@225992.4]
  assign _T_476 = _T_475 == 32'h100f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@225993.4]
  assign _T_478 = _T_303 | _T_264; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225995.4]
  assign _T_479 = _T_478 | _T_266; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225996.4]
  assign _T_480 = _T_479 | _T_476; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225997.4]
  assign _T_481 = _T_480 | _T_286; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225998.4]
  assign _T_482 = _T_481 | _T_292; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225999.4]
  assign id_ctrl_mem = _T_482 | _T_294; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226000.4]
  assign _T_484 = ibuf_io_inst_0_bits_inst_bits & 32'h2008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  assign _T_485 = _T_484 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226002.4]
  assign _T_486 = ibuf_io_inst_0_bits_inst_bits & 32'h28; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226003.4]
  assign _T_487 = _T_486 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226004.4]
  assign _T_488 = ibuf_io_inst_0_bits_inst_bits & 32'h18000020; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226005.4]
  assign _T_489 = _T_488 == 32'h18000020; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226006.4]
  assign _T_490 = ibuf_io_inst_0_bits_inst_bits & 32'h20000020; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226007.4]
  assign _T_491 = _T_490 == 32'h20000020; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226008.4]
  assign _T_493 = _T_485 | _T_487; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226010.4]
  assign _T_494 = _T_493 | _T_489; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226011.4]
  assign _T_495 = _T_494 | _T_491; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226012.4]
  assign _T_496 = ibuf_io_inst_0_bits_inst_bits & 32'h10001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226013.4]
  assign _T_497 = _T_496 == 32'h10000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226014.4]
  assign _T_498 = ibuf_io_inst_0_bits_inst_bits & 32'h40001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226015.4]
  assign _T_499 = _T_498 == 32'h40000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226016.4]
  assign _T_501 = _T_497 | _T_499; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226018.4]
  assign _T_502 = ibuf_io_inst_0_bits_inst_bits & 32'h8000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226019.4]
  assign _T_503 = _T_502 == 32'h8000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226020.4]
  assign _T_504 = ibuf_io_inst_0_bits_inst_bits & 32'h10000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226021.4]
  assign _T_505 = _T_504 == 32'h10000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226022.4]
  assign _T_506 = ibuf_io_inst_0_bits_inst_bits & 32'h80000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226023.4]
  assign _T_507 = _T_506 == 32'h80000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226024.4]
  assign _T_509 = _T_485 | _T_503; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226026.4]
  assign _T_510 = _T_509 | _T_505; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226027.4]
  assign _T_511 = _T_510 | _T_507; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226028.4]
  assign _T_512 = ibuf_io_inst_0_bits_inst_bits & 32'h18001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226029.4]
  assign _T_513 = _T_512 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226030.4]
  assign _T_515 = {_T_501,_T_495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226032.4]
  assign _T_516 = {1'h0,_T_513}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226033.4]
  assign _T_517 = {_T_516,_T_511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226034.4]
  assign id_ctrl_mem_cmd = {_T_517,_T_515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226035.4]
  assign _T_519 = ibuf_io_inst_0_bits_inst_bits & 32'h1000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226036.4]
  assign _T_520 = _T_519 == 32'h1000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226037.4]
  assign _T_522 = ibuf_io_inst_0_bits_inst_bits & 32'h2000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226039.4]
  assign _T_523 = _T_522 == 32'h2000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226040.4]
  assign _T_525 = ibuf_io_inst_0_bits_inst_bits & 32'h4000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226042.4]
  assign _T_526 = _T_525 == 32'h4000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226043.4]
  assign _T_528 = {_T_526,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226045.4]
  assign id_ctrl_mem_type = {_T_528,_T_520}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226046.4]
  assign _T_530 = ibuf_io_inst_0_bits_inst_bits & 32'h2000074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226047.4]
  assign id_ctrl_div = _T_530 == 32'h2000030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226048.4]
  assign _T_534 = _T_486 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226051.4]
  assign _T_536 = _T_380 == 32'h10; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226053.4]
  assign _T_537 = ibuf_io_inst_0_bits_inst_bits & 32'h1010; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226054.4]
  assign _T_538 = _T_537 == 32'h1010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226055.4]
  assign _T_540 = _T_484 == 32'h2008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226057.4]
  assign _T_541 = ibuf_io_inst_0_bits_inst_bits & 32'h2010; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226058.4]
  assign _T_542 = _T_541 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226059.4]
  assign _T_544 = _T_534 | _T_364; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226061.4]
  assign _T_545 = _T_544 | _T_536; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226062.4]
  assign _T_546 = _T_545 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226063.4]
  assign _T_547 = _T_546 | _T_538; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226064.4]
  assign _T_548 = _T_547 | _T_540; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226065.4]
  assign id_ctrl_wxd = _T_548 | _T_542; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226066.4]
  assign _T_550 = ibuf_io_inst_0_bits_inst_bits & 32'h1050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226067.4]
  assign _T_551 = _T_550 == 32'h1050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226068.4]
  assign _T_554 = _T_353 == 32'h2050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226071.4]
  assign _T_557 = _T_380 == 32'h50; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226074.4]
  assign _T_559 = {_T_557,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226076.4]
  assign id_ctrl_csr = {_T_559,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226077.4]
  assign _T_561 = ibuf_io_inst_0_bits_inst_bits & 32'h1048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226078.4]
  assign id_ctrl_fence_i = _T_561 == 32'h1008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226079.4]
  assign _T_564 = ibuf_io_inst_0_bits_inst_bits & 32'h3048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226081.4]
  assign id_ctrl_fence = _T_564 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226082.4]
  assign _T_567 = ibuf_io_inst_0_bits_inst_bits & 32'h2048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226084.4]
  assign id_ctrl_amo = _T_567 == 32'h2008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@226085.4]
  assign _T_577 = ibuf_io_inst_0_bits_inst_rs1 == 5'h0; // @[RocketCore.scala 917:45:shc.marmotcaravel.MarmotCaravelConfig.fir@226122.4]
  assign _T_579 = ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226124.4]
  assign _T_582 = _T_574__T_581_data; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226127.4]
  assign _T_587 = ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226133.4]
  assign _T_590 = _T_574__T_589_data; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226136.4]
  assign _T_661 = id_ctrl_csr == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226211.4]
  assign _T_662 = id_ctrl_csr == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226212.4]
  assign _T_663 = id_ctrl_csr == 3'h5; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226213.4]
  assign _T_664 = _T_661 | _T_662; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226214.4]
  assign id_csr_en = _T_664 | _T_663; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226215.4]
  assign id_system_insn = id_ctrl_csr == 3'h4; // @[RocketCore.scala 246:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226216.4]
  assign id_csr_ren = _T_664 & _T_577; // @[RocketCore.scala 247:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226221.4]
  assign _T_669 = id_ctrl_mem_cmd == 5'h14; // @[RocketCore.scala 249:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226223.4]
  assign id_sfence = id_ctrl_mem & _T_669; // @[RocketCore.scala 249:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226224.4]
  assign _T_670 = id_sfence | id_system_insn; // @[RocketCore.scala 250:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226225.4]
  assign _T_671 = id_csr_ren == 1'h0; // @[RocketCore.scala 250:67:shc.marmotcaravel.MarmotCaravelConfig.fir@226226.4]
  assign _T_672 = id_csr_en & _T_671; // @[RocketCore.scala 250:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226227.4]
  assign _T_673 = _T_672 & csr_io_decode_0_write_flush; // @[RocketCore.scala 250:79:shc.marmotcaravel.MarmotCaravelConfig.fir@226228.4]
  assign id_csr_flush = _T_670 | _T_673; // @[RocketCore.scala 250:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226229.4]
  assign _T_674 = id_ctrl_legal == 1'h0; // @[RocketCore.scala 258:25:shc.marmotcaravel.MarmotCaravelConfig.fir@226230.4]
  assign _T_676 = csr_io_status_isa[12]; // @[RocketCore.scala 259:55:shc.marmotcaravel.MarmotCaravelConfig.fir@226232.4]
  assign _T_677 = _T_676 == 1'h0; // @[RocketCore.scala 259:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226233.4]
  assign _T_678 = id_ctrl_div & _T_677; // @[RocketCore.scala 259:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226234.4]
  assign _T_679 = _T_674 | _T_678; // @[RocketCore.scala 258:40:shc.marmotcaravel.MarmotCaravelConfig.fir@226235.4]
  assign _T_680 = csr_io_status_isa[0]; // @[RocketCore.scala 260:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226236.4]
  assign _T_681 = _T_680 == 1'h0; // @[RocketCore.scala 260:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226237.4]
  assign _T_682 = id_ctrl_amo & _T_681; // @[RocketCore.scala 260:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226238.4]
  assign _T_683 = _T_679 | _T_682; // @[RocketCore.scala 259:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226239.4]
  assign _T_691 = csr_io_status_isa[2]; // @[RocketCore.scala 263:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226247.4]
  assign _T_692 = _T_691 == 1'h0; // @[RocketCore.scala 263:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226248.4]
  assign _T_693 = ibuf_io_inst_0_bits_rvc & _T_692; // @[RocketCore.scala 263:30:shc.marmotcaravel.MarmotCaravelConfig.fir@226249.4]
  assign _T_694 = _T_683 | _T_693; // @[RocketCore.scala 262:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226250.4]
  assign _T_700 = _T_671 & csr_io_decode_0_write_illegal; // @[RocketCore.scala 266:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226256.4]
  assign _T_701 = csr_io_decode_0_read_illegal | _T_700; // @[RocketCore.scala 266:49:shc.marmotcaravel.MarmotCaravelConfig.fir@226257.4]
  assign _T_702 = id_csr_en & _T_701; // @[RocketCore.scala 266:15:shc.marmotcaravel.MarmotCaravelConfig.fir@226258.4]
  assign id_illegal_insn = _T_694 | _T_702; // @[RocketCore.scala 265:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226259.4]
  assign id_amo_aq = ibuf_io_inst_0_bits_inst_bits[26]; // @[RocketCore.scala 269:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226265.4]
  assign id_amo_rl = ibuf_io_inst_0_bits_inst_bits[25]; // @[RocketCore.scala 270:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226266.4]
  assign _T_708 = id_ctrl_amo & id_amo_aq; // @[RocketCore.scala 271:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226267.4]
  assign id_fence_next = id_ctrl_fence | _T_708; // @[RocketCore.scala 271:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226268.4]
  assign _T_709 = io_dmem_ordered == 1'h0; // @[RocketCore.scala 272:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226269.4]
  assign id_mem_busy = _T_709 | io_dmem_req_valid; // @[RocketCore.scala 272:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226270.4]
  assign _T_710 = id_mem_busy == 1'h0; // @[RocketCore.scala 273:9:shc.marmotcaravel.MarmotCaravelConfig.fir@226271.4]
  assign _T_718 = id_ctrl_amo & id_amo_rl; // @[RocketCore.scala 278:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226283.4]
  assign _T_719 = _T_718 | id_ctrl_fence_i; // @[RocketCore.scala 278:46:shc.marmotcaravel.MarmotCaravelConfig.fir@226284.4]
  assign _T_721 = id_reg_fence & id_ctrl_mem; // @[RocketCore.scala 278:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226286.4]
  assign _T_722 = _T_719 | _T_721; // @[RocketCore.scala 278:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226287.4]
  assign id_do_fence = id_mem_busy & _T_722; // @[RocketCore.scala 278:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226288.4]
  assign _T_726 = csr_io_interrupt | bpu_io_debug_if; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226301.4]
  assign _T_727 = _T_726 | bpu_io_xcpt_if; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226302.4]
  assign _T_728 = _T_727 | ibuf_io_inst_0_bits_xcpt0_pf_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226303.4]
  assign _T_729 = _T_728 | ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226304.4]
  assign _T_730 = _T_729 | ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226305.4]
  assign _T_731 = _T_730 | ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226306.4]
  assign id_xcpt = _T_731 | id_illegal_insn; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226307.4]
  assign _T_732 = ibuf_io_inst_0_bits_xcpt1_ae_inst ? 2'h1 : 2'h2; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226308.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@226309.4]
  assign _T_734 = ibuf_io_inst_0_bits_xcpt0_ae_inst ? 4'h1 : _T_733; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226310.4]
  assign _T_735 = ibuf_io_inst_0_bits_xcpt0_pf_inst ? 4'hc : _T_734; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226311.4]
  assign _T_736 = bpu_io_xcpt_if ? 4'h3 : _T_735; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226312.4]
  assign _T_737 = bpu_io_debug_if ? 4'he : _T_736; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226313.4]
  assign ex_waddr = ex_reg_inst[11:7]; // @[RocketCore.scala 313:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226326.4]
  assign mem_waddr = mem_reg_inst[11:7]; // @[RocketCore.scala 314:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226327.4]
  assign wb_waddr = wb_reg_inst[11:7]; // @[RocketCore.scala 315:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226328.4]
  assign _T_748 = ex_reg_valid & ex_ctrl_wxd; // @[RocketCore.scala 318:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226329.4]
  assign _T_749 = mem_reg_valid & mem_ctrl_wxd; // @[RocketCore.scala 319:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226330.4]
  assign _T_750 = mem_ctrl_mem == 1'h0; // @[RocketCore.scala 319:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226331.4]
  assign _T_751 = _T_749 & _T_750; // @[RocketCore.scala 319:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226332.4]
  assign _T_753 = 5'h0 == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226334.4]
  assign _T_755 = ex_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226336.4]
  assign _T_756 = _T_748 & _T_755; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226337.4]
  assign _T_757 = mem_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226338.4]
  assign _T_758 = _T_751 & _T_757; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226339.4]
  assign _T_760 = _T_749 & _T_757; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226341.4]
  assign _T_761 = 5'h0 == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226342.4]
  assign _T_763 = ex_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226344.4]
  assign _T_764 = _T_748 & _T_763; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226345.4]
  assign _T_765 = mem_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226346.4]
  assign _T_766 = _T_751 & _T_765; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226347.4]
  assign _T_768 = _T_749 & _T_765; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226349.4]
  assign _T_790 = ex_reg_rs_lsb_0 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226353.4]
  assign _T_791 = _T_790 ? mem_reg_wdata : 32'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226354.4]
  assign _T_792 = ex_reg_rs_lsb_0 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226355.4]
  assign _T_793 = _T_792 ? wb_reg_wdata : _T_791; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226356.4]
  assign _T_794 = ex_reg_rs_lsb_0 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226357.4]
  assign _T_795 = _T_794 ? io_dmem_resp_bits_data_word_bypass : _T_793; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226358.4]
  assign _T_796 = {ex_reg_rs_msb_0,ex_reg_rs_lsb_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226359.4]
  assign _T_797 = ex_reg_rs_bypass_0 ? _T_795 : _T_796; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@226360.4]
  assign _T_798 = ex_reg_rs_lsb_1 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226361.4]
  assign _T_799 = _T_798 ? mem_reg_wdata : 32'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226362.4]
  assign _T_800 = ex_reg_rs_lsb_1 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226363.4]
  assign _T_801 = _T_800 ? wb_reg_wdata : _T_799; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226364.4]
  assign _T_802 = ex_reg_rs_lsb_1 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@226365.4]
  assign _T_803 = _T_802 ? io_dmem_resp_bits_data_word_bypass : _T_801; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226366.4]
  assign _T_804 = {ex_reg_rs_msb_1,ex_reg_rs_lsb_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226367.4]
  assign _T_805 = ex_reg_rs_bypass_1 ? _T_803 : _T_804; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@226368.4]
  assign _T_806 = ex_ctrl_sel_imm == 3'h5; // @[RocketCore.scala 932:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226369.4]
  assign _T_807 = ex_reg_inst[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226370.4]
  assign _T_808 = $signed(_T_807); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226371.4]
  assign _T_809 = _T_806 ? $signed(1'sh0) : $signed(_T_808); // @[RocketCore.scala 932:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226372.4]
  assign _T_810 = ex_ctrl_sel_imm == 3'h2; // @[RocketCore.scala 933:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226373.4]
  assign _T_811 = ex_reg_inst[30:20]; // @[RocketCore.scala 933:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226374.4]
  assign _T_812 = $signed(_T_811); // @[RocketCore.scala 933:49:shc.marmotcaravel.MarmotCaravelConfig.fir@226375.4]
  assign _T_813 = _T_810 ? $signed(_T_812) : $signed({11{_T_809}}); // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226376.4]
  assign _T_814 = ex_ctrl_sel_imm != 3'h2; // @[RocketCore.scala 934:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226377.4]
  assign _T_815 = ex_ctrl_sel_imm != 3'h3; // @[RocketCore.scala 934:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226378.4]
  assign _T_816 = _T_814 & _T_815; // @[RocketCore.scala 934:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226379.4]
  assign _T_817 = ex_reg_inst[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@226380.4]
  assign _T_818 = $signed(_T_817); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226381.4]
  assign _T_819 = _T_816 ? $signed({8{_T_809}}) : $signed(_T_818); // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226382.4]
  assign _T_822 = _T_810 | _T_806; // @[RocketCore.scala 935:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226385.4]
  assign _T_823 = ex_ctrl_sel_imm == 3'h3; // @[RocketCore.scala 936:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226386.4]
  assign _T_824 = ex_reg_inst[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226387.4]
  assign _T_825 = $signed(_T_824); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226388.4]
  assign _T_826 = ex_ctrl_sel_imm == 3'h1; // @[RocketCore.scala 937:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226389.4]
  assign _T_827 = ex_reg_inst[7]; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226390.4]
  assign _T_828 = $signed(_T_827); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226391.4]
  assign _T_829 = _T_826 ? $signed(_T_828) : $signed(_T_809); // @[RocketCore.scala 937:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226392.4]
  assign _T_830 = _T_823 ? $signed(_T_825) : $signed(_T_829); // @[RocketCore.scala 936:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226393.4]
  assign _T_831 = _T_822 ? $signed(1'sh0) : $signed(_T_830); // @[RocketCore.scala 935:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226394.4]
  assign _T_835 = ex_reg_inst[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226398.4]
  assign _T_836 = _T_822 ? 6'h0 : _T_835; // @[RocketCore.scala 938:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226399.4]
  assign _T_838 = ex_ctrl_sel_imm == 3'h0; // @[RocketCore.scala 940:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226401.4]
  assign _T_840 = _T_838 | _T_826; // @[RocketCore.scala 940:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226403.4]
  assign _T_841 = ex_reg_inst[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226404.4]
  assign _T_843 = ex_reg_inst[19:16]; // @[RocketCore.scala 941:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226406.4]
  assign _T_844 = ex_reg_inst[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226407.4]
  assign _T_845 = _T_806 ? _T_843 : _T_844; // @[RocketCore.scala 941:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226408.4]
  assign _T_846 = _T_840 ? _T_841 : _T_845; // @[RocketCore.scala 940:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226409.4]
  assign _T_847 = _T_810 ? 4'h0 : _T_846; // @[RocketCore.scala 939:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226410.4]
  assign _T_850 = ex_ctrl_sel_imm == 3'h4; // @[RocketCore.scala 943:22:shc.marmotcaravel.MarmotCaravelConfig.fir@226413.4]
  assign _T_853 = ex_reg_inst[15]; // @[RocketCore.scala 944:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226416.4]
  assign _T_854 = _T_806 ? _T_853 : 1'h0; // @[RocketCore.scala 944:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226417.4]
  assign _T_855 = _T_850 ? _T_824 : _T_854; // @[RocketCore.scala 943:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226418.4]
  assign _T_856 = _T_838 ? _T_827 : _T_855; // @[RocketCore.scala 942:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226419.4]
  assign _T_857 = {_T_836,_T_847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226420.4]
  assign _T_858 = {_T_857,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226421.4]
  assign _T_859 = $unsigned(_T_831); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226422.4]
  assign _T_860 = $unsigned(_T_819); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226423.4]
  assign _T_861 = {_T_860,_T_859}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226424.4]
  assign _T_862 = $unsigned(_T_813); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226425.4]
  assign _T_863 = $unsigned(_T_809); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226426.4]
  assign _T_864 = {_T_863,_T_862}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226427.4]
  assign _T_865 = {_T_864,_T_861}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226428.4]
  assign _T_866 = {_T_865,_T_858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226429.4]
  assign ex_imm = $signed(_T_866); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226430.4]
  assign _T_867 = $signed(_T_797); // @[RocketCore.scala 332:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226431.4]
  assign _T_868 = $signed(ex_reg_pc); // @[RocketCore.scala 333:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226432.4]
  assign _T_869 = 2'h2 == ex_ctrl_sel_alu1; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226433.4]
  assign _T_870 = _T_869 ? $signed(_T_868) : $signed(32'sh0); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226434.4]
  assign _T_871 = 2'h1 == ex_ctrl_sel_alu1; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226435.4]
  assign ex_op1 = _T_871 ? $signed(_T_867) : $signed(_T_870); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226436.4]
  assign _T_872 = $signed(_T_805); // @[RocketCore.scala 335:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226437.4]
  assign _T_873 = ex_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 337:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226438.4]
  assign _T_874 = 2'h1 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226439.4]
  assign _T_875 = _T_874 ? $signed(_T_873) : $signed(4'sh0); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226440.4]
  assign _T_876 = 2'h3 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226441.4]
  assign _T_877 = _T_876 ? $signed(ex_imm) : $signed({{28{_T_875[3]}},_T_875}); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226442.4]
  assign _T_878 = 2'h2 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226443.4]
  assign ex_op2 = _T_878 ? $signed(_T_872) : $signed(_T_877); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@226444.4]
  assign _T_1494 = ibuf_io_inst_0_valid == 1'h0; // @[RocketCore.scala 702:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227304.4]
  assign _T_1495 = _T_1494 | ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 702:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227305.4]
  assign _T_1496 = _T_1495 | take_pc_mem_wb; // @[RocketCore.scala 702:71:shc.marmotcaravel.MarmotCaravelConfig.fir@227306.4]
  assign _T_1333 = ibuf_io_inst_0_bits_inst_rs1 != 5'h0; // @[RocketCore.scala 634:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227120.4]
  assign _T_1334 = id_ctrl_rxs1 & _T_1333; // @[RocketCore.scala 634:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227121.4]
  assign _T_1381 = ibuf_io_inst_0_bits_inst_rs1 == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227175.4]
  assign _T_1382 = _T_1334 & _T_1381; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227176.4]
  assign _T_1335 = ibuf_io_inst_0_bits_inst_rs2 != 5'h0; // @[RocketCore.scala 635:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227122.4]
  assign _T_1336 = id_ctrl_rxs2 & _T_1335; // @[RocketCore.scala 635:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227123.4]
  assign _T_1383 = ibuf_io_inst_0_bits_inst_rs2 == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227177.4]
  assign _T_1384 = _T_1336 & _T_1383; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227178.4]
  assign _T_1387 = _T_1382 | _T_1384; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227181.4]
  assign _T_1337 = ibuf_io_inst_0_bits_inst_rd != 5'h0; // @[RocketCore.scala 636:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227124.4]
  assign _T_1338 = id_ctrl_wxd & _T_1337; // @[RocketCore.scala 636:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227125.4]
  assign _T_1385 = ibuf_io_inst_0_bits_inst_rd == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227179.4]
  assign _T_1386 = _T_1338 & _T_1385; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227180.4]
  assign _T_1388 = _T_1387 | _T_1386; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227182.4]
  assign data_hazard_ex = ex_ctrl_wxd & _T_1388; // @[RocketCore.scala 654:36:shc.marmotcaravel.MarmotCaravelConfig.fir@227183.4]
  assign _T_1375 = ex_ctrl_csr != 3'h0; // @[RocketCore.scala 653:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227168.4]
  assign _T_1376 = _T_1375 | ex_ctrl_jalr; // @[RocketCore.scala 653:48:shc.marmotcaravel.MarmotCaravelConfig.fir@227169.4]
  assign _T_1377 = _T_1376 | ex_ctrl_mem; // @[RocketCore.scala 653:64:shc.marmotcaravel.MarmotCaravelConfig.fir@227170.4]
  assign ex_cannot_bypass = _T_1377 | ex_ctrl_div; // @[RocketCore.scala 653:94:shc.marmotcaravel.MarmotCaravelConfig.fir@227172.4]
  assign _T_1400 = data_hazard_ex & ex_cannot_bypass; // @[RocketCore.scala 656:54:shc.marmotcaravel.MarmotCaravelConfig.fir@227196.4]
  assign id_ex_hazard = ex_reg_valid & _T_1400; // @[RocketCore.scala 656:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227198.4]
  assign _T_1408 = ibuf_io_inst_0_bits_inst_rs1 == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@227207.4]
  assign _T_1409 = _T_1334 & _T_1408; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227208.4]
  assign _T_1410 = ibuf_io_inst_0_bits_inst_rs2 == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@227209.4]
  assign _T_1411 = _T_1336 & _T_1410; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227210.4]
  assign _T_1414 = _T_1409 | _T_1411; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227213.4]
  assign _T_1412 = ibuf_io_inst_0_bits_inst_rd == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@227211.4]
  assign _T_1413 = _T_1338 & _T_1412; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227212.4]
  assign _T_1415 = _T_1414 | _T_1413; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227214.4]
  assign data_hazard_mem = mem_ctrl_wxd & _T_1415; // @[RocketCore.scala 663:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227215.4]
  assign _T_1402 = mem_ctrl_csr != 3'h0; // @[RocketCore.scala 662:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227200.4]
  assign _T_1403 = mem_ctrl_mem & mem_reg_slow_bypass; // @[RocketCore.scala 662:66:shc.marmotcaravel.MarmotCaravelConfig.fir@227201.4]
  assign _T_1404 = _T_1402 | _T_1403; // @[RocketCore.scala 662:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227202.4]
  assign _T_1405 = _T_1404 | mem_ctrl_mul; // @[RocketCore.scala 662:84:shc.marmotcaravel.MarmotCaravelConfig.fir@227203.4]
  assign _T_1406 = _T_1405 | mem_ctrl_div; // @[RocketCore.scala 662:100:shc.marmotcaravel.MarmotCaravelConfig.fir@227204.4]
  assign _T_1407 = _T_1406 | mem_ctrl_fp; // @[RocketCore.scala 662:116:shc.marmotcaravel.MarmotCaravelConfig.fir@227205.4]
  assign mem_cannot_bypass = _T_1407 | mem_ctrl_rocc; // @[RocketCore.scala 662:131:shc.marmotcaravel.MarmotCaravelConfig.fir@227206.4]
  assign _T_1427 = data_hazard_mem & mem_cannot_bypass; // @[RocketCore.scala 665:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227228.4]
  assign id_mem_hazard = mem_reg_valid & _T_1427; // @[RocketCore.scala 665:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227230.4]
  assign _T_1467 = id_ex_hazard | id_mem_hazard; // @[RocketCore.scala 692:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227276.4]
  assign _T_1431 = ibuf_io_inst_0_bits_inst_rs1 == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227234.4]
  assign _T_1432 = _T_1334 & _T_1431; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227235.4]
  assign _T_1433 = ibuf_io_inst_0_bits_inst_rs2 == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227236.4]
  assign _T_1434 = _T_1336 & _T_1433; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227237.4]
  assign _T_1437 = _T_1432 | _T_1434; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227240.4]
  assign _T_1435 = ibuf_io_inst_0_bits_inst_rd == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227238.4]
  assign _T_1436 = _T_1338 & _T_1435; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227239.4]
  assign _T_1438 = _T_1437 | _T_1436; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227241.4]
  assign data_hazard_wb = wb_ctrl_wxd & _T_1438; // @[RocketCore.scala 669:36:shc.marmotcaravel.MarmotCaravelConfig.fir@227242.4]
  assign _T_924 = io_dmem_resp_valid == 1'h0; // @[RocketCore.scala 426:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226570.4]
  assign wb_dcache_miss = wb_ctrl_mem & _T_924; // @[RocketCore.scala 426:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226571.4]
  assign _T_1271 = wb_ctrl_div | wb_dcache_miss; // @[RocketCore.scala 562:35:shc.marmotcaravel.MarmotCaravelConfig.fir@226995.4]
  assign wb_set_sboard = _T_1271 | wb_ctrl_rocc; // @[RocketCore.scala 562:53:shc.marmotcaravel.MarmotCaravelConfig.fir@226996.4]
  assign _T_1450 = data_hazard_wb & wb_set_sboard; // @[RocketCore.scala 671:54:shc.marmotcaravel.MarmotCaravelConfig.fir@227255.4]
  assign id_wb_hazard = wb_reg_valid & _T_1450; // @[RocketCore.scala 671:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227257.4]
  assign _T_1468 = _T_1467 | id_wb_hazard; // @[RocketCore.scala 692:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227277.4]
  assign _T_1341 = _T_1340[31:1]; // @[RocketCore.scala 897:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227127.4]
  assign _GEN_240 = {{1'd0}, _T_1341}; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227128.4]
  assign _T_1342 = _GEN_240 << 1; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227128.4]
  assign _T_1348 = _T_1342 >> ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227137.4]
  assign _T_1349 = _T_1348[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227138.4]
  assign dmem_resp_valid = io_dmem_resp_valid & io_dmem_resp_bits_has_data; // @[RocketCore.scala 572:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227012.4]
  assign dmem_resp_replay = dmem_resp_valid & io_dmem_resp_bits_replay; // @[RocketCore.scala 573:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227013.4]
  assign _T_1277 = io_dmem_resp_bits_tag[0]; // @[RocketCore.scala 569:45:shc.marmotcaravel.MarmotCaravelConfig.fir@227006.4]
  assign dmem_resp_xpu = _T_1277 == 1'h0; // @[RocketCore.scala 569:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227008.4]
  assign _T_1285 = dmem_resp_replay & dmem_resp_xpu; // @[RocketCore.scala 588:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227026.4]
  assign _T_1283 = div_io_resp_ready & div_io_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227022.4]
  assign ll_wen = _T_1285 ? 1'h1 : _T_1283; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227027.4]
  assign dmem_resp_waddr = io_dmem_resp_bits_tag[5:1]; // @[RocketCore.scala 571:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227011.4]
  assign ll_waddr = _T_1285 ? dmem_resp_waddr : div_io_resp_bits_tag; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227027.4]
  assign _T_1350 = ll_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227139.4]
  assign _T_1351 = ll_wen & _T_1350; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227140.4]
  assign _T_1352 = _T_1351 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@227141.4]
  assign _T_1353 = _T_1349 & _T_1352; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227142.4]
  assign _T_1354 = _T_1334 & _T_1353; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227143.4]
  assign _T_1355 = _T_1342 >> ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227144.4]
  assign _T_1356 = _T_1355[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227145.4]
  assign _T_1357 = ll_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227146.4]
  assign _T_1358 = ll_wen & _T_1357; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227147.4]
  assign _T_1359 = _T_1358 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@227148.4]
  assign _T_1360 = _T_1356 & _T_1359; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227149.4]
  assign _T_1361 = _T_1336 & _T_1360; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227150.4]
  assign _T_1369 = _T_1354 | _T_1361; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227158.4]
  assign _T_1362 = _T_1342 >> ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227151.4]
  assign _T_1363 = _T_1362[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227152.4]
  assign _T_1364 = ll_waddr == ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@227153.4]
  assign _T_1365 = ll_wen & _T_1364; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227154.4]
  assign _T_1366 = _T_1365 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@227155.4]
  assign _T_1367 = _T_1363 & _T_1366; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227156.4]
  assign _T_1368 = _T_1338 & _T_1367; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227157.4]
  assign id_sboard_hazard = _T_1369 | _T_1368; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227159.4]
  assign _T_1469 = _T_1468 | id_sboard_hazard; // @[RocketCore.scala 692:51:shc.marmotcaravel.MarmotCaravelConfig.fir@227278.4]
  assign _T_1470 = ex_reg_valid | mem_reg_valid; // @[RocketCore.scala 693:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227279.4]
  assign _T_1471 = _T_1470 | wb_reg_valid; // @[RocketCore.scala 693:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227280.4]
  assign _T_1472 = csr_io_singleStep & _T_1471; // @[RocketCore.scala 693:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227281.4]
  assign _T_1473 = _T_1469 | _T_1472; // @[RocketCore.scala 692:71:shc.marmotcaravel.MarmotCaravelConfig.fir@227282.4]
  assign _T_1460 = io_dmem_perf_grant == 1'h0; // @[RocketCore.scala 686:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227267.4]
  assign dcache_blocked = blocked & _T_1460; // @[RocketCore.scala 686:13:shc.marmotcaravel.MarmotCaravelConfig.fir@227268.4]
  assign _T_1480 = id_ctrl_mem & dcache_blocked; // @[RocketCore.scala 696:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227289.4]
  assign _T_1481 = _T_1473 | _T_1480; // @[RocketCore.scala 695:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227290.4]
  assign wb_wxd = wb_reg_valid & wb_ctrl_wxd; // @[RocketCore.scala 561:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226994.4]
  assign _T_1484 = wb_wxd == 1'h0; // @[RocketCore.scala 698:65:shc.marmotcaravel.MarmotCaravelConfig.fir@227293.4]
  assign _T_1485 = div_io_resp_valid & _T_1484; // @[RocketCore.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227294.4]
  assign _T_1486 = div_io_req_ready | _T_1485; // @[RocketCore.scala 698:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227295.4]
  assign _T_1487 = _T_1486 == 1'h0; // @[RocketCore.scala 698:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227296.4]
  assign _T_1488 = _T_1487 | div_io_req_valid; // @[RocketCore.scala 698:75:shc.marmotcaravel.MarmotCaravelConfig.fir@227297.4]
  assign _T_1489 = id_ctrl_div & _T_1488; // @[RocketCore.scala 698:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227298.4]
  assign _T_1490 = _T_1481 | _T_1489; // @[RocketCore.scala 697:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227299.4]
  assign _T_1493 = _T_1490 | id_do_fence; // @[RocketCore.scala 699:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227302.4]
  assign ctrl_stalld = _T_1493 | csr_io_csr_stall; // @[RocketCore.scala 700:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227303.4]
  assign _T_1497 = _T_1496 | ctrl_stalld; // @[RocketCore.scala 702:89:shc.marmotcaravel.MarmotCaravelConfig.fir@227307.4]
  assign ctrl_killd = _T_1497 | csr_io_interrupt; // @[RocketCore.scala 702:104:shc.marmotcaravel.MarmotCaravelConfig.fir@227308.4]
  assign _T_882 = ctrl_killd == 1'h0; // @[RocketCore.scala 368:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226466.4]
  assign _T_883 = take_pc_mem_wb == 1'h0; // @[RocketCore.scala 369:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226468.4]
  assign _T_884 = _T_883 & ibuf_io_inst_0_valid; // @[RocketCore.scala 369:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226469.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@226492.8]
  assign _T_893 = _T_892 != 2'h0; // @[RocketCore.scala 383:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226493.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@226499.8]
  assign _T_895 = _T_894 != 2'h0; // @[RocketCore.scala 388:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226500.8]
  assign _T_896 = bpu_io_xcpt_if | _T_895; // @[RocketCore.scala 388:28:shc.marmotcaravel.MarmotCaravelConfig.fir@226501.8]
  assign _T_897 = id_ctrl_fence_i | id_csr_flush; // @[RocketCore.scala 393:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226507.6]
  assign _T_900 = {_T_1335,_T_1333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226513.8]
  assign _T_901 = _T_753 | _T_756; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226516.6]
  assign _T_902 = _T_901 | _T_758; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226517.6]
  assign do_bypass = _T_902 | _T_760; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226518.6]
  assign _T_905 = do_bypass == 1'h0; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226524.6]
  assign _T_906 = id_ctrl_rxs1 & _T_905; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226525.6]
  assign _T_1286 = replay_wb == 1'h0; // @[RocketCore.scala 596:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227032.4]
  assign _T_1287 = wb_reg_valid & _T_1286; // @[RocketCore.scala 596:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227033.4]
  assign _T_1288 = wb_xcpt == 1'h0; // @[RocketCore.scala 596:48:shc.marmotcaravel.MarmotCaravelConfig.fir@227034.4]
  assign wb_valid = _T_1287 & _T_1288; // @[RocketCore.scala 596:45:shc.marmotcaravel.MarmotCaravelConfig.fir@227035.4]
  assign wb_wen = wb_valid & wb_ctrl_wxd; // @[RocketCore.scala 597:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227036.4]
  assign rf_wen = wb_wen | ll_wen; // @[RocketCore.scala 598:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227037.4]
  assign rf_waddr = ll_wen ? ll_waddr : wb_waddr; // @[RocketCore.scala 599:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227038.4]
  assign _T_1295 = rf_waddr != 5'h0; // @[RocketCore.scala 922:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227047.6]
  assign _T_1299 = rf_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227053.8]
  assign _T_1289 = dmem_resp_valid & dmem_resp_xpu; // @[RocketCore.scala 600:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227039.4]
  assign ll_wdata = div_io_resp_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227016.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@227018.4]
  assign _T_1291 = wb_ctrl_csr != 3'h0; // @[RocketCore.scala 602:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227041.4]
  assign _T_1293 = _T_1291 ? csr_io_rw_rdata : wb_reg_wdata; // @[RocketCore.scala 602:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227043.4]
  assign _T_1294 = ll_wen ? ll_wdata : _T_1293; // @[RocketCore.scala 601:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227044.4]
  assign rf_wdata = _T_1289 ? io_dmem_resp_bits_data : _T_1294; // @[RocketCore.scala 600:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227045.4]
  assign _GEN_214 = _T_1299 ? rf_wdata : _T_582; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227054.8]
  assign _GEN_221 = _T_1295 ? _GEN_214 : _T_582; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227048.6]
  assign _GEN_228 = rf_wen ? _GEN_221 : _T_582; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227046.4]
  assign _T_907 = _GEN_228[1:0]; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226527.8]
  assign _T_908 = _GEN_228[31:2]; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226529.8]
  assign _T_909 = _T_761 | _T_764; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226532.6]
  assign _T_910 = _T_909 | _T_766; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226533.6]
  assign do_bypass_1 = _T_910 | _T_768; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226534.6]
  assign _T_913 = do_bypass_1 == 1'h0; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226540.6]
  assign _T_914 = id_ctrl_rxs2 & _T_913; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226541.6]
  assign _T_1300 = rf_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227057.8]
  assign _GEN_215 = _T_1300 ? rf_wdata : _T_590; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227058.8]
  assign _GEN_222 = _T_1295 ? _GEN_215 : _T_590; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227048.6]
  assign _GEN_229 = rf_wen ? _GEN_222 : _T_590; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227046.4]
  assign _T_915 = _GEN_229[1:0]; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226543.8]
  assign _T_916 = _GEN_229[31:2]; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226545.8]
  assign _T_917 = ibuf_io_inst_0_bits_raw[15:0]; // @[RocketCore.scala 410:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226549.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@226550.8]
  assign _T_918 = inst[1:0]; // @[RocketCore.scala 412:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226552.8]
  assign _T_919 = inst[31:2]; // @[RocketCore.scala 413:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226554.8]
  assign _T_1429 = mem_reg_valid & data_hazard_mem; // @[RocketCore.scala 666:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227231.4]
  assign id_load_use = _T_1429 & mem_ctrl_mem; // @[RocketCore.scala 666:51:shc.marmotcaravel.MarmotCaravelConfig.fir@227232.4]
  assign _T_921 = _T_882 | csr_io_interrupt; // @[RocketCore.scala 416:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226559.4]
  assign _T_922 = _T_921 | ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 416:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226560.4]
  assign _T_925 = io_dmem_req_ready == 1'h0; // @[RocketCore.scala 427:45:shc.marmotcaravel.MarmotCaravelConfig.fir@226572.4]
  assign _T_926 = ex_ctrl_mem & _T_925; // @[RocketCore.scala 427:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226573.4]
  assign _T_927 = div_io_req_ready == 1'h0; // @[RocketCore.scala 428:45:shc.marmotcaravel.MarmotCaravelConfig.fir@226574.4]
  assign _T_928 = ex_ctrl_div & _T_927; // @[RocketCore.scala 428:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226575.4]
  assign replay_ex_structural = _T_926 | _T_928; // @[RocketCore.scala 427:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226576.4]
  assign replay_ex_load_use = wb_dcache_miss & ex_reg_load_use; // @[RocketCore.scala 429:43:shc.marmotcaravel.MarmotCaravelConfig.fir@226577.4]
  assign _T_929 = replay_ex_structural | replay_ex_load_use; // @[RocketCore.scala 430:75:shc.marmotcaravel.MarmotCaravelConfig.fir@226578.4]
  assign _T_930 = ex_reg_valid & _T_929; // @[RocketCore.scala 430:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226579.4]
  assign replay_ex = ex_reg_replay | _T_930; // @[RocketCore.scala 430:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226580.4]
  assign _T_931 = take_pc_mem_wb | replay_ex; // @[RocketCore.scala 431:35:shc.marmotcaravel.MarmotCaravelConfig.fir@226581.4]
  assign _T_932 = ex_reg_valid == 1'h0; // @[RocketCore.scala 431:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226582.4]
  assign ctrl_killx = _T_931 | _T_932; // @[RocketCore.scala 431:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226583.4]
  assign _T_933 = ex_ctrl_mem_cmd == 5'h7; // @[RocketCore.scala 433:40:shc.marmotcaravel.MarmotCaravelConfig.fir@226584.4]
  assign _T_944 = 3'h0 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226591.4]
  assign _T_945 = 3'h4 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226592.4]
  assign _T_946 = 3'h1 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226593.4]
  assign _T_947 = 3'h5 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226594.4]
  assign _T_949 = _T_944 | _T_945; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226596.4]
  assign _T_950 = _T_949 | _T_946; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226597.4]
  assign _T_951 = _T_950 | _T_947; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@226598.4]
  assign ex_slow_bypass = _T_933 | _T_951; // @[RocketCore.scala 433:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226599.4]
  assign ex_xcpt = ex_reg_xcpt_interrupt | ex_reg_xcpt; // @[RocketCore.scala 437:28:shc.marmotcaravel.MarmotCaravelConfig.fir@226603.4]
  assign _T_964 = mem_reg_valid | mem_reg_replay; // @[RocketCore.scala 443:36:shc.marmotcaravel.MarmotCaravelConfig.fir@226614.4]
  assign mem_pc_valid = _T_964 | mem_reg_xcpt_interrupt; // @[RocketCore.scala 443:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226615.4]
  assign _T_1107 = mem_npc[1]; // @[RocketCore.scala 452:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226761.4]
  assign _T_1108 = _T_692 & _T_1107; // @[RocketCore.scala 452:56:shc.marmotcaravel.MarmotCaravelConfig.fir@226762.4]
  assign _T_1109 = mem_reg_sfence == 1'h0; // @[RocketCore.scala 452:73:shc.marmotcaravel.MarmotCaravelConfig.fir@226763.4]
  assign mem_npc_misaligned = _T_1108 & _T_1109; // @[RocketCore.scala 452:70:shc.marmotcaravel.MarmotCaravelConfig.fir@226764.4]
  assign _T_1110 = mem_reg_xcpt == 1'h0; // @[RocketCore.scala 453:27:shc.marmotcaravel.MarmotCaravelConfig.fir@226765.4]
  assign _T_1111 = mem_ctrl_jalr ^ mem_npc_misaligned; // @[RocketCore.scala 453:59:shc.marmotcaravel.MarmotCaravelConfig.fir@226766.4]
  assign _T_1112 = _T_1110 & _T_1111; // @[RocketCore.scala 453:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226767.4]
  assign _T_1114 = _T_1112 ? $signed(mem_br_target) : $signed(_T_1097); // @[RocketCore.scala 453:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226769.4]
  assign mem_int_wdata = $unsigned(_T_1114); // @[RocketCore.scala 453:119:shc.marmotcaravel.MarmotCaravelConfig.fir@226770.4]
  assign _T_1115 = mem_ctrl_branch | mem_ctrl_jalr; // @[RocketCore.scala 454:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226771.4]
  assign mem_cfi = _T_1115 | mem_ctrl_jal; // @[RocketCore.scala 454:50:shc.marmotcaravel.MarmotCaravelConfig.fir@226772.4]
  assign _T_1117 = _T_966 | mem_ctrl_jalr; // @[RocketCore.scala 455:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226774.4]
  assign mem_cfi_taken = _T_1117 | mem_ctrl_jal; // @[RocketCore.scala 455:74:shc.marmotcaravel.MarmotCaravelConfig.fir@226775.4]
  assign _T_1122 = ctrl_killx == 1'h0; // @[RocketCore.scala 460:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226782.4]
  assign _T_1129 = mem_reg_valid & mem_reg_flush_pipe; // @[RocketCore.scala 467:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226793.4]
  assign _T_1130 = ex_ctrl_mem_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@226801.8]
  assign _T_1131 = ex_ctrl_mem_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@226802.8]
  assign _T_1132 = _T_1130 | _T_1131; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@226803.8]
  assign _T_1134 = _T_1132 | _T_933; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226805.8]
  assign _T_1135 = ex_ctrl_mem_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226806.8]
  assign _T_1136 = ex_ctrl_mem_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226807.8]
  assign _T_1137 = ex_ctrl_mem_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226808.8]
  assign _T_1138 = ex_ctrl_mem_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226809.8]
  assign _T_1139 = _T_1135 | _T_1136; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226810.8]
  assign _T_1140 = _T_1139 | _T_1137; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226811.8]
  assign _T_1141 = _T_1140 | _T_1138; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226812.8]
  assign _T_1142 = ex_ctrl_mem_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226813.8]
  assign _T_1143 = ex_ctrl_mem_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226814.8]
  assign _T_1144 = ex_ctrl_mem_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226815.8]
  assign _T_1145 = ex_ctrl_mem_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226816.8]
  assign _T_1146 = ex_ctrl_mem_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226817.8]
  assign _T_1147 = _T_1142 | _T_1143; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226818.8]
  assign _T_1148 = _T_1147 | _T_1144; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226819.8]
  assign _T_1149 = _T_1148 | _T_1145; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226820.8]
  assign _T_1150 = _T_1149 | _T_1146; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@226821.8]
  assign _T_1151 = _T_1141 | _T_1150; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226822.8]
  assign _T_1152 = _T_1134 | _T_1151; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@226823.8]
  assign _T_1153 = ex_ctrl_mem & _T_1152; // @[RocketCore.scala 472:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226824.8]
  assign _T_1154 = ex_ctrl_mem_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@226826.8]
  assign _T_1155 = ex_ctrl_mem_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@226827.8]
  assign _T_1156 = _T_1154 | _T_1155; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@226828.8]
  assign _T_1158 = _T_1156 | _T_933; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@226830.8]
  assign _T_1176 = _T_1158 | _T_1151; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@226848.8]
  assign _T_1177 = ex_ctrl_mem & _T_1176; // @[RocketCore.scala 473:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226849.8]
  assign _T_1180 = ex_ctrl_rxs2 & ex_ctrl_mem; // @[RocketCore.scala 486:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226863.8]
  assign _T_1181 = ex_ctrl_mem_type[1:0]; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226866.10]
  assign _T_1182 = _T_1181 == 2'h0; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226867.10]
  assign _T_1183 = _T_805[7:0]; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226868.10]
  assign _T_1184 = {_T_1183,_T_1183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226869.10]
  assign _T_1185 = {_T_1184,_T_1184}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226870.10]
  assign _T_1186 = _T_1181 == 2'h1; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226871.10]
  assign _T_1187 = _T_805[15:0]; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@226872.10]
  assign _T_1188 = {_T_1187,_T_1187}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226873.10]
  assign _T_1191 = ex_ctrl_jalr & csr_io_status_debug; // @[RocketCore.scala 490:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226878.8]
  assign _T_1192 = mem_reg_load & bpu_io_xcpt_ld; // @[RocketCore.scala 497:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226884.4]
  assign _T_1193 = mem_reg_store & bpu_io_xcpt_st; // @[RocketCore.scala 497:75:shc.marmotcaravel.MarmotCaravelConfig.fir@226885.4]
  assign mem_breakpoint = _T_1192 | _T_1193; // @[RocketCore.scala 497:57:shc.marmotcaravel.MarmotCaravelConfig.fir@226886.4]
  assign _T_1194 = mem_reg_load & bpu_io_debug_ld; // @[RocketCore.scala 498:44:shc.marmotcaravel.MarmotCaravelConfig.fir@226887.4]
  assign _T_1195 = mem_reg_store & bpu_io_debug_st; // @[RocketCore.scala 498:82:shc.marmotcaravel.MarmotCaravelConfig.fir@226888.4]
  assign mem_debug_breakpoint = _T_1194 | _T_1195; // @[RocketCore.scala 498:64:shc.marmotcaravel.MarmotCaravelConfig.fir@226889.4]
  assign mem_ldst_xcpt = mem_debug_breakpoint | mem_breakpoint; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226890.4]
  assign mem_ldst_cause = mem_debug_breakpoint ? 4'he : 4'h3; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226891.4]
  assign _T_1196 = mem_reg_xcpt_interrupt | mem_reg_xcpt; // @[RocketCore.scala 504:29:shc.marmotcaravel.MarmotCaravelConfig.fir@226892.4]
  assign _T_1197 = mem_reg_valid & mem_npc_misaligned; // @[RocketCore.scala 505:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226893.4]
  assign _T_1198 = mem_reg_valid & mem_ldst_xcpt; // @[RocketCore.scala 506:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226894.4]
  assign _T_1199 = _T_1196 | _T_1197; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226895.4]
  assign mem_xcpt = _T_1199 | _T_1198; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@226896.4]
  assign _T_1200 = _T_1197 ? 4'h0 : mem_ldst_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226897.4]
  assign dcache_kill_mem = _T_749 & io_dmem_replay_next; // @[RocketCore.scala 515:55:shc.marmotcaravel.MarmotCaravelConfig.fir@226912.4]
  assign replay_mem = dcache_kill_mem | mem_reg_replay; // @[RocketCore.scala 517:37:shc.marmotcaravel.MarmotCaravelConfig.fir@226915.4]
  assign _T_1216 = dcache_kill_mem | take_pc_wb; // @[RocketCore.scala 518:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226917.4]
  assign _T_1217 = _T_1216 | mem_reg_xcpt; // @[RocketCore.scala 518:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226918.4]
  assign _T_1218 = mem_reg_valid == 1'h0; // @[RocketCore.scala 518:71:shc.marmotcaravel.MarmotCaravelConfig.fir@226919.4]
  assign killm_common = _T_1217 | _T_1218; // @[RocketCore.scala 518:68:shc.marmotcaravel.MarmotCaravelConfig.fir@226920.4]
  assign ctrl_killm = killm_common | mem_xcpt; // @[RocketCore.scala 520:33:shc.marmotcaravel.MarmotCaravelConfig.fir@226926.4]
  assign _T_1224 = ctrl_killm == 1'h0; // @[RocketCore.scala 523:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226928.4]
  assign _T_1225 = take_pc_wb == 1'h0; // @[RocketCore.scala 524:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226930.4]
  assign _T_1232 = _T_1110 & mem_ctrl_fp; // @[RocketCore.scala 530:39:shc.marmotcaravel.MarmotCaravelConfig.fir@226943.6]
  assign _T_1233 = _T_1232 & mem_ctrl_wxd; // @[RocketCore.scala 530:54:shc.marmotcaravel.MarmotCaravelConfig.fir@226944.6]
  assign _T_1253 = _T_1245 ? 3'h7 : 3'h5; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226974.4]
  assign _T_1254 = _T_1243 ? 4'hd : {{1'd0}, _T_1253}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226975.4]
  assign _T_1255 = _T_1241 ? 4'hf : _T_1254; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226976.4]
  assign _T_1256 = _T_1239 ? 4'h4 : _T_1255; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226977.4]
  assign _T_1257 = _T_1237 ? 4'h6 : _T_1256; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226978.4]
  assign wb_cause = wb_reg_xcpt ? wb_reg_cause : {{28'd0}, _T_1257}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@226979.4]
  assign _T_1258 = wb_cause == 32'h6; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226980.4]
  assign _T_1260 = wb_cause == 32'h4; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226982.4]
  assign _T_1262 = wb_cause == 32'hf; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226984.4]
  assign _T_1264 = wb_cause == 32'hd; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226986.4]
  assign _T_1266 = wb_cause == 32'h7; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226988.4]
  assign _T_1268 = wb_cause == 32'h5; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@226990.4]
  assign _T_1302 = wb_reg_raw_inst[1:0]; // @[RocketCore.scala 613:66:shc.marmotcaravel.MarmotCaravelConfig.fir@227069.4]
  assign _T_1303 = ~ _T_1302; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@227070.4]
  assign _T_1304 = _T_1303 == 2'h0; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@227071.4]
  assign _T_1305 = wb_reg_inst[31:16]; // @[RocketCore.scala 613:91:shc.marmotcaravel.MarmotCaravelConfig.fir@227072.4]
  assign _T_1306 = _T_1304 ? _T_1305 : 16'h0; // @[RocketCore.scala 613:50:shc.marmotcaravel.MarmotCaravelConfig.fir@227073.4]
  assign _T_1307 = wb_reg_raw_inst[15:0]; // @[RocketCore.scala 613:119:shc.marmotcaravel.MarmotCaravelConfig.fir@227074.4]
  assign _T_1309 = wb_cause == 32'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227083.4]
  assign _T_1310 = wb_cause == 32'h3; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227084.4]
  assign _T_1315 = wb_cause == 32'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227089.4]
  assign _T_1318 = wb_cause == 32'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@227092.4]
  assign _T_1319 = _T_1309 | _T_1310; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227093.4]
  assign _T_1320 = _T_1319 | _T_1260; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227094.4]
  assign _T_1321 = _T_1320 | _T_1258; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227095.4]
  assign _T_1322 = _T_1321 | _T_1268; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227096.4]
  assign _T_1323 = _T_1322 | _T_1266; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227097.4]
  assign _T_1324 = _T_1323 | _T_1315; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227098.4]
  assign _T_1325 = _T_1324 | _T_1264; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227099.4]
  assign _T_1326 = _T_1325 | _T_1262; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227100.4]
  assign _T_1327 = _T_1326 | _T_1318; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227101.4]
  assign tval_valid = wb_xcpt & _T_1327; // @[RocketCore.scala 620:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227102.4]
  assign _T_1330 = wb_reg_valid ? 3'h0 : 3'h4; // @[CSR.scala 128:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227114.4]
  assign _T_1331 = ~ _T_1330; // @[CSR.scala 128:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227115.4]
  assign _T_1343 = 32'h1 << ll_waddr; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227129.4]
  assign _T_1344 = ll_wen ? _T_1343 : 32'h0; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227130.4]
  assign _T_1345 = ~ _T_1344; // @[RocketCore.scala 892:64:shc.marmotcaravel.MarmotCaravelConfig.fir@227131.4]
  assign _T_1346 = _T_1342 & _T_1345; // @[RocketCore.scala 892:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227132.4]
  assign _T_1370 = wb_set_sboard & wb_wen; // @[RocketCore.scala 650:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227160.4]
  assign _T_1371 = 32'h1 << wb_waddr; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227161.4]
  assign _T_1372 = _T_1370 ? _T_1371 : 32'h0; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227162.4]
  assign _T_1373 = _T_1346 | _T_1372; // @[RocketCore.scala 891:60:shc.marmotcaravel.MarmotCaravelConfig.fir@227163.4]
  assign _T_1374 = ll_wen | _T_1370; // @[RocketCore.scala 903:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227164.4]
  assign _T_1454 = _T_925 & io_dmem_clock_enabled; // @[RocketCore.scala 685:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227260.4]
  assign _T_1456 = _T_1454 & _T_1460; // @[RocketCore.scala 685:60:shc.marmotcaravel.MarmotCaravelConfig.fir@227262.4]
  assign _T_1457 = blocked | io_dmem_req_valid; // @[RocketCore.scala 685:95:shc.marmotcaravel.MarmotCaravelConfig.fir@227263.4]
  assign _T_1458 = _T_1457 | io_dmem_s2_nack; // @[RocketCore.scala 685:116:shc.marmotcaravel.MarmotCaravelConfig.fir@227264.4]
  assign _T_1500 = wb_xcpt | csr_io_eret; // @[RocketCore.scala 707:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227313.4]
  assign _T_1501 = replay_wb ? wb_reg_pc : mem_npc; // @[RocketCore.scala 708:8:shc.marmotcaravel.MarmotCaravelConfig.fir@227314.4]
  assign _T_1503 = wb_reg_valid & wb_ctrl_fence_i; // @[RocketCore.scala 710:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227317.4]
  assign _T_1504 = io_dmem_s2_nack == 1'h0; // @[RocketCore.scala 710:62:shc.marmotcaravel.MarmotCaravelConfig.fir@227318.4]
  assign _T_1506 = ex_pc_valid | mem_pc_valid; // @[RocketCore.scala 712:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227321.4]
  assign _T_1507 = io_ptw_customCSRs_csrs_0_value[1]; // @[CustomCSRs.scala 38:61:shc.marmotcaravel.MarmotCaravelConfig.fir@227322.4]
  assign _T_1514 = mem_reg_valid & _T_1225; // @[RocketCore.scala 724:45:shc.marmotcaravel.MarmotCaravelConfig.fir@227338.4]
  assign _T_1515 = _T_1514 & mem_wrong_npc; // @[RocketCore.scala 724:60:shc.marmotcaravel.MarmotCaravelConfig.fir@227339.4]
  assign _T_1516 = mem_cfi == 1'h0; // @[RocketCore.scala 724:81:shc.marmotcaravel.MarmotCaravelConfig.fir@227340.4]
  assign _T_1517 = _T_1516 | mem_cfi_taken; // @[RocketCore.scala 724:90:shc.marmotcaravel.MarmotCaravelConfig.fir@227341.4]
  assign _T_1519 = mem_ctrl_jal | mem_ctrl_jalr; // @[RocketCore.scala 727:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227345.4]
  assign _T_1520 = mem_waddr[0]; // @[RocketCore.scala 727:53:shc.marmotcaravel.MarmotCaravelConfig.fir@227346.4]
  assign _T_1521 = _T_1519 & _T_1520; // @[RocketCore.scala 727:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227347.4]
  assign _T_1522 = mem_reg_inst[19:15]; // @[RocketCore.scala 728:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227348.4]
  assign _T_1523 = _T_1522 & 5'h1b; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227349.4]
  assign _T_1524 = 5'h1 == _T_1523; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227350.4]
  assign _T_1525 = mem_ctrl_jalr & _T_1524; // @[RocketCore.scala 728:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227351.4]
  assign _T_1528 = _T_1525 ? 2'h3 : {{1'd0}, _T_1519}; // @[RocketCore.scala 728:8:shc.marmotcaravel.MarmotCaravelConfig.fir@227354.4]
  assign _T_1530 = mem_reg_rvc ? 2'h0 : 2'h2; // @[RocketCore.scala 732:74:shc.marmotcaravel.MarmotCaravelConfig.fir@227358.4]
  assign _GEN_241 = {{30'd0}, _T_1530}; // @[RocketCore.scala 732:69:shc.marmotcaravel.MarmotCaravelConfig.fir@227359.4]
  assign _T_1533 = ~ io_imem_btb_update_bits_br_pc; // @[RocketCore.scala 733:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227362.4]
  assign _T_1534 = _T_1533 | 32'h3; // @[RocketCore.scala 733:66:shc.marmotcaravel.MarmotCaravelConfig.fir@227363.4]
  assign ex_dcache_tag = {ex_waddr,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227391.4]
  assign _T_1561 = wb_reg_inst[19:15]; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227427.4]
  assign _T_1562 = wb_reg_inst[24:20]; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227429.4]
  assign coreMonitorBundle_time = csr_io_time; // @[RocketCore.scala 811:40:shc.marmotcaravel.MarmotCaravelConfig.fir@227443.4]
  assign _T_1569 = csr_io_trace_0_exception == 1'h0; // @[RocketCore.scala 812:55:shc.marmotcaravel.MarmotCaravelConfig.fir@227445.4]
  assign coreMonitorBundle_valid = csr_io_trace_0_valid & _T_1569; // @[RocketCore.scala 812:52:shc.marmotcaravel.MarmotCaravelConfig.fir@227446.4]
  assign coreMonitorBundle_pc = csr_io_trace_0_iaddr; // @[RocketCore.scala 813:48:shc.marmotcaravel.MarmotCaravelConfig.fir@227448.4]
  assign _T_1573 = _T_1370 == 1'h0; // @[RocketCore.scala 814:44:shc.marmotcaravel.MarmotCaravelConfig.fir@227451.4]
  assign _T_1574 = rf_wen & _T_1573; // @[RocketCore.scala 814:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227452.4]
  assign coreMonitorBundle_wrdst = _T_1574 ? rf_waddr : 5'h0; // @[RocketCore.scala 814:33:shc.marmotcaravel.MarmotCaravelConfig.fir@227453.4]
  assign _T_1587 = reset == 1'h0; // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227473.4]
  assign coreMonitorBundle_inst = csr_io_trace_0_insn; // @[RocketCore.scala 808:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227440.4 RocketCore.scala 821:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227471.4]
  assign io_imem_might_request = imem_might_request_reg; // @[RocketCore.scala 711:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227325.4]
  assign io_imem_req_valid = take_pc_wb | take_pc_mem; // @[RocketCore.scala 704:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227310.4]
  assign io_imem_req_bits_pc = _T_1500 ? csr_io_evec : _T_1501; // @[RocketCore.scala 706:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227316.4]
  assign io_imem_req_bits_speculative = take_pc_wb == 1'h0; // @[RocketCore.scala 705:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227312.4]
  assign io_imem_sfence_valid = wb_reg_valid & wb_reg_sfence; // @[RocketCore.scala 715:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227327.4]
  assign io_imem_resp_ready = ibuf_io_imem_ready; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign io_imem_btb_update_valid = _T_1515 & _T_1517; // @[RocketCore.scala 724:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227343.4]
  assign io_imem_btb_update_bits_prediction_entry = mem_reg_btb_resp_entry; // @[RocketCore.scala 734:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227366.4]
  assign io_imem_btb_update_bits_pc = ~ _T_1534; // @[RocketCore.scala 733:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227365.4]
  assign io_imem_btb_update_bits_isValid = _T_1115 | mem_ctrl_jal; // @[RocketCore.scala 725:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227344.4]
  assign io_imem_btb_update_bits_br_pc = mem_reg_pc + _GEN_241; // @[RocketCore.scala 732:33:shc.marmotcaravel.MarmotCaravelConfig.fir@227361.4]
  assign io_imem_btb_update_bits_cfiType = _T_1521 ? 2'h2 : _T_1528; // @[RocketCore.scala 726:35:shc.marmotcaravel.MarmotCaravelConfig.fir@227356.4]
  assign io_imem_bht_update_valid = mem_reg_valid & _T_1225; // @[RocketCore.scala 736:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227369.4]
  assign io_imem_bht_update_bits_prediction_history = mem_reg_btb_resp_bht_history; // @[RocketCore.scala 741:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227374.4]
  assign io_imem_bht_update_bits_pc = io_imem_btb_update_bits_pc; // @[RocketCore.scala 737:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227370.4]
  assign io_imem_bht_update_bits_branch = mem_ctrl_branch; // @[RocketCore.scala 740:34:shc.marmotcaravel.MarmotCaravelConfig.fir@227373.4]
  assign io_imem_bht_update_bits_taken = mem_br_taken; // @[RocketCore.scala 738:33:shc.marmotcaravel.MarmotCaravelConfig.fir@227371.4]
  assign io_imem_bht_update_bits_mispredict = ex_pc_valid ? _T_1101 : _T_1104; // @[RocketCore.scala 739:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227372.4]
  assign io_imem_flush_icache = _T_1503 & _T_1504; // @[RocketCore.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227320.4]
  assign io_dmem_req_valid = ex_reg_valid & ex_ctrl_mem; // @[RocketCore.scala 754:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227390.4]
  assign io_dmem_req_bits_addr = alu_io_adder_out; // @[RocketCore.scala 761:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227396.4]
  assign io_dmem_req_bits_tag = {{1'd0}, ex_dcache_tag}; // @[RocketCore.scala 757:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227392.4]
  assign io_dmem_req_bits_cmd = ex_ctrl_mem_cmd; // @[RocketCore.scala 758:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227393.4]
  assign io_dmem_req_bits_typ = ex_ctrl_mem_type; // @[RocketCore.scala 759:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227394.4]
  assign io_dmem_s1_kill = killm_common | mem_ldst_xcpt; // @[RocketCore.scala 763:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227400.4]
  assign io_dmem_s1_data_data = mem_reg_rs2; // @[RocketCore.scala 762:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227397.4]
  assign io_dmem_keep_clock_enabled = ibuf_io_inst_0_valid & id_ctrl_mem; // @[RocketCore.scala 766:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227403.4]
  assign io_ptw_pmp_0_cfg_l = csr_io_pmp_0_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_0_cfg_a = csr_io_pmp_0_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_0_cfg_x = csr_io_pmp_0_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_0_cfg_w = csr_io_pmp_0_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_0_cfg_r = csr_io_pmp_0_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_0_addr = csr_io_pmp_0_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_0_mask = csr_io_pmp_0_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_cfg_l = csr_io_pmp_1_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_cfg_a = csr_io_pmp_1_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_cfg_x = csr_io_pmp_1_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_cfg_w = csr_io_pmp_1_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_cfg_r = csr_io_pmp_1_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_addr = csr_io_pmp_1_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_1_mask = csr_io_pmp_1_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_cfg_l = csr_io_pmp_2_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_cfg_a = csr_io_pmp_2_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_cfg_x = csr_io_pmp_2_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_cfg_w = csr_io_pmp_2_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_cfg_r = csr_io_pmp_2_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_addr = csr_io_pmp_2_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_2_mask = csr_io_pmp_2_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_cfg_l = csr_io_pmp_3_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_cfg_a = csr_io_pmp_3_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_cfg_x = csr_io_pmp_3_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_cfg_w = csr_io_pmp_3_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_cfg_r = csr_io_pmp_3_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_addr = csr_io_pmp_3_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_3_mask = csr_io_pmp_3_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_cfg_l = csr_io_pmp_4_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_cfg_a = csr_io_pmp_4_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_cfg_x = csr_io_pmp_4_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_cfg_w = csr_io_pmp_4_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_cfg_r = csr_io_pmp_4_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_addr = csr_io_pmp_4_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_4_mask = csr_io_pmp_4_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_cfg_l = csr_io_pmp_5_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_cfg_a = csr_io_pmp_5_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_cfg_x = csr_io_pmp_5_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_cfg_w = csr_io_pmp_5_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_cfg_r = csr_io_pmp_5_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_addr = csr_io_pmp_5_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_5_mask = csr_io_pmp_5_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_cfg_l = csr_io_pmp_6_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_cfg_a = csr_io_pmp_6_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_cfg_x = csr_io_pmp_6_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_cfg_w = csr_io_pmp_6_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_cfg_r = csr_io_pmp_6_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_addr = csr_io_pmp_6_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_6_mask = csr_io_pmp_6_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_cfg_l = csr_io_pmp_7_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_cfg_a = csr_io_pmp_7_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_cfg_x = csr_io_pmp_7_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_cfg_w = csr_io_pmp_7_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_cfg_r = csr_io_pmp_7_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_addr = csr_io_pmp_7_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_pmp_7_mask = csr_io_pmp_7_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227111.4]
  assign io_ptw_customCSRs_csrs_0_value = 32'h0; // @[RocketCore.scala 626:79:shc.marmotcaravel.MarmotCaravelConfig.fir@227106.4]
  assign ibuf_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225774.4]
  assign ibuf_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225775.4]
  assign ibuf_io_imem_valid = io_imem_resp_valid; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_btb_taken = io_imem_resp_bits_btb_taken; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_btb_bridx = io_imem_resp_bits_btb_bridx; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_btb_entry = io_imem_resp_bits_btb_entry; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_btb_bht_history = io_imem_resp_bits_btb_bht_history; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_pc = io_imem_resp_bits_pc; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_data = io_imem_resp_bits_data; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_xcpt_ae_inst = io_imem_resp_bits_xcpt_ae_inst; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_imem_bits_replay = io_imem_resp_bits_replay; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225776.4]
  assign ibuf_io_kill = take_pc_wb | take_pc_mem; // @[RocketCore.scala 227:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225777.4]
  assign ibuf_io_inst_0_ready = ctrl_stalld == 1'h0; // @[RocketCore.scala 722:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227336.4]
  assign csr_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226209.4]
  assign csr_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226210.4]
  assign csr_io_ungated_clock = clock; // @[RocketCore.scala 608:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227063.4]
  assign csr_io_interrupts_debug = io_interrupts_debug; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227077.4]
  assign csr_io_interrupts_mtip = io_interrupts_mtip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227077.4]
  assign csr_io_interrupts_msip = io_interrupts_msip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227077.4]
  assign csr_io_interrupts_meip = io_interrupts_meip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227077.4]
  assign csr_io_hartid = io_hartid; // @[RocketCore.scala 615:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227078.4]
  assign csr_io_rw_addr = wb_reg_inst[31:20]; // @[RocketCore.scala 629:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227113.4]
  assign csr_io_rw_cmd = wb_ctrl_csr & _T_1331; // @[RocketCore.scala 630:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227117.4]
  assign csr_io_rw_wdata = wb_reg_wdata; // @[RocketCore.scala 631:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227118.4]
  assign csr_io_decode_0_csr = ibuf_io_inst_0_bits_raw[31:20]; // @[RocketCore.scala 609:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227065.4]
  assign csr_io_exception = _T_1252 | _T_1247; // @[RocketCore.scala 610:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227066.4]
  assign csr_io_retire = _T_1287 & _T_1288; // @[RocketCore.scala 612:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227068.4]
  assign csr_io_cause = wb_reg_xcpt ? wb_reg_cause : {{28'd0}, _T_1257}; // @[RocketCore.scala 611:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227067.4]
  assign csr_io_pc = wb_reg_pc; // @[RocketCore.scala 619:13:shc.marmotcaravel.MarmotCaravelConfig.fir@227082.4]
  assign csr_io_tval = tval_valid ? wb_reg_wdata : 32'h0; // @[RocketCore.scala 624:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227104.4]
  assign csr_io_inst_0 = {_T_1306,_T_1307}; // @[RocketCore.scala 613:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227076.4]
  assign bpu_io_status_debug = csr_io_status_debug; // @[RocketCore.scala 281:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226297.4]
  assign bpu_io_bp_0_control_action = csr_io_bp_0_control_action; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_0_control_chain = csr_io_bp_0_control_chain; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_0_control_tmatch = csr_io_bp_0_control_tmatch; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_0_control_x = csr_io_bp_0_control_x; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_0_control_w = csr_io_bp_0_control_w; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_0_control_r = csr_io_bp_0_control_r; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_0_address = csr_io_bp_0_address; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_1_control_action = csr_io_bp_1_control_action; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_1_control_tmatch = csr_io_bp_1_control_tmatch; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_1_control_x = csr_io_bp_1_control_x; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_1_control_w = csr_io_bp_1_control_w; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_1_control_r = csr_io_bp_1_control_r; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_bp_1_address = csr_io_bp_1_address; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226298.4]
  assign bpu_io_pc = ibuf_io_pc; // @[RocketCore.scala 283:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226299.4]
  assign bpu_io_ea = mem_reg_wdata; // @[RocketCore.scala 284:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226300.4]
  assign alu_io_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 341:13:shc.marmotcaravel.MarmotCaravelConfig.fir@226450.4]
  assign alu_io_in2 = $unsigned(ex_op2); // @[RocketCore.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@226452.4]
  assign alu_io_in1 = $unsigned(ex_op1); // @[RocketCore.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@226454.4]
  assign div_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226457.4]
  assign div_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226458.4]
  assign div_io_req_valid = ex_reg_valid & ex_ctrl_div; // @[RocketCore.scala 355:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226460.4]
  assign div_io_req_bits_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 357:22:shc.marmotcaravel.MarmotCaravelConfig.fir@226462.4]
  assign div_io_req_bits_in1 = ex_reg_rs_bypass_0 ? _T_795 : _T_796; // @[RocketCore.scala 358:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226463.4]
  assign div_io_req_bits_in2 = ex_reg_rs_bypass_1 ? _T_803 : _T_804; // @[RocketCore.scala 359:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226464.4]
  assign div_io_req_bits_tag = ex_reg_inst[11:7]; // @[RocketCore.scala 360:23:shc.marmotcaravel.MarmotCaravelConfig.fir@226465.4]
  assign div_io_kill = killm_common & _T_1221; // @[RocketCore.scala 519:15:shc.marmotcaravel.MarmotCaravelConfig.fir@226925.4]
  assign div_io_resp_ready = _T_1285 ? 1'h0 : _T_1484; // @[RocketCore.scala 575:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227015.4 RocketCore.scala 589:23:shc.marmotcaravel.MarmotCaravelConfig.fir@227028.6]
  assign PlusArgTimeout_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227479.4]
  assign PlusArgTimeout_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227480.4]
  assign PlusArgTimeout_io_count = csr_io_time; // @[PlusArg.scala 51:75:shc.marmotcaravel.MarmotCaravelConfig.fir@227481.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@226119.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@227475.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RocketTile( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227483.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227484.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227485.4]
  input         auto_intsink_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_int_in_xing_in_1_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_int_in_xing_in_0_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_int_in_xing_in_0_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_slave_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_slave_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [2:0]  auto_tl_slave_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [2:0]  auto_tl_slave_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [2:0]  auto_tl_slave_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_slave_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [31:0] auto_tl_slave_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [3:0]  auto_tl_slave_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [31:0] auto_tl_slave_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_slave_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_slave_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_slave_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [2:0]  auto_tl_slave_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [1:0]  auto_tl_slave_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [2:0]  auto_tl_slave_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_slave_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_slave_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_slave_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [31:0] auto_tl_slave_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_slave_xing_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_master_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_master_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [2:0]  auto_tl_master_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [2:0]  auto_tl_master_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [3:0]  auto_tl_master_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_master_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [31:0] auto_tl_master_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [3:0]  auto_tl_master_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output [31:0] auto_tl_master_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_master_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  output        auto_tl_master_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_master_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [2:0]  auto_tl_master_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [1:0]  auto_tl_master_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [3:0]  auto_tl_master_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_master_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_master_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_master_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input  [31:0] auto_tl_master_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         auto_tl_master_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227486.4]
  input         constants_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227487.4]
  input  [31:0] constants_reset_vector, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227487.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@227493.4]
  wire  tlMasterXbar_reset; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_1_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_1_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_in_1_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_1_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_1_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_in_1_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_in_1_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_in_1_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_1_d_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_in_0_a_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_in_0_a_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_in_0_a_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_in_0_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_in_0_a_bits_mask; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_in_0_a_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_c_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_in_0_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_in_0_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_d_bits_denied; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_in_0_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_in_0_e_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_out_a_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_out_a_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_out_a_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_a_bits_source; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_out_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_out_a_bits_mask; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_out_a_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_a_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [2:0] tlMasterXbar_auto_out_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [1:0] tlMasterXbar_auto_out_d_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [3:0] tlMasterXbar_auto_out_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_d_bits_source; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_d_bits_sink; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_d_bits_denied; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire [31:0] tlMasterXbar_auto_out_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlMasterXbar_auto_out_d_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.4]
  wire  tlSlaveXbar_clock; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_reset; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_in_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_in_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_in_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_in_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [3:0] tlSlaveXbar_auto_in_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_in_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_a_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_in_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [1:0] tlSlaveXbar_auto_in_d_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_in_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_d_bits_sink; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_d_bits_denied; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_in_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_in_d_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_1_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_1_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_1_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_out_1_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [3:0] tlSlaveXbar_auto_out_1_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_out_1_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_1_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_1_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_1_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_1_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_1_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_out_1_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [27:0] tlSlaveXbar_auto_out_0_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [3:0] tlSlaveXbar_auto_out_0_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_out_0_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_a_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_0_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [2:0] tlSlaveXbar_auto_out_0_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  tlSlaveXbar_auto_out_0_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire [31:0] tlSlaveXbar_auto_out_0_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227499.4]
  wire  intXbar_auto_int_in_2_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_in_1_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_in_1_1; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_in_0_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_out_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_out_1; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_out_2; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  intXbar_auto_int_out_3; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@227505.4]
  wire  dcache_gated_clock; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_reset; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_a_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_a_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [2:0] dcache_auto_out_a_bits_opcode; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [2:0] dcache_auto_out_a_bits_param; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [3:0] dcache_auto_out_a_bits_size; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_auto_out_a_bits_address; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [3:0] dcache_auto_out_a_bits_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_auto_out_a_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_c_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_d_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_d_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [2:0] dcache_auto_out_d_bits_opcode; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [3:0] dcache_auto_out_d_bits_size; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_d_bits_denied; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_auto_out_d_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_auto_out_e_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_req_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_req_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_req_bits_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [6:0] dcache_io_cpu_req_bits_tag; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [4:0] dcache_io_cpu_req_bits_cmd; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [2:0] dcache_io_cpu_req_bits_typ; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_req_bits_phys; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s1_kill; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_s1_data_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [3:0] dcache_io_cpu_s1_data_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_nack; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_resp_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_resp_bits_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [6:0] dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [4:0] dcache_io_cpu_resp_bits_cmd; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [2:0] dcache_io_cpu_resp_bits_typ; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_cpu_resp_bits_store_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_replay_next; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_ordered; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_perf_grant; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_keep_clock_enabled; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_cpu_clock_enabled; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_0_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_0_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_0_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_0_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_0_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_0_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_0_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_1_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_1_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_1_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_1_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_1_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_1_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_1_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_2_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_2_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_2_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_2_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_2_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_2_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_2_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_3_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_3_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_3_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_3_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_3_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_3_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_3_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_4_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_4_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_4_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_4_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_4_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_4_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_4_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_5_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_5_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_5_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_5_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_5_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_5_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_5_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_6_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_6_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_6_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_6_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_6_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_6_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_6_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_7_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [1:0] dcache_io_ptw_pmp_7_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_7_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_7_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  dcache_io_ptw_pmp_7_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [29:0] dcache_io_ptw_pmp_7_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire [31:0] dcache_io_ptw_pmp_7_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@227511.4]
  wire  frontend_gated_clock; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_reset; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_slave_in_a_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_slave_in_a_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [2:0] frontend_auto_icache_slave_in_a_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_auto_icache_slave_in_a_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [6:0] frontend_auto_icache_slave_in_a_bits_source; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [27:0] frontend_auto_icache_slave_in_a_bits_address; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [3:0] frontend_auto_icache_slave_in_a_bits_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_auto_icache_slave_in_a_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_slave_in_d_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_slave_in_d_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [2:0] frontend_auto_icache_slave_in_d_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_auto_icache_slave_in_d_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [6:0] frontend_auto_icache_slave_in_d_bits_source; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_auto_icache_slave_in_d_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_master_out_a_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_master_out_a_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_auto_icache_master_out_a_bits_address; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_master_out_d_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_master_out_d_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [2:0] frontend_auto_icache_master_out_d_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [3:0] frontend_auto_icache_master_out_d_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_auto_icache_master_out_d_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_auto_icache_master_out_d_bits_corrupt; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_reset_vector; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_might_request; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_req_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_req_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_req_bits_speculative; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_sfence_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_resp_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_resp_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_resp_bits_btb_taken; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_resp_bits_btb_bridx; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [4:0] frontend_io_cpu_resp_bits_btb_entry; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [7:0] frontend_io_cpu_resp_bits_btb_bht_history; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_resp_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_resp_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_resp_bits_replay; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_btb_update_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [4:0] frontend_io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_btb_update_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_btb_update_bits_isValid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_bht_update_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [7:0] frontend_io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_bht_update_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_bht_update_bits_branch; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_bht_update_bits_taken; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_cpu_flush_icache; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_cpu_npc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_0_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_0_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_1_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_1_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_2_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_2_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_3_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_3_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_4_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_4_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_5_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_5_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_6_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_6_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [1:0] frontend_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  frontend_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [29:0] frontend_io_ptw_pmp_7_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire [31:0] frontend_io_ptw_pmp_7_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.4]
  wire  dtim_adapter_clock; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_reset; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_auto_in_a_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_auto_in_a_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [2:0] dtim_adapter_auto_in_a_bits_opcode; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [2:0] dtim_adapter_auto_in_a_bits_param; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [1:0] dtim_adapter_auto_in_a_bits_size; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [6:0] dtim_adapter_auto_in_a_bits_source; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [31:0] dtim_adapter_auto_in_a_bits_address; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [3:0] dtim_adapter_auto_in_a_bits_mask; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [31:0] dtim_adapter_auto_in_a_bits_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_auto_in_d_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_auto_in_d_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [2:0] dtim_adapter_auto_in_d_bits_opcode; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [1:0] dtim_adapter_auto_in_d_bits_size; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [6:0] dtim_adapter_auto_in_d_bits_source; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [31:0] dtim_adapter_auto_in_d_bits_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_io_dmem_req_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_io_dmem_req_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [31:0] dtim_adapter_io_dmem_req_bits_addr; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [4:0] dtim_adapter_io_dmem_req_bits_cmd; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [2:0] dtim_adapter_io_dmem_req_bits_typ; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_io_dmem_s1_kill; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [31:0] dtim_adapter_io_dmem_s1_data_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [3:0] dtim_adapter_io_dmem_s1_data_mask; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_io_dmem_s2_nack; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  dtim_adapter_io_dmem_resp_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire [31:0] dtim_adapter_io_dmem_resp_bits_data_raw; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227531.4]
  wire  fragmenter_1_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [31:0] fragmenter_1_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [3:0] fragmenter_1_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [31:0] fragmenter_1_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [31:0] fragmenter_1_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [1:0] fragmenter_1_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [6:0] fragmenter_1_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [31:0] fragmenter_1_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [3:0] fragmenter_1_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [31:0] fragmenter_1_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  fragmenter_1_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [2:0] fragmenter_1_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [1:0] fragmenter_1_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [6:0] fragmenter_1_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire [31:0] fragmenter_1_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [2:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.4]
  wire  intsink_clock; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227556.4]
  wire  intsink_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227556.4]
  wire  intsink_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227556.4]
  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227562.4]
  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227562.4]
  wire  intsink_1_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227562.4]
  wire  intsink_1_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227562.4]
  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227568.4]
  wire  intsink_2_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227568.4]
  wire  dcacheArb_clock; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_0_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [6:0] dcacheArb_io_requestor_0_req_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [4:0] dcacheArb_io_requestor_0_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [2:0] dcacheArb_io_requestor_0_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_0_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [6:0] dcacheArb_io_requestor_0_resp_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_resp_bits_replay; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_resp_bits_has_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_replay_next; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_ordered; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_perf_grant; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_keep_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_0_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_1_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_1_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_1_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [4:0] dcacheArb_io_requestor_1_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [2:0] dcacheArb_io_requestor_1_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_1_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_1_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [3:0] dcacheArb_io_requestor_1_s1_data_mask; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_1_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_requestor_1_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_requestor_1_resp_bits_data_raw; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [6:0] dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [4:0] dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [2:0] dcacheArb_io_mem_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_req_bits_phys; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [3:0] dcacheArb_io_mem_s1_data_mask; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [6:0] dcacheArb_io_mem_resp_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_mem_resp_bits_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_resp_bits_replay; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_resp_bits_has_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_mem_resp_bits_data_word_bypass; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire [31:0] dcacheArb_io_mem_resp_bits_data_raw; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_replay_next; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_xcpt_ma_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_xcpt_ma_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_xcpt_pf_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_xcpt_pf_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_xcpt_ae_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_s2_xcpt_ae_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_ordered; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_perf_grant; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_keep_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  dcacheArb_io_mem_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227659.4]
  wire  ptw_clock; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_0_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_0_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_0_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_requestor_1_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_requestor_1_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_requestor_1_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [1:0] ptw_io_dpath_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  ptw_io_dpath_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [29:0] ptw_io_dpath_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire [31:0] ptw_io_dpath_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227664.4]
  wire  core_clock; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_reset; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_hartid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_interrupts_debug; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_interrupts_mtip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_interrupts_msip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_interrupts_meip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_might_request; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_req_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_imem_req_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_req_bits_speculative; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_sfence_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_resp_ready; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_resp_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_resp_bits_btb_taken; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_resp_bits_btb_bridx; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [4:0] core_io_imem_resp_bits_btb_entry; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [7:0] core_io_imem_resp_bits_btb_bht_history; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_imem_resp_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_imem_resp_bits_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_resp_bits_replay; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_btb_update_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [4:0] core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_bht_update_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [7:0] core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_imem_flush_icache; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_req_ready; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_req_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_dmem_req_bits_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [6:0] core_io_dmem_req_bits_tag; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [4:0] core_io_dmem_req_bits_cmd; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [2:0] core_io_dmem_req_bits_typ; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s1_kill; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_dmem_s1_data_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_nack; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_resp_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [6:0] core_io_dmem_resp_bits_tag; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_dmem_resp_bits_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_resp_bits_replay; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_resp_bits_has_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_dmem_resp_bits_data_word_bypass; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_replay_next; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_xcpt_ma_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_xcpt_ma_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_xcpt_pf_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_xcpt_pf_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_xcpt_ae_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_s2_xcpt_ae_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_ordered; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_perf_grant; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_keep_clock_enabled; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_dmem_clock_enabled; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_0_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_0_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_1_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_1_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_2_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_2_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_3_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_3_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_4_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_4_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_5_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_5_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_6_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_6_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [1:0] core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire  core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [29:0] core_io_ptw_pmp_7_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_pmp_7_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  wire [31:0] core_io_ptw_customCSRs_csrs_0_value; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227668.4]
  TLXbar_8 tlMasterXbar ( // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@227493.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@227499.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@227505.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@227511.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@227518.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_18 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227525.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@227531.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_19 fragmenter_1 ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227538.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_16 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227544.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_17 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227550.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@227556.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@227562.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@227568.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@227659.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@227664.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@227668.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@227655.4]
  assign auto_tl_slave_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227655.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@227655.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@227655.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@227655.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@227655.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@227655.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@227655.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@227655.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@227655.4]
  assign auto_tl_master_xing_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign auto_tl_master_xing_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign tlMasterXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227497.4]
  assign tlMasterXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227498.4]
  assign tlMasterXbar_auto_in_1_a_valid = frontend_auto_icache_master_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227641.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@227641.4]
  assign tlMasterXbar_auto_in_1_d_ready = frontend_auto_icache_master_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227641.4]
  assign tlMasterXbar_auto_in_0_a_valid = dcache_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_a_bits_opcode = dcache_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_a_bits_param = dcache_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_a_bits_size = dcache_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_a_bits_address = dcache_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_a_bits_mask = dcache_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_a_bits_data = dcache_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_c_valid = dcache_auto_out_c_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_d_ready = dcache_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_in_0_e_valid = dcache_auto_out_e_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign tlMasterXbar_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlMasterXbar_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227633.4]
  assign tlSlaveXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227503.4]
  assign tlSlaveXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227504.4]
  assign tlSlaveXbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227643.4]
  assign tlSlaveXbar_auto_out_1_a_ready = fragmenter_1_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign tlSlaveXbar_auto_out_1_d_valid = fragmenter_1_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign tlSlaveXbar_auto_out_1_d_bits_opcode = fragmenter_1_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign tlSlaveXbar_auto_out_1_d_bits_size = fragmenter_1_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign tlSlaveXbar_auto_out_1_d_bits_source = fragmenter_1_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign tlSlaveXbar_auto_out_1_d_bits_data = fragmenter_1_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign tlSlaveXbar_auto_out_0_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign tlSlaveXbar_auto_out_0_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign tlSlaveXbar_auto_out_0_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign tlSlaveXbar_auto_out_0_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign tlSlaveXbar_auto_out_0_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign tlSlaveXbar_auto_out_0_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign intXbar_auto_int_in_2_0 = intsink_2_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227639.4]
  assign intXbar_auto_int_in_1_0 = intsink_1_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227638.4]
  assign intXbar_auto_int_in_1_1 = intsink_1_auto_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227638.4]
  assign intXbar_auto_int_in_0_0 = intsink_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227637.4]
  assign dcache_gated_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227516.4]
  assign dcache_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227517.4]
  assign dcache_auto_out_a_ready = tlMasterXbar_auto_in_0_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign dcache_auto_out_d_valid = tlMasterXbar_auto_in_0_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign dcache_auto_out_d_bits_opcode = tlMasterXbar_auto_in_0_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign dcache_auto_out_d_bits_size = tlMasterXbar_auto_in_0_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign dcache_auto_out_d_bits_denied = tlMasterXbar_auto_in_0_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign dcache_auto_out_d_bits_data = tlMasterXbar_auto_in_0_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227640.4]
  assign dcache_io_cpu_req_valid = dcacheArb_io_mem_req_valid; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_req_bits_addr = dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_req_bits_tag = dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_req_bits_cmd = dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_req_bits_typ = dcacheArb_io_mem_req_bits_typ; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_req_bits_phys = dcacheArb_io_mem_req_bits_phys; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_s1_kill = dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_s1_data_data = dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_s1_data_mask = dcacheArb_io_mem_s1_data_mask; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcache_io_cpu_keep_clock_enabled = dcacheArb_io_mem_keep_clock_enabled; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_0_addr = ptw_io_requestor_0_pmp_0_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_0_mask = ptw_io_requestor_0_pmp_0_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_1_addr = ptw_io_requestor_0_pmp_1_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_1_mask = ptw_io_requestor_0_pmp_1_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_2_addr = ptw_io_requestor_0_pmp_2_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_2_mask = ptw_io_requestor_0_pmp_2_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_3_addr = ptw_io_requestor_0_pmp_3_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_3_mask = ptw_io_requestor_0_pmp_3_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_4_addr = ptw_io_requestor_0_pmp_4_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_4_mask = ptw_io_requestor_0_pmp_4_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_5_addr = ptw_io_requestor_0_pmp_5_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_5_mask = ptw_io_requestor_0_pmp_5_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_6_addr = ptw_io_requestor_0_pmp_6_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_6_mask = ptw_io_requestor_0_pmp_6_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.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@227689.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@227689.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@227689.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@227689.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@227689.4]
  assign dcache_io_ptw_pmp_7_addr = ptw_io_requestor_0_pmp_7_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign dcache_io_ptw_pmp_7_mask = ptw_io_requestor_0_pmp_7_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227689.4]
  assign frontend_gated_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227523.4]
  assign frontend_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227524.4]
  assign frontend_auto_icache_slave_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_slave_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign frontend_auto_icache_master_out_a_ready = tlMasterXbar_auto_in_1_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227641.4]
  assign frontend_auto_icache_master_out_d_valid = tlMasterXbar_auto_in_1_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227641.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@227641.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@227641.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@227641.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@227641.4]
  assign frontend_io_reset_vector = constants_reset_vector; // @[RocketTile.scala 131:41:shc.marmotcaravel.MarmotCaravelConfig.fir@227679.4]
  assign frontend_io_cpu_might_request = core_io_imem_might_request; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_req_valid = core_io_imem_req_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_req_bits_pc = core_io_imem_req_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_req_bits_speculative = core_io_imem_req_bits_speculative; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_sfence_valid = core_io_imem_sfence_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_resp_ready = core_io_imem_resp_ready; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_btb_update_valid = core_io_imem_btb_update_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.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@227678.4]
  assign frontend_io_cpu_btb_update_bits_pc = core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_btb_update_bits_isValid = core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.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@227678.4]
  assign frontend_io_cpu_btb_update_bits_cfiType = core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_bht_update_valid = core_io_imem_bht_update_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.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@227678.4]
  assign frontend_io_cpu_bht_update_bits_pc = core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_bht_update_bits_branch = core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_bht_update_bits_taken = core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_bht_update_bits_mispredict = core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign frontend_io_cpu_flush_icache = core_io_imem_flush_icache; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_0_addr = ptw_io_requestor_1_pmp_0_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_0_mask = ptw_io_requestor_1_pmp_0_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_1_addr = ptw_io_requestor_1_pmp_1_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_1_mask = ptw_io_requestor_1_pmp_1_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_2_addr = ptw_io_requestor_1_pmp_2_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_2_mask = ptw_io_requestor_1_pmp_2_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_3_addr = ptw_io_requestor_1_pmp_3_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_3_mask = ptw_io_requestor_1_pmp_3_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_4_addr = ptw_io_requestor_1_pmp_4_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_4_mask = ptw_io_requestor_1_pmp_4_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_5_addr = ptw_io_requestor_1_pmp_5_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_5_mask = ptw_io_requestor_1_pmp_5_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_6_addr = ptw_io_requestor_1_pmp_6_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_6_mask = ptw_io_requestor_1_pmp_6_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.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@227690.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@227690.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@227690.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@227690.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@227690.4]
  assign frontend_io_ptw_pmp_7_addr = ptw_io_requestor_1_pmp_7_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign frontend_io_ptw_pmp_7_mask = ptw_io_requestor_1_pmp_7_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227690.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227529.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227530.4]
  assign fragmenter_auto_in_a_valid = tlSlaveXbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_param = tlSlaveXbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_size = tlSlaveXbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_source = tlSlaveXbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_address = tlSlaveXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_mask = tlSlaveXbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_data = tlSlaveXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_a_bits_corrupt = tlSlaveXbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_in_d_ready = tlSlaveXbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227634.4]
  assign fragmenter_auto_out_a_ready = frontend_auto_icache_slave_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign fragmenter_auto_out_d_valid = frontend_auto_icache_slave_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign fragmenter_auto_out_d_bits_opcode = frontend_auto_icache_slave_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign fragmenter_auto_out_d_bits_size = frontend_auto_icache_slave_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign fragmenter_auto_out_d_bits_source = frontend_auto_icache_slave_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign fragmenter_auto_out_d_bits_data = frontend_auto_icache_slave_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227642.4]
  assign dtim_adapter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227536.4]
  assign dtim_adapter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227537.4]
  assign dtim_adapter_auto_in_a_valid = fragmenter_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_opcode = fragmenter_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_param = fragmenter_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_size = fragmenter_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_source = fragmenter_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_address = fragmenter_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_mask = fragmenter_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_a_bits_data = fragmenter_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_auto_in_d_ready = fragmenter_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign dtim_adapter_io_dmem_req_ready = dcacheArb_io_requestor_1_req_ready; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dtim_adapter_io_dmem_s2_nack = dcacheArb_io_requestor_1_s2_nack; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dtim_adapter_io_dmem_resp_valid = dcacheArb_io_requestor_1_resp_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.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@227688.4]
  assign fragmenter_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227542.4]
  assign fragmenter_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227543.4]
  assign fragmenter_1_auto_in_a_valid = tlSlaveXbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_param = tlSlaveXbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_size = tlSlaveXbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_source = tlSlaveXbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_address = tlSlaveXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_mask = tlSlaveXbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_a_bits_data = tlSlaveXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_in_d_ready = tlSlaveXbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227635.4]
  assign fragmenter_1_auto_out_a_ready = dtim_adapter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign fragmenter_1_auto_out_d_valid = dtim_adapter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign fragmenter_1_auto_out_d_bits_opcode = dtim_adapter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign fragmenter_1_auto_out_d_bits_size = dtim_adapter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign fragmenter_1_auto_out_d_bits_source = dtim_adapter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign fragmenter_1_auto_out_d_bits_data = dtim_adapter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227548.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227549.4]
  assign buffer_auto_in_a_valid = tlMasterXbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_opcode = tlMasterXbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_param = tlMasterXbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_size = tlMasterXbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_source = tlMasterXbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_address = tlMasterXbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_mask = tlMasterXbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_data = tlMasterXbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_a_bits_corrupt = tlMasterXbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_in_d_ready = tlMasterXbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign buffer_auto_out_a_ready = auto_tl_master_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_valid = auto_tl_master_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_opcode = auto_tl_master_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_param = auto_tl_master_xing_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_size = auto_tl_master_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_source = auto_tl_master_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_sink = auto_tl_master_xing_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_denied = auto_tl_master_xing_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_data = auto_tl_master_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_auto_out_d_bits_corrupt = auto_tl_master_xing_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227646.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227554.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227555.4]
  assign buffer_1_auto_in_a_valid = auto_tl_slave_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227648.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@227648.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@227648.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@227648.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@227648.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@227648.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@227648.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@227648.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@227648.4]
  assign buffer_1_auto_in_d_ready = auto_tl_slave_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227648.4]
  assign buffer_1_auto_out_a_ready = tlSlaveXbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_valid = tlSlaveXbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_opcode = tlSlaveXbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_param = tlSlaveXbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_size = tlSlaveXbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_source = tlSlaveXbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_sink = tlSlaveXbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_denied = tlSlaveXbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_data = tlSlaveXbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign buffer_1_auto_out_d_bits_corrupt = tlSlaveXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227647.4]
  assign intsink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227560.4]
  assign intsink_auto_in_sync_0 = auto_intsink_in_sync_0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227658.4]
  assign intsink_1_auto_in_sync_0 = auto_int_in_xing_in_0_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227651.4]
  assign intsink_1_auto_in_sync_1 = auto_int_in_xing_in_0_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227651.4]
  assign intsink_2_auto_in_sync_0 = auto_int_in_xing_in_1_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@227653.4]
  assign dcacheArb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227661.4]
  assign dcacheArb_io_requestor_0_req_valid = core_io_dmem_req_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_req_bits_addr = core_io_dmem_req_bits_addr; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_req_bits_tag = core_io_dmem_req_bits_tag; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_req_bits_cmd = core_io_dmem_req_bits_cmd; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_req_bits_typ = core_io_dmem_req_bits_typ; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_s1_kill = core_io_dmem_s1_kill; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_s1_data_data = core_io_dmem_s1_data_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_0_keep_clock_enabled = core_io_dmem_keep_clock_enabled; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign dcacheArb_io_requestor_1_req_valid = dtim_adapter_io_dmem_req_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_requestor_1_req_bits_addr = dtim_adapter_io_dmem_req_bits_addr; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_requestor_1_req_bits_cmd = dtim_adapter_io_dmem_req_bits_cmd; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_requestor_1_req_bits_typ = dtim_adapter_io_dmem_req_bits_typ; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_requestor_1_s1_kill = dtim_adapter_io_dmem_s1_kill; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_requestor_1_s1_data_data = dtim_adapter_io_dmem_s1_data_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_requestor_1_s1_data_mask = dtim_adapter_io_dmem_s1_data_mask; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227688.4]
  assign dcacheArb_io_mem_req_ready = dcache_io_cpu_req_ready; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_nack = dcache_io_cpu_s2_nack; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_resp_valid = dcache_io_cpu_resp_valid; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_resp_bits_tag = dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_resp_bits_data = dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_resp_bits_replay = dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_resp_bits_has_data = dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.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@227663.4]
  assign dcacheArb_io_mem_resp_bits_data_raw = dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_replay_next = dcache_io_cpu_replay_next; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_xcpt_ma_ld = dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_xcpt_ma_st = dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_xcpt_pf_ld = dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_xcpt_pf_st = dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_xcpt_ae_ld = dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_s2_xcpt_ae_st = dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_ordered = dcache_io_cpu_ordered; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_perf_grant = dcache_io_cpu_perf_grant; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign dcacheArb_io_mem_clock_enabled = dcache_io_cpu_clock_enabled; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@227663.4]
  assign ptw_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227666.4]
  assign ptw_io_dpath_pmp_0_cfg_l = core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_0_cfg_a = core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_0_cfg_x = core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_0_cfg_w = core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_0_cfg_r = core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_0_addr = core_io_ptw_pmp_0_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_0_mask = core_io_ptw_pmp_0_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_cfg_l = core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_cfg_a = core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_cfg_x = core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_cfg_w = core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_cfg_r = core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_addr = core_io_ptw_pmp_1_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_1_mask = core_io_ptw_pmp_1_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_cfg_l = core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_cfg_a = core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_cfg_x = core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_cfg_w = core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_cfg_r = core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_addr = core_io_ptw_pmp_2_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_2_mask = core_io_ptw_pmp_2_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_cfg_l = core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_cfg_a = core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_cfg_x = core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_cfg_w = core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_cfg_r = core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_addr = core_io_ptw_pmp_3_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_3_mask = core_io_ptw_pmp_3_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_cfg_l = core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_cfg_a = core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_cfg_x = core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_cfg_w = core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_cfg_r = core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_addr = core_io_ptw_pmp_4_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_4_mask = core_io_ptw_pmp_4_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_cfg_l = core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_cfg_a = core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_cfg_x = core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_cfg_w = core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_cfg_r = core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_addr = core_io_ptw_pmp_5_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_5_mask = core_io_ptw_pmp_5_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_cfg_l = core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_cfg_a = core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_cfg_x = core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_cfg_w = core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_cfg_r = core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_addr = core_io_ptw_pmp_6_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_6_mask = core_io_ptw_pmp_6_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_cfg_l = core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_cfg_a = core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_cfg_x = core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_cfg_w = core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_cfg_r = core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_addr = core_io_ptw_pmp_7_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign ptw_io_dpath_pmp_7_mask = core_io_ptw_pmp_7_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227682.4]
  assign core_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227670.4]
  assign core_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227671.4]
  assign core_io_hartid = constants_hartid; // @[RocketTile.scala 127:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227677.4]
  assign core_io_interrupts_debug = intXbar_auto_int_out_0; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@227673.4]
  assign core_io_interrupts_mtip = intXbar_auto_int_out_2; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@227675.4]
  assign core_io_interrupts_msip = intXbar_auto_int_out_1; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@227674.4]
  assign core_io_interrupts_meip = intXbar_auto_int_out_3; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@227676.4]
  assign core_io_imem_resp_valid = frontend_io_cpu_resp_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign core_io_imem_resp_bits_btb_taken = frontend_io_cpu_resp_bits_btb_taken; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign core_io_imem_resp_bits_btb_bridx = frontend_io_cpu_resp_bits_btb_bridx; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign core_io_imem_resp_bits_btb_entry = frontend_io_cpu_resp_bits_btb_entry; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.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@227678.4]
  assign core_io_imem_resp_bits_pc = frontend_io_cpu_resp_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign core_io_imem_resp_bits_data = frontend_io_cpu_resp_bits_data; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.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@227678.4]
  assign core_io_imem_resp_bits_replay = frontend_io_cpu_resp_bits_replay; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@227678.4]
  assign core_io_dmem_req_ready = dcacheArb_io_requestor_0_req_ready; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_s2_nack = dcacheArb_io_requestor_0_s2_nack; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_resp_valid = dcacheArb_io_requestor_0_resp_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_resp_bits_tag = dcacheArb_io_requestor_0_resp_bits_tag; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_resp_bits_data = dcacheArb_io_requestor_0_resp_bits_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_resp_bits_replay = dcacheArb_io_requestor_0_resp_bits_replay; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.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@227687.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@227687.4]
  assign core_io_dmem_replay_next = dcacheArb_io_requestor_0_replay_next; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.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@227687.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@227687.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@227687.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@227687.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@227687.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@227687.4]
  assign core_io_dmem_ordered = dcacheArb_io_requestor_0_ordered; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_perf_grant = dcacheArb_io_requestor_0_perf_grant; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
  assign core_io_dmem_clock_enabled = dcacheArb_io_requestor_0_clock_enabled; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227687.4]
endmodule
module AsyncResetRegVec_w2_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227712.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227713.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227714.4]
  input  [1:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227715.4]
  output [1:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227715.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227720.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227720.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227720.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227720.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227720.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227726.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227726.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227726.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227726.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227726.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@227720.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@227726.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@227743.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227733.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227732.4]
  assign reg_0_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227736.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227735.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227738.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227737.4]
  assign reg_1_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227741.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227740.4]
endmodule
module IntSyncCrossingSource_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227745.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227746.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227747.4]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227748.4]
  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227748.4]
  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227748.4]
  output  auto_out_sync_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227748.4]
);
  wire  AsyncResetRegVec_w2_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227760.4]
  wire  AsyncResetRegVec_w2_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227760.4]
  wire [1:0] AsyncResetRegVec_w2_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227760.4]
  wire [1:0] AsyncResetRegVec_w2_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227760.4]
  AsyncResetRegVec_w2_i0 AsyncResetRegVec_w2_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227760.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@227757.4]
  assign auto_out_sync_1 = AsyncResetRegVec_w2_i0_io_q[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227757.4]
  assign AsyncResetRegVec_w2_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227762.4]
  assign AsyncResetRegVec_w2_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227763.4]
  assign AsyncResetRegVec_w2_i0_io_d = {auto_in_1,auto_in_0}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227764.4]
endmodule
module IntSyncCrossingSource_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227802.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227803.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227804.4]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227805.4]
  output  auto_out_sync_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227805.4]
);
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227816.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227816.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227816.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227816.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227816.4]
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227816.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@227814.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227818.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227819.4]
  assign AsyncResetRegVec_w1_i0_io_d = auto_in_0; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227820.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227821.4]
endmodule
module TLMonitor_59( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227841.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227842.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227843.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@227844.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@228965.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227871.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@227872.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227873.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227874.6]
  wire [16:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227874.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227875.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227877.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@227878.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@227880.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227881.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227882.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227883.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227884.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227886.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227887.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227889.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227890.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227891.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227892.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227893.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227894.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227895.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227896.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227897.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227898.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227899.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227900.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227901.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227902.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227903.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227904.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227905.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227906.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227907.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227908.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227931.6]
  wire [16:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227934.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227935.8]
  wire [17:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@227936.8]
  wire [17:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@227937.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@227938.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227943.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227964.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227965.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227971.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227972.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227977.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227979.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227980.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227985.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227986.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227988.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227989.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227994.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227996.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227997.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228003.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228057.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228059.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228060.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228083.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@228086.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@228094.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228097.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228098.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228117.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228119.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228120.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228125.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228127.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228128.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228142.6]
  wire  _T_231; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228190.6]
  wire [3:0] _T_253; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@228229.8]
  wire [3:0] _T_254; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228230.8]
  wire  _T_255; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@228231.8]
  wire  _T_257; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228233.8]
  wire  _T_258; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228234.8]
  wire  _T_259; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228240.6]
  wire  _T_277; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@228271.8]
  wire  _T_279; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228273.8]
  wire  _T_280; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228274.8]
  wire  _T_285; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228288.6]
  wire  _T_303; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@228319.8]
  wire  _T_305; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228321.8]
  wire  _T_306; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228322.8]
  wire  _T_311; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228336.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228696.4]
  reg  _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228705.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228706.4]
  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228707.4]
  wire  _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228708.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228709.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228720.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228721.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228722.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228723.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228724.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228725.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228726.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228728.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228730.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228731.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228736.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228738.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228739.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228744.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228746.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228747.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228752.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228754.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228755.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228760.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228762.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228763.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@228770.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228778.4]
  reg  _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228786.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228787.4]
  wire [1:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228788.4]
  wire  _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228789.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228790.4]
  reg [1:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228803.4]
  reg [31:0] _RAND_7;
  reg [5:0] _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228804.4]
  reg [31:0] _RAND_8;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228807.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228808.4]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228826.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228828.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228829.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228834.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228836.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228837.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@228860.4]
  reg [63:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228869.4]
  reg [63:0] _RAND_9;
  reg  _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228879.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228880.4]
  wire [1:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228881.4]
  wire  _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228882.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228883.4]
  reg  _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228902.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228903.4]
  wire [1:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228904.4]
  wire  _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228905.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228906.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228921.4]
  wire [63:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228924.6]
  wire [63:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@228926.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@228927.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228928.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228930.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228931.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@228923.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228942.4]
  wire [63:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228947.6]
  wire [63:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@228949.6]
  wire [63:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@228950.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@228951.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228953.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228954.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@228946.4]
  wire [63:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228960.4]
  wire [63:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@228961.4]
  wire [63:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@228962.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228964.4]
  reg [31:0] _RAND_12;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@228967.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228968.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@228969.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228970.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@228971.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@228972.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@228974.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@228975.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@228981.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228985.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227945.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228017.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228100.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228156.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228204.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228254.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228302.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228350.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@228965.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@227871.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@227872.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@227873.6]
  assign _GEN_18 = {{15'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227874.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@227874.6]
  assign _T_40 = _T_39 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227875.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227877.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@227878.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@227880.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@227881.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227882.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227883.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227884.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227886.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227887.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227889.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227890.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227891.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@227892.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@227893.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227894.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227895.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227896.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227897.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227898.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227899.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227900.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227901.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227902.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227903.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@227904.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@227905.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227906.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227907.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227908.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@227931.6]
  assign _T_94 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@227934.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@227935.8]
  assign _T_96 = $signed(_T_95) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@227936.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@227937.8]
  assign _T_98 = $signed(_T_97) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@227938.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227943.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227964.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227965.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227971.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227972.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@227977.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227979.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227980.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227985.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@227986.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227988.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227989.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@227994.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227996.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227997.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228003.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228057.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228059.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228060.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228083.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@228086.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@228094.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228097.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228098.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228117.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228119.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228120.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228125.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228127.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228128.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228142.6]
  assign _T_231 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228190.6]
  assign _T_253 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@228229.8]
  assign _T_254 = io_in_a_bits_mask & _T_253; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228230.8]
  assign _T_255 = _T_254 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@228231.8]
  assign _T_257 = _T_255 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228233.8]
  assign _T_258 = _T_257 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228234.8]
  assign _T_259 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228240.6]
  assign _T_277 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@228271.8]
  assign _T_279 = _T_277 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228273.8]
  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228274.8]
  assign _T_285 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228288.6]
  assign _T_303 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@228319.8]
  assign _T_305 = _T_303 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228321.8]
  assign _T_306 = _T_305 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228322.8]
  assign _T_311 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228336.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228696.4]
  assign _T_509 = _T_508 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228706.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228707.4]
  assign _T_511 = _T_510[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228708.4]
  assign _T_512 = _T_508 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228709.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228725.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228726.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228728.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228730.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228731.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228736.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228738.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228739.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228744.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228746.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228747.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228752.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228754.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228755.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228760.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228762.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228763.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@228770.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228778.4]
  assign _T_564 = _T_563 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228787.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228788.4]
  assign _T_566 = _T_565[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228789.4]
  assign _T_567 = _T_563 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228790.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@228807.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228808.4]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228826.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228828.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228829.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@228834.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228836.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228837.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@228860.4]
  assign _T_628 = _T_627 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228880.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228881.4]
  assign _T_630 = _T_629[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228882.4]
  assign _T_631 = _T_627 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228883.4]
  assign _T_649 = _T_648 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228903.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228904.4]
  assign _T_651 = _T_650[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@228905.4]
  assign _T_652 = _T_648 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@228906.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228921.4]
  assign _T_665 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228924.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@228926.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@228927.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228928.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228930.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228931.6]
  assign _GEN_15 = _T_663 ? _T_665 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@228923.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228942.4]
  assign _T_680 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228947.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@228949.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@228950.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@228951.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228953.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228954.6]
  assign _GEN_16 = _T_676 ? _T_680 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@228946.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228960.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@228961.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@228962.4]
  assign _T_692 = _T_616 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@228967.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@228968.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@228969.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228970.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@228971.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@228972.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@228974.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@228975.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@228981.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@228985.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@227945.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228017.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228100.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228156.10]
  assign _GEN_67 = io_in_a_valid & _T_231; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228204.10]
  assign _GEN_75 = io_in_a_valid & _T_259; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228254.10]
  assign _GEN_83 = io_in_a_valid & _T_285; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228302.10]
  assign _GEN_91 = io_in_a_valid & _T_311; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@228350.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@227856.8]
        end
    `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@227857.8]
        end
    `ifdef STOP_COND
      end
    `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@227928.8]
        end
    `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@227929.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@227945.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@227946.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@227952.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@227953.10]
        end
    `ifdef STOP_COND
      end
    `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@227959.10]
        end
    `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@227960.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@227967.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@227968.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@227974.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@227975.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@227982.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@227983.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@227991.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@227992.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@227999.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@228000.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@228017.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@228018.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@228024.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@228025.10]
        end
    `ifdef STOP_COND
      end
    `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@228031.10]
        end
    `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@228032.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@228039.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@228040.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@228046.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@228047.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@228054.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@228055.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@228062.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@228063.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@228071.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@228072.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@228079.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@228080.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@228100.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@228101.10]
        end
    `ifdef STOP_COND
      end
    `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@228107.10]
        end
    `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@228108.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@228114.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@228115.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@228122.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@228123.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@228130.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@228131.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@228138.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@228139.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@228156.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@228157.10]
        end
    `ifdef STOP_COND
      end
    `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@228163.10]
        end
    `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@228164.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@228170.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@228171.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@228178.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@228179.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@228186.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@228187.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@228204.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@228205.10]
        end
    `ifdef STOP_COND
      end
    `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@228211.10]
        end
    `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@228212.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@228218.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@228219.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@228226.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@228227.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@228236.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@228237.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@228254.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@228255.10]
        end
    `ifdef STOP_COND
      end
    `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@228261.10]
        end
    `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@228262.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@228268.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@228269.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@228276.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@228277.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@228284.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@228285.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@228302.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@228303.10]
        end
    `ifdef STOP_COND
      end
    `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@228309.10]
        end
    `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@228310.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@228316.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@228317.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@228324.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@228325.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@228332.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@228333.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@228350.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@228351.10]
        end
    `ifdef STOP_COND
      end
    `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@228357.10]
        end
    `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@228358.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@228364.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@228365.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@228372.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@228373.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@228380.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@228381.10]
        end
    `ifdef STOP_COND
      end
    `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@228391.8]
        end
    `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@228392.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228412.10]
        end
    `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@228413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228420.10]
        end
    `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@228421.10]
        end
    `ifdef STOP_COND
      end
    `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@228428.10]
        end
    `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@228429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228436.10]
        end
    `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@228437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228444.10]
        end
    `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@228445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228454.10]
        end
    `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@228455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228461.10]
        end
    `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@228462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228469.10]
        end
    `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@228470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228477.10]
        end
    `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@228478.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228485.10]
        end
    `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@228486.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228493.10]
        end
    `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@228494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228502.10]
        end
    `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@228503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228512.10]
        end
    `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@228513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228519.10]
        end
    `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@228520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228527.10]
        end
    `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@228528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228535.10]
        end
    `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@228536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228543.10]
        end
    `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@228544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@228552.10]
        end
    `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@228553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@228561.10]
        end
    `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@228562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228571.10]
        end
    `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@228572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228579.10]
        end
    `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@228580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228587.10]
        end
    `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@228588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228596.10]
        end
    `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@228597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228606.10]
        end
    `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@228607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228614.10]
        end
    `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@228615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@228623.10]
        end
    `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@228624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@228632.10]
        end
    `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@228633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228642.10]
        end
    `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@228643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@228650.10]
        end
    `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@228651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228658.10]
        end
    `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@228659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@228667.10]
        end
    `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@228668.10]
        end
    `ifdef STOP_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@228677.6]
        end
    `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@228678.6]
        end
    `ifdef STOP_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@228685.6]
        end
    `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@228686.6]
        end
    `ifdef STOP_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@228693.6]
        end
    `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@228694.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@228733.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@228734.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@228741.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@228742.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@228749.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@228750.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@228757.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@228758.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@228765.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@228766.8]
        end
    `ifdef STOP_COND
      end
    `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@228815.8]
        end
    `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@228816.8]
        end
    `ifdef STOP_COND
      end
    `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@228823.8]
        end
    `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@228824.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@228831.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@228832.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@228839.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@228840.8]
        end
    `ifdef STOP_COND
      end
    `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@228847.8]
        end
    `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@228848.8]
        end
    `ifdef STOP_COND
      end
    `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@228855.8]
        end
    `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@228856.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@228933.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@228934.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@228956.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@228957.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@228977.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@228978.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMaskROM( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229000.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229001.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229002.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
  output [31:0] auto_in_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229003.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.4]
  wire [31:0] rom_q; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229048.4]
  wire  rom_me; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229048.4]
  wire  rom_oe; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229048.4]
  wire [10:0] rom_address; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229048.4]
  wire  rom_clock; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229048.4]
  wire [17:0] _T_156; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@229055.4]
  wire [17:0] _T_157; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@229056.4]
  wire [16:0] _T_158; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@229057.4]
  wire [14:0] _T_159; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@229058.4]
  reg  d_full; // @[MaskROM.scala 46:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229064.4]
  reg [31:0] _RAND_0;
  wire  _T_172; // @[MaskROM.scala 55:33:shc.marmotcaravel.MarmotCaravelConfig.fir@229084.4]
  wire  in_a_ready; // @[MaskROM.scala 55:30:shc.marmotcaravel.MarmotCaravelConfig.fir@229085.4]
  wire  _T_161; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@229062.4]
  reg [1:0] d_size; // @[MaskROM.scala 47:21:shc.marmotcaravel.MarmotCaravelConfig.fir@229065.4]
  reg [31:0] _RAND_1;
  reg [5:0] d_source; // @[MaskROM.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@229066.4]
  reg [31:0] _RAND_2;
  reg  _T_167; // @[MaskROM.scala 49:45:shc.marmotcaravel.MarmotCaravelConfig.fir@229068.4]
  reg [31:0] _RAND_3;
  reg [31:0] _T_169; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@229070.4]
  reg [31:0] _RAND_4;
  wire  _T_170; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@229075.4]
  TLMonitor_59 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229010.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@229048.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@229055.4]
  assign _T_157 = $unsigned(_T_156); // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@229056.4]
  assign _T_158 = _T_157[16:0]; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@229057.4]
  assign _T_159 = _T_158[16:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@229058.4]
  assign _T_172 = d_full == 1'h0; // @[MaskROM.scala 55:33:shc.marmotcaravel.MarmotCaravelConfig.fir@229084.4]
  assign in_a_ready = auto_in_d_ready | _T_172; // @[MaskROM.scala 55:30:shc.marmotcaravel.MarmotCaravelConfig.fir@229085.4]
  assign _T_161 = in_a_ready & auto_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@229062.4]
  assign _T_170 = auto_in_d_ready & d_full; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@229075.4]
  assign auto_in_a_ready = auto_in_d_ready | _T_172; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229047.4]
  assign auto_in_d_valid = d_full; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229047.4]
  assign auto_in_d_bits_size = d_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229047.4]
  assign auto_in_d_bits_source = d_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229047.4]
  assign auto_in_d_bits_data = _T_167 ? rom_q : _T_169; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229047.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229012.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229013.4]
  assign TLMonitor_io_in_a_ready = auto_in_d_ready | _T_172; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_d_valid = d_full; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_d_bits_size = d_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign TLMonitor_io_in_d_bits_source = d_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@229046.4]
  assign rom_me = in_a_ready & auto_in_a_valid; // @[MaskROM.scala 44:15:shc.marmotcaravel.MarmotCaravelConfig.fir@229063.4]
  assign rom_oe = 1'h1; // @[MaskROM.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@229061.4]
  assign rom_address = _T_159[10:0]; // @[MaskROM.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@229060.4]
  assign rom_clock = clock; // @[MaskROM.scala 41:18:shc.marmotcaravel.MarmotCaravelConfig.fir@229054.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_60( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229114.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229115.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229116.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@229117.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230255.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@229144.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@229145.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@229146.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@229147.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@229147.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@229148.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229150.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@229151.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@229153.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@229154.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229155.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229156.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@229157.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229159.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229160.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229162.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229163.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229164.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229165.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@229166.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229167.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229168.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229169.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229170.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229171.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229172.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229173.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229174.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229175.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229176.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229177.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229178.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@229179.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@229180.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@229181.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229204.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229207.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229208.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@229209.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@229210.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@229211.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229216.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229237.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229238.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229244.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229245.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229250.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229252.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229253.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@229258.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229259.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229261.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229262.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@229267.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229269.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229270.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229276.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229330.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229332.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229333.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229356.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@229359.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@229367.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229370.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229371.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229390.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229392.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229393.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229398.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229400.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229401.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229415.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229466.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@229508.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229509.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@229510.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229512.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229513.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229519.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@229550.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229552.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229553.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229567.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@229598.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229600.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229601.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229615.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@229665.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@229667.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@229668.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229685.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229694.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229696.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229697.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229727.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229785.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@229975.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229984.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229985.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229986.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229987.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229988.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@229999.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230000.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230001.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230002.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230003.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230004.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230005.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230007.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230009.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230010.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230015.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230017.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230018.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230023.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230025.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230026.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230031.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230033.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230034.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230039.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230041.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230042.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230049.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230057.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230065.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230066.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230067.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230068.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230069.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230080.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230082.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230083.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230086.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230087.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230089.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230091.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230092.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230105.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230107.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230108.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230113.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230115.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230116.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230139.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230148.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230158.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230159.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230160.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230161.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230162.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230181.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230182.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230183.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230184.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230185.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230200.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230203.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230205.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230206.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230207.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230209.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230210.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@230202.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230221.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@230223.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@230224.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230226.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230228.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230229.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230230.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230232.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230233.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@230225.4]
  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230239.4]
  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230240.4]
  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230241.4]
  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@230242.4]
  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230244.4]
  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230245.4]
  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230250.4]
  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@230251.4]
  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@230252.4]
  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230254.4]
  reg [31:0] _RAND_13;
  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230257.4]
  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230258.4]
  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@230259.4]
  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230260.4]
  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@230261.4]
  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@230262.4]
  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@230264.4]
  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@230265.4]
  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@230271.4]
  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230275.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229218.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229290.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229373.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229432.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229483.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229533.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229581.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229629.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229699.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229740.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229798.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230255.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@229144.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@229145.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@229146.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@229147.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@229147.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@229148.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229150.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@229151.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@229153.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@229154.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229155.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229156.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@229157.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229159.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229160.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229162.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229163.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229164.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@229165.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@229166.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229167.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229168.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229169.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229170.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229171.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229172.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229173.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229174.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229175.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229176.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@229177.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@229178.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@229179.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@229180.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@229181.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229204.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@229207.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229208.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@229209.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@229210.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@229211.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229216.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229237.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229238.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229244.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229245.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229250.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229252.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229253.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@229258.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229259.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229261.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229262.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@229267.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229269.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229270.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229276.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229330.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229332.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229333.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229356.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@229359.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@229367.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229370.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229371.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229390.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229392.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229393.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229398.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229400.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229401.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229415.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229466.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@229508.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229509.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@229510.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229512.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229513.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229519.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@229550.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229552.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229553.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229567.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@229598.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229600.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229601.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229615.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@229665.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@229667.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@229668.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229685.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@229694.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229696.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229697.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229727.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229785.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@229975.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229985.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229986.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@229987.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@229988.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230004.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230005.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230007.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230009.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230010.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230015.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230017.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230018.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230023.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230025.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230026.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230031.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230033.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230034.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230039.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230041.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230042.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230049.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230057.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230066.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230067.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230068.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230069.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230086.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230087.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230089.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230091.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230092.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230105.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230107.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230108.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@230113.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230115.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230116.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230139.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230159.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230160.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230161.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230162.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230182.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230183.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230184.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230185.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230200.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230203.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230205.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230206.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230207.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230209.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230210.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@230202.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230221.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@230223.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@230224.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230226.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230228.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230229.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230230.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230232.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230233.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@230225.4]
  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230239.4]
  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230240.4]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230241.4]
  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@230242.4]
  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230244.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230245.4]
  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230250.4]
  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@230251.4]
  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@230252.4]
  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230257.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@230258.4]
  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@230259.4]
  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230260.4]
  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@230261.4]
  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@230262.4]
  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@230264.4]
  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@230265.4]
  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@230271.4]
  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230275.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229218.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229290.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229373.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229432.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229483.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229533.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229581.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229629.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229699.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229740.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@229798.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@229129.8]
        end
    `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@229130.8]
        end
    `ifdef STOP_COND
      end
    `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@229201.8]
        end
    `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@229202.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@229218.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@229219.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@229225.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@229226.10]
        end
    `ifdef STOP_COND
      end
    `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@229232.10]
        end
    `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@229233.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@229240.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@229241.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@229247.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@229248.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@229255.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@229256.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@229264.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@229265.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@229272.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@229273.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@229290.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@229291.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@229297.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@229298.10]
        end
    `ifdef STOP_COND
      end
    `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@229304.10]
        end
    `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@229305.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@229312.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@229313.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@229319.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@229320.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@229327.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@229328.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@229335.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@229336.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@229344.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@229345.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@229352.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@229353.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@229373.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@229374.10]
        end
    `ifdef STOP_COND
      end
    `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@229380.10]
        end
    `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@229381.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@229387.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@229388.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@229395.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@229396.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@229403.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@229404.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@229411.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@229412.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@229432.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@229433.10]
        end
    `ifdef STOP_COND
      end
    `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@229439.10]
        end
    `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@229440.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@229446.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@229447.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@229454.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@229455.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@229462.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@229463.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@229483.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@229484.10]
        end
    `ifdef STOP_COND
      end
    `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@229490.10]
        end
    `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@229491.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@229497.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@229498.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@229505.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@229506.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@229515.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@229516.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@229533.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@229534.10]
        end
    `ifdef STOP_COND
      end
    `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@229540.10]
        end
    `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@229541.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@229547.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@229548.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@229555.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@229556.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@229563.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@229564.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@229581.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@229582.10]
        end
    `ifdef STOP_COND
      end
    `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@229588.10]
        end
    `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@229589.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@229595.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@229596.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@229603.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@229604.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@229611.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@229612.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@229629.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@229630.10]
        end
    `ifdef STOP_COND
      end
    `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@229636.10]
        end
    `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@229637.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@229643.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@229644.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@229651.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@229652.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@229659.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@229660.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@229670.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@229671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229691.10]
        end
    `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@229692.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@229699.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@229700.10]
        end
    `ifdef STOP_COND
      end
    `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@229707.10]
        end
    `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@229708.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229715.10]
        end
    `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@229716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229723.10]
        end
    `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@229724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229733.10]
        end
    `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@229734.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@229740.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@229741.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@229748.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@229749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229756.10]
        end
    `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@229757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229764.10]
        end
    `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@229765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229772.10]
        end
    `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@229773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229781.10]
        end
    `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@229782.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229791.10]
        end
    `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@229792.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@229798.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@229799.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@229806.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@229807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229814.10]
        end
    `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@229815.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229822.10]
        end
    `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@229823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@229831.10]
        end
    `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@229832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@229840.10]
        end
    `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@229841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229850.10]
        end
    `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@229851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229858.10]
        end
    `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@229859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229866.10]
        end
    `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@229867.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229875.10]
        end
    `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@229876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229885.10]
        end
    `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@229886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229893.10]
        end
    `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@229894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@229902.10]
        end
    `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@229903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@229911.10]
        end
    `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@229912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229921.10]
        end
    `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@229922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@229929.10]
        end
    `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@229930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229937.10]
        end
    `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@229938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@229946.10]
        end
    `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@229947.10]
        end
    `ifdef STOP_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@229956.6]
        end
    `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@229957.6]
        end
    `ifdef STOP_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@229964.6]
        end
    `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@229965.6]
        end
    `ifdef STOP_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@229972.6]
        end
    `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@229973.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@230012.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@230013.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@230020.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@230021.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@230028.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@230029.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@230036.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@230037.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@230044.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@230045.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@230094.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@230095.8]
        end
    `ifdef STOP_COND
      end
    `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@230102.8]
        end
    `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@230103.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@230110.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@230111.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@230118.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@230119.8]
        end
    `ifdef STOP_COND
      end
    `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@230126.8]
        end
    `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@230127.8]
        end
    `ifdef STOP_COND
      end
    `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@230134.8]
        end
    `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@230135.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@230212.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@230213.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@230235.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@230236.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@230247.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@230248.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@230267.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@230268.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RTC( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230311.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230312.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230313.4]
  input         io_regs_cfg_write__countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input  [3:0]  io_regs_cfg_write__scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output        io_regs_cfg_read_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output        io_regs_cfg_read_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output [3:0]  io_regs_cfg_read_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input         io_regs_cfg_write_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input         io_regs_cfg_write_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input         io_regs_countLo_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input  [31:0] io_regs_countLo_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output [31:0] io_regs_countLo_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input         io_regs_countHi_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input  [31:0] io_regs_countHi_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output [31:0] io_regs_countHi_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output [31:0] io_regs_s_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input         io_regs_cmp_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  input  [31:0] io_regs_cmp_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output [31:0] io_regs_cmp_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
  output        io_ip_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230314.4]
);
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230330.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230330.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230330.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230330.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230330.4]
  reg [3:0] scale; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230320.4]
  reg [31:0] _RAND_0;
  reg [31:0] cmp_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230325.4]
  reg [31:0] _RAND_1;
  wire  countAlways; // @[RTC.scala 21:123:shc.marmotcaravel.MarmotCaravelConfig.fir@230336.4]
  reg [5:0] _T_211; // @[Counters.scala 46:72:shc.marmotcaravel.MarmotCaravelConfig.fir@230337.4]
  reg [31:0] _RAND_2;
  wire [5:0] _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230338.4]
  wire [6:0] _T_212; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230338.4]
  reg [41:0] _T_214; // @[Counters.scala 51:70:shc.marmotcaravel.MarmotCaravelConfig.fir@230340.4]
  reg [63:0] _RAND_3;
  wire  _T_215; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230341.4]
  wire [41:0] _T_217; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@230344.6]
  wire [41:0] _GEN_2; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@230342.4]
  wire [47:0] _T_218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230347.4]
  wire [15:0] _T_220; // @[Timer.scala 206:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230350.6]
  wire [47:0] _T_221; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230351.6]
  wire [41:0] _T_222; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230353.6]
  wire [47:0] _GEN_3; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@230349.4]
  wire [41:0] _GEN_4; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@230349.4]
  wire [31:0] _T_224; // @[Timer.scala 207:125:shc.marmotcaravel.MarmotCaravelConfig.fir@230358.6]
  wire [63:0] _T_225; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230359.6]
  wire [57:0] _T_226; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230361.6]
  wire [63:0] _GEN_5; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@230357.4]
  wire [57:0] _GEN_6; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@230357.4]
  wire [47:0] _T_227; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230364.4]
  wire [31:0] s; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@230365.4]
  reg  ip_0; // @[RTC.scala 19:43:shc.marmotcaravel.MarmotCaravelConfig.fir@230440.4]
  reg [31:0] _RAND_4;
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230330.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@230336.4]
  assign _GEN_9 = {{5'd0}, countAlways}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230338.4]
  assign _T_212 = _T_211 + _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230338.4]
  assign _T_215 = _T_212[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230341.4]
  assign _T_217 = _T_214 + 42'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@230344.6]
  assign _GEN_2 = _T_215 ? _T_217 : _T_214; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@230342.4]
  assign _T_218 = {_T_214,_T_211}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230347.4]
  assign _T_220 = _T_218[47:32]; // @[Timer.scala 206:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230350.6]
  assign _T_221 = {_T_220,io_regs_countLo_write_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230351.6]
  assign _T_222 = _T_221[47:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230353.6]
  assign _GEN_3 = io_regs_countLo_write_valid ? _T_221 : {{41'd0}, _T_212}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@230349.4]
  assign _GEN_4 = io_regs_countLo_write_valid ? _T_222 : _GEN_2; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@230349.4]
  assign _T_224 = _T_218[31:0]; // @[Timer.scala 207:125:shc.marmotcaravel.MarmotCaravelConfig.fir@230358.6]
  assign _T_225 = {io_regs_countHi_write_bits,_T_224}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230359.6]
  assign _T_226 = _T_225[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230361.6]
  assign _GEN_5 = io_regs_countHi_write_valid ? _T_225 : {{16'd0}, _GEN_3}; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@230357.4]
  assign _GEN_6 = io_regs_countHi_write_valid ? _T_226 : {{16'd0}, _GEN_4}; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@230357.4]
  assign _T_227 = _T_218 >> scale; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230364.4]
  assign s = _T_227[31:0]; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@230365.4]
  assign io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230439.4 Timer.scala 217:23:shc.marmotcaravel.MarmotCaravelConfig.fir@230442.4]
  assign io_regs_cfg_read_countAlways = AsyncResetRegVec_w1_i0_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230439.4 Timer.scala 222:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230457.4]
  assign io_regs_cfg_read_scale = scale; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230439.4 Timer.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@230462.4]
  assign io_regs_countLo_read = _T_218[31:0]; // @[Timer.scala 228:24:shc.marmotcaravel.MarmotCaravelConfig.fir@230463.4]
  assign io_regs_countHi_read = {{16'd0}, _T_220}; // @[Timer.scala 229:24:shc.marmotcaravel.MarmotCaravelConfig.fir@230465.4]
  assign io_regs_s_read = _T_227[31:0]; // @[Timer.scala 230:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230466.4]
  assign io_regs_cmp_0_read = cmp_0; // @[Timer.scala 231:53:shc.marmotcaravel.MarmotCaravelConfig.fir@230467.4]
  assign io_ip_0 = ip_0; // @[Timer.scala 234:9:shc.marmotcaravel.MarmotCaravelConfig.fir@230470.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230332.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230333.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230334.4]
  assign AsyncResetRegVec_w1_i0_io_en = io_regs_cfg_write_countAlways; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230335.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@230472.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230473.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230474.4]
  input         io_wakeup_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output        io_control_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output        io_control_bits_hfclkrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output        io_control_bits_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output        io_control_bits_reserved1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output        io_control_bits_vddpaden, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output        io_control_bits_reserved0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [1:0]  io_resetCause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_ie_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [3:0]  io_regs_ie_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [3:0]  io_regs_ie_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_cause_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_cause_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleep_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_wakeupProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_wakeupProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_wakeupProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input         io_regs_sleepProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  input  [31:0] io_regs_sleepProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
  output [31:0] io_regs_sleepProgram_7_read // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230475.4]
);
  reg  run; // @[PMU.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230480.4]
  reg [31:0] _RAND_0;
  reg  awake; // @[PMU.scala 69:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230481.4]
  reg [31:0] _RAND_1;
  wire  _T_135; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230482.4]
  wire  _T_136; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230483.4]
  wire  _T_137; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230484.4]
  wire  _T_138; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230485.4]
  wire  _T_139; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230486.4]
  wire  _T_140; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230487.4]
  wire  _T_141; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230488.4]
  wire  _T_142; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230489.4]
  wire  _T_143; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230490.4]
  wire  _T_144; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230491.4]
  wire  _T_145; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230492.4]
  wire  _T_146; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230493.4]
  wire  _T_147; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230494.4]
  wire  _T_148; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230495.4]
  wire  _T_149; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230496.4]
  wire  _T_150; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230497.4]
  wire  _T_151; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230498.4]
  wire  _T_152; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230499.4]
  wire  _T_153; // @[PMU.scala 72:38:shc.marmotcaravel.MarmotCaravelConfig.fir@230500.4]
  wire  _T_154; // @[PMU.scala 72:63:shc.marmotcaravel.MarmotCaravelConfig.fir@230501.4]
  wire  _T_155; // @[PMU.scala 72:60:shc.marmotcaravel.MarmotCaravelConfig.fir@230502.4]
  wire  _T_156; // @[PMU.scala 72:111:shc.marmotcaravel.MarmotCaravelConfig.fir@230503.4]
  reg  unlocked; // @[Reg.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230504.4]
  reg [31:0] _RAND_2;
  wire  _T_158; // @[PMU.scala 74:80:shc.marmotcaravel.MarmotCaravelConfig.fir@230508.4]
  reg  wantSleep; // @[Reg.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230509.4]
  reg [31:0] _RAND_3;
  reg [2:0] pc; // @[PMU.scala 75:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230513.4]
  reg [31:0] _RAND_4;
  reg [1:0] wakeupCause; // @[PMU.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@230514.4]
  reg [31:0] _RAND_5;
  wire  _T_162; // @[PMU.scala 77:68:shc.marmotcaravel.MarmotCaravelConfig.fir@230515.4]
  reg [3:0] _T_164; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230516.4]
  reg [31:0] _RAND_6;
  wire [3:0] ie; // @[PMU.scala 77:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230520.4]
  reg [8:0] wakeupProgram_0; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230521.4]
  reg [31:0] _RAND_7;
  reg [8:0] wakeupProgram_1; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230522.4]
  reg [31:0] _RAND_8;
  reg [8:0] wakeupProgram_2; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230523.4]
  reg [31:0] _RAND_9;
  reg [8:0] wakeupProgram_3; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230524.4]
  reg [31:0] _RAND_10;
  reg [8:0] wakeupProgram_4; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230525.4]
  reg [31:0] _RAND_11;
  reg [8:0] wakeupProgram_5; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230526.4]
  reg [31:0] _RAND_12;
  reg [8:0] wakeupProgram_6; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230527.4]
  reg [31:0] _RAND_13;
  reg [8:0] wakeupProgram_7; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@230528.4]
  reg [31:0] _RAND_14;
  reg [8:0] sleepProgram_0; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230529.4]
  reg [31:0] _RAND_15;
  reg [8:0] sleepProgram_1; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230530.4]
  reg [31:0] _RAND_16;
  reg [8:0] sleepProgram_2; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230531.4]
  reg [31:0] _RAND_17;
  reg [8:0] sleepProgram_3; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230532.4]
  reg [31:0] _RAND_18;
  reg [8:0] sleepProgram_4; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230533.4]
  reg [31:0] _RAND_19;
  reg [8:0] sleepProgram_5; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230534.4]
  reg [31:0] _RAND_20;
  reg [8:0] sleepProgram_6; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230535.4]
  reg [31:0] _RAND_21;
  reg [8:0] sleepProgram_7; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@230536.4]
  reg [31:0] _RAND_22;
  wire  _T_182; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230537.4]
  wire [8:0] _T_183; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230538.4]
  wire  _T_184; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230539.4]
  wire [8:0] _T_185; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230540.4]
  wire  _T_186; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230541.4]
  wire [8:0] _T_187; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230542.4]
  wire  _T_188; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230543.4]
  wire [8:0] _T_189; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230544.4]
  wire  _T_190; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230545.4]
  wire [8:0] _T_191; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230546.4]
  wire  _T_192; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230547.4]
  wire [8:0] _T_193; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230548.4]
  wire  _T_194; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230549.4]
  wire [8:0] _T_195; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230550.4]
  wire [8:0] _T_197; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230552.4]
  wire [8:0] _T_199; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230554.4]
  wire [8:0] _T_201; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230556.4]
  wire [8:0] _T_203; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230558.4]
  wire [8:0] _T_205; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230560.4]
  wire [8:0] _T_207; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230562.4]
  wire [8:0] _T_209; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230564.4]
  wire [8:0] insnBits; // @[PMU.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230565.4]
  wire [3:0] insn_dt; // @[PMU.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@230571.4]
  reg [15:0] count; // @[PMU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230583.4]
  reg [31:0] _RAND_23;
  wire [15:0] _T_222; // @[PMU.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@230585.4]
  wire [15:0] _T_223; // @[PMU.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230586.4]
  wire [15:0] _T_224; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230587.4]
  wire  tick; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230588.4]
  wire [3:0] npc; // @[PMU.scala 87:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230589.4]
  wire  last; // @[PMU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230590.4]
  wire  _T_225; // @[PMU.scala 89:30:shc.marmotcaravel.MarmotCaravelConfig.fir@230591.4]
  wire  _T_226; // @[PMU.scala 89:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230592.4]
  wire [3:0] _GEN_5; // @[PMU.scala 94:17:shc.marmotcaravel.MarmotCaravelConfig.fir@230600.6]
  wire [1:0] _T_231; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@230608.6]
  wire [3:0] _T_233; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@230610.6]
  wire [3:0] _T_234; // @[PMU.scala 102:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230611.6]
  wire  _T_235; // @[PMU.scala 103:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230612.6]
  wire  _T_236; // @[PMU.scala 103:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230613.6]
  wire  _T_237; // @[PMU.scala 103:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230614.6]
  wire  _T_238; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230618.8]
  wire  _T_239; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230619.8]
  wire  _T_240; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230620.8]
  wire  _T_245; // @[PMU.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@230627.6]
  wire [3:0] _GEN_14; // @[PMU.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230596.4]
  wire [9:0] _GEN_34; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@230634.4]
  wire [9:0] _T_246; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@230634.4]
  wire [9:0] _GEN_35; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@230635.4]
  wire [9:0] _T_247; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@230635.4]
  wire  _T_248; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230641.4]
  wire [31:0] _GEN_18; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230642.4]
  wire  _T_249; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230646.4]
  wire [31:0] _GEN_19; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230647.4]
  wire  _T_250; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230651.4]
  wire [31:0] _GEN_20; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230652.4]
  wire  _T_251; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230656.4]
  wire [31:0] _GEN_21; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230657.4]
  wire  _T_252; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230661.4]
  wire [31:0] _GEN_22; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230662.4]
  wire  _T_253; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230666.4]
  wire [31:0] _GEN_23; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230667.4]
  wire  _T_254; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230671.4]
  wire [31:0] _GEN_24; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230672.4]
  wire  _T_255; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230676.4]
  wire [31:0] _GEN_25; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230677.4]
  wire  _T_256; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230681.4]
  wire [31:0] _GEN_26; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230682.4]
  wire  _T_257; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230686.4]
  wire [31:0] _GEN_27; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230687.4]
  wire  _T_258; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230691.4]
  wire [31:0] _GEN_28; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230692.4]
  wire  _T_259; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230696.4]
  wire [31:0] _GEN_29; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230697.4]
  wire  _T_260; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230701.4]
  wire [31:0] _GEN_30; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230702.4]
  wire  _T_261; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230706.4]
  wire [31:0] _GEN_31; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230707.4]
  wire  _T_262; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230711.4]
  wire [31:0] _GEN_32; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230712.4]
  wire  _T_263; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230716.4]
  wire [31:0] _GEN_33; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230717.4]
  assign _T_135 = io_regs_sleepProgram_0_write_valid | io_regs_sleepProgram_1_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230482.4]
  assign _T_136 = _T_135 | io_regs_sleepProgram_2_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230483.4]
  assign _T_137 = _T_136 | io_regs_sleepProgram_3_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230484.4]
  assign _T_138 = _T_137 | io_regs_sleepProgram_4_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230485.4]
  assign _T_139 = _T_138 | io_regs_sleepProgram_5_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230486.4]
  assign _T_140 = _T_139 | io_regs_sleepProgram_6_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230487.4]
  assign _T_141 = _T_140 | io_regs_sleepProgram_7_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230488.4]
  assign _T_142 = io_regs_wakeupProgram_0_write_valid | io_regs_wakeupProgram_1_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230489.4]
  assign _T_143 = _T_142 | io_regs_wakeupProgram_2_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230490.4]
  assign _T_144 = _T_143 | io_regs_wakeupProgram_3_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230491.4]
  assign _T_145 = _T_144 | io_regs_wakeupProgram_4_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230492.4]
  assign _T_146 = _T_145 | io_regs_wakeupProgram_5_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230493.4]
  assign _T_147 = _T_146 | io_regs_wakeupProgram_6_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230494.4]
  assign _T_148 = _T_147 | io_regs_wakeupProgram_7_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230495.4]
  assign _T_149 = _T_141 | _T_148; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230496.4]
  assign _T_150 = _T_149 | io_regs_sleep_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230497.4]
  assign _T_151 = _T_150 | io_regs_cause_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230498.4]
  assign _T_152 = _T_151 | io_regs_ie_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230499.4]
  assign _T_153 = io_regs_key_write_bits == 32'h51f15e; // @[PMU.scala 72:38:shc.marmotcaravel.MarmotCaravelConfig.fir@230500.4]
  assign _T_154 = _T_152 == 1'h0; // @[PMU.scala 72:63:shc.marmotcaravel.MarmotCaravelConfig.fir@230501.4]
  assign _T_155 = _T_153 & _T_154; // @[PMU.scala 72:60:shc.marmotcaravel.MarmotCaravelConfig.fir@230502.4]
  assign _T_156 = io_regs_key_write_valid | _T_152; // @[PMU.scala 72:111:shc.marmotcaravel.MarmotCaravelConfig.fir@230503.4]
  assign _T_158 = io_regs_sleep_write_valid & unlocked; // @[PMU.scala 74:80:shc.marmotcaravel.MarmotCaravelConfig.fir@230508.4]
  assign _T_162 = io_regs_ie_write_valid & unlocked; // @[PMU.scala 77:68:shc.marmotcaravel.MarmotCaravelConfig.fir@230515.4]
  assign ie = _T_164 | 4'h1; // @[PMU.scala 77:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230520.4]
  assign _T_182 = pc == 3'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230537.4]
  assign _T_183 = _T_182 ? wakeupProgram_1 : wakeupProgram_0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230538.4]
  assign _T_184 = pc == 3'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230539.4]
  assign _T_185 = _T_184 ? wakeupProgram_2 : _T_183; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230540.4]
  assign _T_186 = pc == 3'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230541.4]
  assign _T_187 = _T_186 ? wakeupProgram_3 : _T_185; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230542.4]
  assign _T_188 = pc == 3'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230543.4]
  assign _T_189 = _T_188 ? wakeupProgram_4 : _T_187; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230544.4]
  assign _T_190 = pc == 3'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230545.4]
  assign _T_191 = _T_190 ? wakeupProgram_5 : _T_189; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230546.4]
  assign _T_192 = pc == 3'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230547.4]
  assign _T_193 = _T_192 ? wakeupProgram_6 : _T_191; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230548.4]
  assign _T_194 = pc == 3'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@230549.4]
  assign _T_195 = _T_194 ? wakeupProgram_7 : _T_193; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230550.4]
  assign _T_197 = _T_182 ? sleepProgram_1 : sleepProgram_0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230552.4]
  assign _T_199 = _T_184 ? sleepProgram_2 : _T_197; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230554.4]
  assign _T_201 = _T_186 ? sleepProgram_3 : _T_199; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230556.4]
  assign _T_203 = _T_188 ? sleepProgram_4 : _T_201; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230558.4]
  assign _T_205 = _T_190 ? sleepProgram_5 : _T_203; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230560.4]
  assign _T_207 = _T_192 ? sleepProgram_6 : _T_205; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230562.4]
  assign _T_209 = _T_194 ? sleepProgram_7 : _T_207; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@230564.4]
  assign insnBits = awake ? _T_195 : _T_209; // @[PMU.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230565.4]
  assign insn_dt = insnBits[3:0]; // @[PMU.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@230571.4]
  assign _T_222 = count + 16'h1; // @[PMU.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@230585.4]
  assign _T_223 = count ^ _T_222; // @[PMU.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230586.4]
  assign _T_224 = _T_223 >> insn_dt; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230587.4]
  assign tick = _T_224[0]; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@230588.4]
  assign npc = pc + 3'h1; // @[PMU.scala 87:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230589.4]
  assign last = npc >= 4'h8; // @[PMU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230590.4]
  assign _T_225 = last == 1'h0; // @[PMU.scala 89:30:shc.marmotcaravel.MarmotCaravelConfig.fir@230591.4]
  assign _T_226 = run & _T_225; // @[PMU.scala 89:27:shc.marmotcaravel.MarmotCaravelConfig.fir@230592.4]
  assign _GEN_5 = tick ? npc : {{1'd0}, pc}; // @[PMU.scala 94:17:shc.marmotcaravel.MarmotCaravelConfig.fir@230600.6]
  assign _T_231 = {io_wakeup_rtc,1'h0}; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@230608.6]
  assign _T_233 = {2'h1,_T_231}; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@230610.6]
  assign _T_234 = ie & _T_233; // @[PMU.scala 102:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230611.6]
  assign _T_235 = awake == 1'h0; // @[PMU.scala 103:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230612.6]
  assign _T_236 = _T_234 != 4'h0; // @[PMU.scala 103:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230613.6]
  assign _T_237 = _T_235 & _T_236; // @[PMU.scala 103:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230614.6]
  assign _T_238 = _T_234[0]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230618.8]
  assign _T_239 = _T_234[1]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230619.8]
  assign _T_240 = _T_234[2]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@230620.8]
  assign _T_245 = awake & wantSleep; // @[PMU.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@230627.6]
  assign _GEN_14 = run ? _GEN_5 : {{1'd0}, pc}; // @[PMU.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230596.4]
  assign _GEN_34 = {{8'd0}, io_resetCause}; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@230634.4]
  assign _T_246 = _GEN_34 << 8; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@230634.4]
  assign _GEN_35 = {{8'd0}, wakeupCause}; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@230635.4]
  assign _T_247 = _GEN_35 | _T_246; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@230635.4]
  assign _T_248 = io_regs_wakeupProgram_0_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230641.4]
  assign _GEN_18 = _T_248 ? io_regs_wakeupProgram_0_write_bits : {{23'd0}, wakeupProgram_0}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230642.4]
  assign _T_249 = io_regs_wakeupProgram_1_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230646.4]
  assign _GEN_19 = _T_249 ? io_regs_wakeupProgram_1_write_bits : {{23'd0}, wakeupProgram_1}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230647.4]
  assign _T_250 = io_regs_wakeupProgram_2_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230651.4]
  assign _GEN_20 = _T_250 ? io_regs_wakeupProgram_2_write_bits : {{23'd0}, wakeupProgram_2}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230652.4]
  assign _T_251 = io_regs_wakeupProgram_3_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230656.4]
  assign _GEN_21 = _T_251 ? io_regs_wakeupProgram_3_write_bits : {{23'd0}, wakeupProgram_3}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230657.4]
  assign _T_252 = io_regs_wakeupProgram_4_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230661.4]
  assign _GEN_22 = _T_252 ? io_regs_wakeupProgram_4_write_bits : {{23'd0}, wakeupProgram_4}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230662.4]
  assign _T_253 = io_regs_wakeupProgram_5_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230666.4]
  assign _GEN_23 = _T_253 ? io_regs_wakeupProgram_5_write_bits : {{23'd0}, wakeupProgram_5}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230667.4]
  assign _T_254 = io_regs_wakeupProgram_6_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230671.4]
  assign _GEN_24 = _T_254 ? io_regs_wakeupProgram_6_write_bits : {{23'd0}, wakeupProgram_6}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230672.4]
  assign _T_255 = io_regs_wakeupProgram_7_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230676.4]
  assign _GEN_25 = _T_255 ? io_regs_wakeupProgram_7_write_bits : {{23'd0}, wakeupProgram_7}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230677.4]
  assign _T_256 = io_regs_sleepProgram_0_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230681.4]
  assign _GEN_26 = _T_256 ? io_regs_sleepProgram_0_write_bits : {{23'd0}, sleepProgram_0}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230682.4]
  assign _T_257 = io_regs_sleepProgram_1_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230686.4]
  assign _GEN_27 = _T_257 ? io_regs_sleepProgram_1_write_bits : {{23'd0}, sleepProgram_1}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230687.4]
  assign _T_258 = io_regs_sleepProgram_2_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230691.4]
  assign _GEN_28 = _T_258 ? io_regs_sleepProgram_2_write_bits : {{23'd0}, sleepProgram_2}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230692.4]
  assign _T_259 = io_regs_sleepProgram_3_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230696.4]
  assign _GEN_29 = _T_259 ? io_regs_sleepProgram_3_write_bits : {{23'd0}, sleepProgram_3}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230697.4]
  assign _T_260 = io_regs_sleepProgram_4_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230701.4]
  assign _GEN_30 = _T_260 ? io_regs_sleepProgram_4_write_bits : {{23'd0}, sleepProgram_4}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230702.4]
  assign _T_261 = io_regs_sleepProgram_5_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230706.4]
  assign _GEN_31 = _T_261 ? io_regs_sleepProgram_5_write_bits : {{23'd0}, sleepProgram_5}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230707.4]
  assign _T_262 = io_regs_sleepProgram_6_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230711.4]
  assign _GEN_32 = _T_262 ? io_regs_sleepProgram_6_write_bits : {{23'd0}, sleepProgram_6}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230712.4]
  assign _T_263 = io_regs_sleepProgram_7_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230716.4]
  assign _GEN_33 = _T_263 ? io_regs_sleepProgram_7_write_bits : {{23'd0}, sleepProgram_7}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@230717.4]
  assign io_control_valid = _T_226 & tick; // @[PMU.scala 89:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230594.4]
  assign io_control_bits_hfclkrst = insnBits[8]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230595.4]
  assign io_control_bits_corerst = insnBits[7]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230595.4]
  assign io_control_bits_reserved1 = insnBits[6]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230595.4]
  assign io_control_bits_vddpaden = insnBits[5]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230595.4]
  assign io_control_bits_reserved0 = insnBits[4]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230595.4]
  assign io_regs_ie_read = _T_164 | 4'h1; // @[PMU.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@230637.4]
  assign io_regs_cause_read = {{22'd0}, _T_247}; // @[PMU.scala 115:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230636.4]
  assign io_regs_key_read = {{31'd0}, unlocked}; // @[PMU.scala 117:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230638.4]
  assign io_regs_wakeupProgram_0_read = {{23'd0}, wakeupProgram_0}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230640.4]
  assign io_regs_wakeupProgram_1_read = {{23'd0}, wakeupProgram_1}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230645.4]
  assign io_regs_wakeupProgram_2_read = {{23'd0}, wakeupProgram_2}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230650.4]
  assign io_regs_wakeupProgram_3_read = {{23'd0}, wakeupProgram_3}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230655.4]
  assign io_regs_wakeupProgram_4_read = {{23'd0}, wakeupProgram_4}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230660.4]
  assign io_regs_wakeupProgram_5_read = {{23'd0}, wakeupProgram_5}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230665.4]
  assign io_regs_wakeupProgram_6_read = {{23'd0}, wakeupProgram_6}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230670.4]
  assign io_regs_wakeupProgram_7_read = {{23'd0}, wakeupProgram_7}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230675.4]
  assign io_regs_sleepProgram_0_read = {{23'd0}, sleepProgram_0}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230680.4]
  assign io_regs_sleepProgram_1_read = {{23'd0}, sleepProgram_1}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230685.4]
  assign io_regs_sleepProgram_2_read = {{23'd0}, sleepProgram_2}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230690.4]
  assign io_regs_sleepProgram_3_read = {{23'd0}, sleepProgram_3}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230695.4]
  assign io_regs_sleepProgram_4_read = {{23'd0}, sleepProgram_4}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230700.4]
  assign io_regs_sleepProgram_5_read = {{23'd0}, sleepProgram_5}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230705.4]
  assign io_regs_sleepProgram_6_read = {{23'd0}, sleepProgram_6}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230710.4]
  assign io_regs_sleepProgram_7_read = {{23'd0}, sleepProgram_7}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230715.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@230771.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230772.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230773.4]
  input  [4:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230774.4]
  output [4:0] io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230774.4]
  input        io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230774.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230779.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230779.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230779.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230779.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230779.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230785.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230785.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230785.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230785.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230785.4]
  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230791.4]
  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230791.4]
  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230791.4]
  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230791.4]
  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230791.4]
  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230797.4]
  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230797.4]
  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230797.4]
  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230797.4]
  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230797.4]
  wire  reg_4_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230803.4]
  wire  reg_4_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230803.4]
  wire  reg_4_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230803.4]
  wire  reg_4_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230803.4]
  wire  reg_4_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230803.4]
  wire [1:0] _T_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230834.4]
  wire [1:0] _T_13; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230835.4]
  wire [2:0] _T_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230836.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@230779.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@230785.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@230791.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@230797.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@230803.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@230834.4]
  assign _T_13 = {reg_4_q,reg_3_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230835.4]
  assign _T_14 = {_T_13,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230836.4]
  assign io_q = {_T_14,_T_12}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@230838.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230810.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230809.4]
  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230813.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230812.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230815.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230814.4]
  assign reg_1_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230818.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230817.4]
  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230820.4]
  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230819.4]
  assign reg_2_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230823.4]
  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230822.4]
  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230825.4]
  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230824.4]
  assign reg_3_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230828.4]
  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230827.4]
  assign reg_4_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230830.4]
  assign reg_4_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230829.4]
  assign reg_4_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230833.4]
  assign reg_4_d = io_d[4]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@230832.4]
endmodule
module PMU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230864.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230865.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230866.4]
  input         io_wakeup_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output        io_control_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_ie_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [3:0]  io_regs_ie_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [3:0]  io_regs_ie_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_cause_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_cause_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleep_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_wakeupProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_wakeupProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_wakeupProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_regs_sleepProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input  [31:0] io_regs_sleepProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  output [31:0] io_regs_sleepProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_resetCauses_wdogrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
  input         io_resetCauses_erst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230867.4]
);
  wire  core_clock; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_reset; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_wakeup_rtc; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_control_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_control_bits_hfclkrst; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_control_bits_corerst; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_control_bits_reserved1; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_control_bits_vddpaden; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_control_bits_reserved0; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [1:0] core_io_resetCause; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_ie_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [3:0] core_io_regs_ie_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [3:0] core_io_regs_ie_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_cause_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_cause_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleep_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_key_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_key_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_key_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_0_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_1_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_2_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_3_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_4_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_5_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_6_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_wakeupProgram_7_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_0_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_0_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_0_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_1_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_1_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_1_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_2_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_2_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_2_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_3_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_3_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_3_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_4_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_4_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_4_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_5_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_5_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_5_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_6_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_6_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_6_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  core_io_regs_sleepProgram_7_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_7_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire [31:0] core_io_regs_sleepProgram_7_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.4]
  wire  AsyncResetRegVec_w5_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230888.4]
  wire  AsyncResetRegVec_w5_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230888.4]
  wire [4:0] AsyncResetRegVec_w5_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230888.4]
  wire [4:0] AsyncResetRegVec_w5_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230888.4]
  wire  AsyncResetRegVec_w5_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@230888.4]
  wire  SRLatch_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230913.4]
  wire  SRLatch_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230913.4]
  wire  SRLatch_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230913.4]
  wire  SRLatch_1_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230923.4]
  wire  SRLatch_1_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230923.4]
  wire  SRLatch_1_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230923.4]
  wire  SRLatch_2_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230933.4]
  wire  SRLatch_2_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230933.4]
  wire  SRLatch_2_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230933.4]
  reg  _T_132; // @[PMU.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@230872.4]
  reg [31:0] _RAND_0;
  reg  coreReset; // @[PMU.scala 134:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230874.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_134; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230883.4]
  wire [1:0] _T_135; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230884.4]
  wire [2:0] _T_136; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230885.4]
  wire [4:0] _T_137; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230886.4]
  wire [4:0] latch; // @[PMU.scala 141:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230894.4]
  wire [1:0] _T_148; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230911.4]
  wire [2:0] _T_149; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230912.4]
  wire  _T_150; // @[PMU.scala 148:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230917.4]
  wire  _T_151; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230919.4]
  wire  _T_152; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230920.4]
  wire [1:0] _T_162; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230943.4]
  wire [2:0] _T_163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230944.4]
  wire  _T_164; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230945.4]
  wire [1:0] _T_165; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230946.4]
  wire [1:0] _GEN_0; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230948.4]
  wire [1:0] _T_167; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230948.4]
  wire  _T_168; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@230949.4]
  PMUCore core ( // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230877.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@230888.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@230913.4]
    .q(SRLatch_q),
    .reset(SRLatch_reset),
    .set(SRLatch_set)
  );
  SRLatch SRLatch_1 ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230923.4]
    .q(SRLatch_1_q),
    .reset(SRLatch_1_reset),
    .set(SRLatch_1_set)
  );
  SRLatch SRLatch_2 ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@230933.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@230883.4]
  assign _T_135 = {core_io_control_bits_hfclkrst,core_io_control_bits_corerst}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230884.4]
  assign _T_136 = {_T_135,core_io_control_bits_reserved1}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230885.4]
  assign _T_137 = {_T_136,_T_134}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230886.4]
  assign latch = ~ AsyncResetRegVec_w5_i0_io_q; // @[PMU.scala 141:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230894.4]
  assign _T_148 = {io_resetCauses_wdogrst,io_resetCauses_erst}; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230911.4]
  assign _T_149 = {_T_148,1'h0}; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@230912.4]
  assign _T_150 = _T_149[0]; // @[PMU.scala 148:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230917.4]
  assign _T_151 = _T_149[1]; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230919.4]
  assign _T_152 = _T_149[2]; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@230920.4]
  assign _T_162 = {SRLatch_2_q,SRLatch_1_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230943.4]
  assign _T_163 = {_T_162,SRLatch_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@230944.4]
  assign _T_164 = _T_163[2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230945.4]
  assign _T_165 = _T_163[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@230946.4]
  assign _GEN_0 = {{1'd0}, _T_164}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230948.4]
  assign _T_167 = _GEN_0 | _T_165; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@230948.4]
  assign _T_168 = _T_167[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@230949.4]
  assign io_control_corerst = latch[3]; // @[PMU.scala 142:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230910.4]
  assign io_regs_ie_read = core_io_regs_ie_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_cause_read = core_io_regs_cause_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_key_read = core_io_regs_key_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_0_read = core_io_regs_wakeupProgram_0_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_1_read = core_io_regs_wakeupProgram_1_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_2_read = core_io_regs_wakeupProgram_2_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_3_read = core_io_regs_wakeupProgram_3_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_4_read = core_io_regs_wakeupProgram_4_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_5_read = core_io_regs_wakeupProgram_5_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_6_read = core_io_regs_wakeupProgram_6_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_wakeupProgram_7_read = core_io_regs_wakeupProgram_7_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_0_read = core_io_regs_sleepProgram_0_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_1_read = core_io_regs_sleepProgram_1_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_2_read = core_io_regs_sleepProgram_2_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_3_read = core_io_regs_sleepProgram_3_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_4_read = core_io_regs_sleepProgram_4_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_5_read = core_io_regs_sleepProgram_5_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_6_read = core_io_regs_sleepProgram_6_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign io_regs_sleepProgram_7_read = core_io_regs_sleepProgram_7_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230879.4]
  assign core_reset = coreReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230880.4]
  assign core_io_wakeup_rtc = io_wakeup_rtc; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_resetCause = {_T_164,_T_168}; // @[PMU.scala 144:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230951.4]
  assign core_io_regs_ie_write_valid = io_regs_ie_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_ie_write_bits = io_regs_ie_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_cause_write_valid = io_regs_cause_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleep_write_valid = io_regs_sleep_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_key_write_valid = io_regs_key_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_key_write_bits = io_regs_key_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_0_write_valid = io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_0_write_bits = io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_1_write_valid = io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_1_write_bits = io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_2_write_valid = io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_2_write_bits = io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_3_write_valid = io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_3_write_bits = io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_4_write_valid = io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_4_write_bits = io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_5_write_valid = io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_5_write_bits = io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_6_write_valid = io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_6_write_bits = io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_7_write_valid = io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_wakeupProgram_7_write_bits = io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_0_write_valid = io_regs_sleepProgram_0_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_0_write_bits = io_regs_sleepProgram_0_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_1_write_valid = io_regs_sleepProgram_1_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_1_write_bits = io_regs_sleepProgram_1_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_2_write_valid = io_regs_sleepProgram_2_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_2_write_bits = io_regs_sleepProgram_2_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_3_write_valid = io_regs_sleepProgram_3_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_3_write_bits = io_regs_sleepProgram_3_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_4_write_valid = io_regs_sleepProgram_4_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_4_write_bits = io_regs_sleepProgram_4_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_5_write_valid = io_regs_sleepProgram_5_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_5_write_bits = io_regs_sleepProgram_5_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_6_write_valid = io_regs_sleepProgram_6_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_6_write_bits = io_regs_sleepProgram_6_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_7_write_valid = io_regs_sleepProgram_7_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign core_io_regs_sleepProgram_7_write_bits = io_regs_sleepProgram_7_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@230881.4]
  assign AsyncResetRegVec_w5_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230890.4]
  assign AsyncResetRegVec_w5_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@230891.4]
  assign AsyncResetRegVec_w5_i0_io_d = ~ _T_137; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@230892.4]
  assign AsyncResetRegVec_w5_i0_io_en = core_io_control_valid; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@230893.4]
  assign SRLatch_reset = _T_151 | _T_152; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230922.4]
  assign SRLatch_set = _T_149[0]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230918.4]
  assign SRLatch_1_reset = _T_150 | _T_152; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230932.4]
  assign SRLatch_1_set = _T_149[1]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230928.4]
  assign SRLatch_2_reset = _T_150 | _T_151; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@230942.4]
  assign SRLatch_2_set = _T_149[2]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@230938.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@231108.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231109.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231110.4]
  input         io_regs_cfg_write__ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write__running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write__countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write__zerocmp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write__sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input  [3:0]  io_regs_cfg_write__scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_regs_cfg_read_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_regs_cfg_read_running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_regs_cfg_read_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_regs_cfg_read_deglitch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_regs_cfg_read_sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output [3:0]  io_regs_cfg_read_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_gang_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_extra_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_center_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_deglitch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_zerocmp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cfg_write_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_countLo_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input  [30:0] io_regs_countLo_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output [30:0] io_regs_countLo_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_countHi_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_s_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output [15:0] io_regs_s_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_cmp_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input  [15:0] io_regs_cmp_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output [15:0] io_regs_cmp_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_feed_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input  [31:0] io_regs_feed_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  input         io_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
  output        io_rst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231111.4]
);
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231146.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231146.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231146.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231146.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231146.4]
  wire  AsyncResetRegVec_w1_i0_1_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231168.4]
  wire  AsyncResetRegVec_w1_i0_1_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231168.4]
  wire  AsyncResetRegVec_w1_i0_1_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231168.4]
  wire  AsyncResetRegVec_w1_i0_1_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231168.4]
  wire  AsyncResetRegVec_w1_i0_1_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231168.4]
  wire  AsyncResetRegVec_w1_i0_2_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231176.4]
  wire  AsyncResetRegVec_w1_i0_2_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231176.4]
  wire  AsyncResetRegVec_w1_i0_2_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231176.4]
  wire  AsyncResetRegVec_w1_i0_2_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231176.4]
  wire  AsyncResetRegVec_w1_i0_2_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231176.4]
  wire  AsyncResetRegVec_w1_i0_3_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231318.4]
  wire  AsyncResetRegVec_w1_i0_3_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231318.4]
  wire  AsyncResetRegVec_w1_i0_3_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231318.4]
  wire  AsyncResetRegVec_w1_i0_3_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231318.4]
  wire  AsyncResetRegVec_w1_i0_3_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231318.4]
  wire  AsyncResetRegVec_w1_i0_4_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231337.4]
  wire  AsyncResetRegVec_w1_i0_4_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231337.4]
  wire  AsyncResetRegVec_w1_i0_4_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231337.4]
  wire  AsyncResetRegVec_w1_i0_4_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231337.4]
  wire  AsyncResetRegVec_w1_i0_4_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231337.4]
  wire  _T_212; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231119.4]
  wire  _T_216; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231123.4]
  wire  _T_220; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231127.4]
  wire  _T_224; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231131.4]
  wire  _T_225; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231132.4]
  wire  _T_226; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231133.4]
  wire  _T_227; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231134.4]
  wire  _T_228; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231135.4]
  wire  _T_229; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231136.4]
  wire  _T_230; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231137.4]
  wire  _T_231; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231138.4]
  wire  _T_232; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231139.4]
  wire  _T_233; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231140.4]
  wire  _T_234; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231141.4]
  wire  _T_235; // @[WatchdogTimer.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@231142.4]
  wire  _T_236; // @[WatchdogTimer.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@231143.4]
  wire  unlocked; // @[WatchdogTimer.scala 39:114:shc.marmotcaravel.MarmotCaravelConfig.fir@231152.4]
  wire  _T_239; // @[Timer.scala 201:84:shc.marmotcaravel.MarmotCaravelConfig.fir@231153.4]
  reg [3:0] scale; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231154.4]
  reg [31:0] _RAND_0;
  wire  _T_241; // @[Timer.scala 203:82:shc.marmotcaravel.MarmotCaravelConfig.fir@231158.4]
  reg [15:0] cmp_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231159.4]
  reg [31:0] _RAND_1;
  reg  _T_244; // @[WatchdogTimer.scala 32:45:shc.marmotcaravel.MarmotCaravelConfig.fir@231163.4]
  reg [31:0] _RAND_2;
  reg  _T_246; // @[WatchdogTimer.scala 32:34:shc.marmotcaravel.MarmotCaravelConfig.fir@231165.4]
  reg [31:0] _RAND_3;
  wire  countAlways; // @[WatchdogTimer.scala 29:123:shc.marmotcaravel.MarmotCaravelConfig.fir@231174.4]
  wire  countAwake; // @[WatchdogTimer.scala 30:123:shc.marmotcaravel.MarmotCaravelConfig.fir@231182.4]
  wire  _T_249; // @[WatchdogTimer.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@231183.4]
  wire  _T_250; // @[WatchdogTimer.scala 33:32:shc.marmotcaravel.MarmotCaravelConfig.fir@231184.4]
  wire  countEn; // @[WatchdogTimer.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231185.4]
  reg [4:0] _T_252; // @[Counters.scala 46:72:shc.marmotcaravel.MarmotCaravelConfig.fir@231186.4]
  reg [31:0] _RAND_4;
  wire [4:0] _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@231187.4]
  wire [5:0] _T_253; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@231187.4]
  reg [25:0] _T_255; // @[Counters.scala 51:70:shc.marmotcaravel.MarmotCaravelConfig.fir@231189.4]
  reg [31:0] _RAND_5;
  wire  _T_256; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231190.4]
  wire [25:0] _T_258; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@231193.6]
  wire [25:0] _GEN_2; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@231191.4]
  wire [30:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231196.4]
  wire  _T_260; // @[Timer.scala 206:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231197.4]
  wire [31:0] _T_262; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231200.6]
  wire [26:0] _T_263; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@231202.6]
  wire [31:0] _GEN_3; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@231198.4]
  wire [26:0] _GEN_4; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@231198.4]
  wire [30:0] _T_264; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@231205.4]
  wire [15:0] s; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231206.4]
  wire  elapsed_0; // @[Timer.scala 212:90:shc.marmotcaravel.MarmotCaravelConfig.fir@231214.4]
  wire  _T_283; // @[WatchdogTimer.scala 43:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231218.4]
  wire  _T_284; // @[WatchdogTimer.scala 43:69:shc.marmotcaravel.MarmotCaravelConfig.fir@231219.4]
  wire  feed; // @[WatchdogTimer.scala 43:42:shc.marmotcaravel.MarmotCaravelConfig.fir@231220.4]
  wire  _T_285; // @[Timer.scala 202:95:shc.marmotcaravel.MarmotCaravelConfig.fir@231221.4]
  reg  zerocmp; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231222.4]
  reg [31:0] _RAND_6;
  wire  _T_287; // @[Timer.scala 213:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231226.4]
  wire  countReset; // @[Timer.scala 213:35:shc.marmotcaravel.MarmotCaravelConfig.fir@231227.4]
  wire [31:0] _GEN_6; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231228.4]
  wire [26:0] _GEN_7; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231228.4]
  wire  _T_343; // @[WatchdogTimer.scala 36:69:shc.marmotcaravel.MarmotCaravelConfig.fir@231289.4]
  wire  _T_351; // @[WatchdogTimer.scala 36:111:shc.marmotcaravel.MarmotCaravelConfig.fir@231293.4]
  wire  _T_352; // @[WatchdogTimer.scala 36:124:shc.marmotcaravel.MarmotCaravelConfig.fir@231294.4]
  reg  ip_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231295.4]
  reg [31:0] _RAND_7;
  wire  rsten; // @[WatchdogTimer.scala 35:116:shc.marmotcaravel.MarmotCaravelConfig.fir@231324.4]
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231146.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@231168.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@231176.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@231318.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@231337.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@231119.4]
  assign _T_216 = _T_212 | io_regs_cfg_write_extra_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231123.4]
  assign _T_220 = _T_216 | io_regs_cfg_write_center_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231127.4]
  assign _T_224 = _T_220 | io_regs_cfg_write_running; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231131.4]
  assign _T_225 = _T_224 | io_regs_cfg_write_countAlways; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231132.4]
  assign _T_226 = _T_225 | io_regs_cfg_write_deglitch; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231133.4]
  assign _T_227 = _T_226 | io_regs_cfg_write_zerocmp; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231134.4]
  assign _T_228 = _T_227 | io_regs_cfg_write_sticky; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231135.4]
  assign _T_229 = _T_228 | io_regs_cfg_write_scale; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@231136.4]
  assign _T_230 = io_regs_feed_write_valid | io_regs_cmp_0_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231137.4]
  assign _T_231 = _T_230 | io_regs_s_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231138.4]
  assign _T_232 = _T_231 | io_regs_countHi_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231139.4]
  assign _T_233 = _T_232 | io_regs_countLo_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231140.4]
  assign _T_234 = _T_233 | _T_229; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231141.4]
  assign _T_235 = io_regs_key_write_bits == 32'h51f15e; // @[WatchdogTimer.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@231142.4]
  assign _T_236 = _T_234 == 1'h0; // @[WatchdogTimer.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@231143.4]
  assign unlocked = AsyncResetRegVec_w1_i0_io_q; // @[WatchdogTimer.scala 39:114:shc.marmotcaravel.MarmotCaravelConfig.fir@231152.4]
  assign _T_239 = io_regs_cfg_write_scale & unlocked; // @[Timer.scala 201:84:shc.marmotcaravel.MarmotCaravelConfig.fir@231153.4]
  assign _T_241 = io_regs_cmp_0_write_valid & unlocked; // @[Timer.scala 203:82:shc.marmotcaravel.MarmotCaravelConfig.fir@231158.4]
  assign countAlways = AsyncResetRegVec_w1_i0_1_io_q; // @[WatchdogTimer.scala 29:123:shc.marmotcaravel.MarmotCaravelConfig.fir@231174.4]
  assign countAwake = AsyncResetRegVec_w1_i0_2_io_q; // @[WatchdogTimer.scala 30:123:shc.marmotcaravel.MarmotCaravelConfig.fir@231182.4]
  assign _T_249 = _T_246 == 1'h0; // @[WatchdogTimer.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@231183.4]
  assign _T_250 = countAwake & _T_249; // @[WatchdogTimer.scala 33:32:shc.marmotcaravel.MarmotCaravelConfig.fir@231184.4]
  assign countEn = countAlways | _T_250; // @[WatchdogTimer.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231185.4]
  assign _GEN_9 = {{4'd0}, countEn}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@231187.4]
  assign _T_253 = _T_252 + _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@231187.4]
  assign _T_256 = _T_253[5]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231190.4]
  assign _T_258 = _T_255 + 26'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@231193.6]
  assign _GEN_2 = _T_256 ? _T_258 : _T_255; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@231191.4]
  assign _T_259 = {_T_255,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231196.4]
  assign _T_260 = io_regs_countLo_write_valid & unlocked; // @[Timer.scala 206:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231197.4]
  assign _T_262 = {1'h0,io_regs_countLo_write_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231200.6]
  assign _T_263 = _T_262[31:5]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@231202.6]
  assign _GEN_3 = _T_260 ? _T_262 : {{26'd0}, _T_253}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@231198.4]
  assign _GEN_4 = _T_260 ? _T_263 : {{1'd0}, _GEN_2}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@231198.4]
  assign _T_264 = _T_259 >> scale; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@231205.4]
  assign s = _T_264[15:0]; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231206.4]
  assign elapsed_0 = s >= cmp_0; // @[Timer.scala 212:90:shc.marmotcaravel.MarmotCaravelConfig.fir@231214.4]
  assign _T_283 = unlocked & io_regs_feed_write_valid; // @[WatchdogTimer.scala 43:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231218.4]
  assign _T_284 = io_regs_feed_write_bits == 32'hd09f00d; // @[WatchdogTimer.scala 43:69:shc.marmotcaravel.MarmotCaravelConfig.fir@231219.4]
  assign feed = _T_283 & _T_284; // @[WatchdogTimer.scala 43:42:shc.marmotcaravel.MarmotCaravelConfig.fir@231220.4]
  assign _T_285 = io_regs_cfg_write_zerocmp & unlocked; // @[Timer.scala 202:95:shc.marmotcaravel.MarmotCaravelConfig.fir@231221.4]
  assign _T_287 = zerocmp & elapsed_0; // @[Timer.scala 213:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231226.4]
  assign countReset = feed | _T_287; // @[Timer.scala 213:35:shc.marmotcaravel.MarmotCaravelConfig.fir@231227.4]
  assign _GEN_6 = countReset ? 32'h0 : _GEN_3; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231228.4]
  assign _GEN_7 = countReset ? 27'h0 : _GEN_4; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231228.4]
  assign _T_343 = io_regs_cfg_write__ip_0 | elapsed_0; // @[WatchdogTimer.scala 36:69:shc.marmotcaravel.MarmotCaravelConfig.fir@231289.4]
  assign _T_351 = io_regs_cfg_write_ip_0 & unlocked; // @[WatchdogTimer.scala 36:111:shc.marmotcaravel.MarmotCaravelConfig.fir@231293.4]
  assign _T_352 = _T_351 | elapsed_0; // @[WatchdogTimer.scala 36:124:shc.marmotcaravel.MarmotCaravelConfig.fir@231294.4]
  assign rsten = AsyncResetRegVec_w1_i0_3_io_q; // @[WatchdogTimer.scala 35:116:shc.marmotcaravel.MarmotCaravelConfig.fir@231324.4]
  assign io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231288.4 Timer.scala 217:23:shc.marmotcaravel.MarmotCaravelConfig.fir@231299.4]
  assign io_regs_cfg_read_running = AsyncResetRegVec_w1_i0_2_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231288.4 Timer.scala 221:28:shc.marmotcaravel.MarmotCaravelConfig.fir@231313.4]
  assign io_regs_cfg_read_countAlways = AsyncResetRegVec_w1_i0_1_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231288.4 Timer.scala 222:32:shc.marmotcaravel.MarmotCaravelConfig.fir@231314.4]
  assign io_regs_cfg_read_deglitch = zerocmp; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231288.4 Timer.scala 223:29:shc.marmotcaravel.MarmotCaravelConfig.fir@231315.4 Timer.scala 224:29:shc.marmotcaravel.MarmotCaravelConfig.fir@231316.4]
  assign io_regs_cfg_read_sticky = AsyncResetRegVec_w1_i0_3_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231288.4 Timer.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@231326.4]
  assign io_regs_cfg_read_scale = scale; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231288.4 Timer.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@231327.4]
  assign io_regs_countLo_read = {_T_255,_T_252}; // @[Timer.scala 228:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231328.4]
  assign io_regs_s_read = _T_264[15:0]; // @[Timer.scala 230:18:shc.marmotcaravel.MarmotCaravelConfig.fir@231331.4]
  assign io_regs_cmp_0_read = cmp_0; // @[Timer.scala 231:53:shc.marmotcaravel.MarmotCaravelConfig.fir@231332.4]
  assign io_regs_key_read = {{31'd0}, AsyncResetRegVec_w1_i0_io_q}; // @[Timer.scala 233:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231334.4]
  assign io_ip_0 = ip_0; // @[Timer.scala 234:9:shc.marmotcaravel.MarmotCaravelConfig.fir@231335.4]
  assign io_rst = AsyncResetRegVec_w1_i0_4_io_q; // @[WatchdogTimer.scala 65:10:shc.marmotcaravel.MarmotCaravelConfig.fir@231343.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231148.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231149.4]
  assign AsyncResetRegVec_w1_i0_io_d = _T_235 & _T_236; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231150.4]
  assign AsyncResetRegVec_w1_i0_io_en = io_regs_key_write_valid | _T_234; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231151.4]
  assign AsyncResetRegVec_w1_i0_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231170.4]
  assign AsyncResetRegVec_w1_i0_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231171.4]
  assign AsyncResetRegVec_w1_i0_1_io_d = io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231172.4]
  assign AsyncResetRegVec_w1_i0_1_io_en = io_regs_cfg_write_countAlways & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231173.4]
  assign AsyncResetRegVec_w1_i0_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231178.4]
  assign AsyncResetRegVec_w1_i0_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231179.4]
  assign AsyncResetRegVec_w1_i0_2_io_d = io_regs_cfg_write__running; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231180.4]
  assign AsyncResetRegVec_w1_i0_2_io_en = io_regs_cfg_write_running & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231181.4]
  assign AsyncResetRegVec_w1_i0_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231320.4]
  assign AsyncResetRegVec_w1_i0_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231321.4]
  assign AsyncResetRegVec_w1_i0_3_io_d = io_regs_cfg_write__sticky; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231322.4]
  assign AsyncResetRegVec_w1_i0_3_io_en = io_regs_cfg_write_sticky & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231323.4]
  assign AsyncResetRegVec_w1_i0_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231339.4]
  assign AsyncResetRegVec_w1_i0_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231340.4]
  assign AsyncResetRegVec_w1_i0_4_io_d = 1'h1; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@231341.4]
  assign AsyncResetRegVec_w1_i0_4_io_en = rsten & elapsed_0; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231342.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_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231345.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231346.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231347.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input         io_enq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input  [9:0]  io_enq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input  [7:0]  io_enq_bits_extra, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  output        io_deq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  output [9:0]  io_deq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
  output [7:0]  io_deq_bits_extra // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231348.4]
);
  reg  _T_35_read [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [31:0] _RAND_0;
  wire  _T_35_read__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_read__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_read__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_read__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_read__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [9:0] _T_35_index [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [31:0] _RAND_1;
  wire [9:0] _T_35_index__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_index__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire [9:0] _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_index__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_index__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_index__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [31:0] _T_35_data [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [31:0] _RAND_2;
  wire [31:0] _T_35_data__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_data__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire [31:0] _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_data__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_data__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_data__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [3:0] _T_35_mask [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [31:0] _RAND_3;
  wire [3:0] _T_35_mask__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_mask__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire [3:0] _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_mask__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_mask__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_mask__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [7:0] _T_35_extra [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg [31:0] _RAND_4;
  wire [7:0] _T_35_extra__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_extra__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire [7:0] _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_extra__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_extra__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  wire  _T_35_extra__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231350.4]
  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@231351.4]
  reg [31:0] _RAND_5;
  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@231353.4]
  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231356.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231359.4]
  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231372.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@231350.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@231350.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@231350.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@231350.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@231350.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@231353.4]
  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231356.4]
  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@231359.4]
  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231372.4]
  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231379.4]
  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@231377.4]
  assign io_deq_bits_read = _T_35_read__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231385.4]
  assign io_deq_bits_index = _T_35_index__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231384.4]
  assign io_deq_bits_data = _T_35_data__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231383.4]
  assign io_deq_bits_mask = _T_35_mask__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231382.4]
  assign io_deq_bits_extra = _T_35_extra__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231381.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@231350.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@231350.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@231350.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@231350.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@231350.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@231393.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231394.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231395.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output        auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231396.4]
  output        io_moff_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231397.4]
  output        io_wdog_rst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231397.4]
  output        io_lfclk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231397.4]
  input         io_lfextclk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231397.4]
  input         io_resetCauses_wdogrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231397.4]
  input         io_resetCauses_erst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231397.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.4]
  wire  rtc_clock; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_reset; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_cfg_write__countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [3:0] rtc_io_regs_cfg_write__scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_cfg_read_ip_0; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_cfg_read_countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [3:0] rtc_io_regs_cfg_read_scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_cfg_write_countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_cfg_write_scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_countLo_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_countLo_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_countLo_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_countHi_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_countHi_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_countHi_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_s_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_regs_cmp_0_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_cmp_0_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire [31:0] rtc_io_regs_cmp_0_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  rtc_io_ip_0; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231446.4]
  wire  pmu_clock; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_reset; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_wakeup_rtc; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_control_corerst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_ie_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [3:0] pmu_io_regs_ie_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [3:0] pmu_io_regs_ie_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_cause_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_cause_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleep_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_key_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_key_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_key_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_0_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_0_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_0_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_1_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_1_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_1_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_2_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_2_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_2_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_3_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_3_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_3_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_4_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_4_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_4_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_5_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_5_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_5_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_6_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_6_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_6_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_wakeupProgram_7_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_7_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_wakeupProgram_7_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_0_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_0_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_0_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_1_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_1_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_1_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_2_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_2_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_2_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_3_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_3_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_3_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_4_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_4_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_4_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_5_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_5_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_5_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_6_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_6_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_6_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_regs_sleepProgram_7_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_7_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire [31:0] pmu_io_regs_sleepProgram_7_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_resetCauses_wdogrst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  pmu_io_resetCauses_erst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231452.4]
  wire  wdog_clock; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_reset; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write__ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write__running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write__countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write__zerocmp; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write__sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [3:0] wdog_io_regs_cfg_write__scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_read_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_read_running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_read_countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_read_deglitch; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_read_sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [3:0] wdog_io_regs_cfg_read_scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_gang_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_extra_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_center_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_deglitch; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_zerocmp; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cfg_write_scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_countLo_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [30:0] wdog_io_regs_countLo_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [30:0] wdog_io_regs_countLo_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_countHi_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_s_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [15:0] wdog_io_regs_s_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_cmp_0_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [15:0] wdog_io_regs_cmp_0_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [15:0] wdog_io_regs_cmp_0_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_feed_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [31:0] wdog_io_regs_feed_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_regs_key_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [31:0] wdog_io_regs_key_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire [31:0] wdog_io_regs_key_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_corerst; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  wdog_io_rst; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@231463.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_io_enq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [9:0] Queue_io_enq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [7:0] Queue_io_enq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire  Queue_io_deq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [9:0] Queue_io_deq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  wire [7:0] Queue_io_deq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.4]
  reg [31:0] backupRegs_0; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231473.4]
  reg [31:0] _RAND_0;
  reg [31:0] backupRegs_1; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231474.4]
  reg [31:0] _RAND_1;
  reg [31:0] backupRegs_2; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231475.4]
  reg [31:0] _RAND_2;
  reg [31:0] backupRegs_3; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231476.4]
  reg [31:0] _RAND_3;
  reg [31:0] backupRegs_4; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231477.4]
  reg [31:0] _RAND_4;
  reg [31:0] backupRegs_5; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231478.4]
  reg [31:0] _RAND_5;
  reg [31:0] backupRegs_6; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231479.4]
  reg [31:0] _RAND_6;
  reg [31:0] backupRegs_7; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231480.4]
  reg [31:0] _RAND_7;
  reg [31:0] backupRegs_8; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231481.4]
  reg [31:0] _RAND_8;
  reg [31:0] backupRegs_9; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231482.4]
  reg [31:0] _RAND_9;
  reg [31:0] backupRegs_10; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231483.4]
  reg [31:0] _RAND_10;
  reg [31:0] backupRegs_11; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231484.4]
  reg [31:0] _RAND_11;
  reg [31:0] backupRegs_12; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231485.4]
  reg [31:0] _RAND_12;
  reg [31:0] backupRegs_13; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231486.4]
  reg [31:0] _RAND_13;
  reg [31:0] backupRegs_14; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231487.4]
  reg [31:0] _RAND_14;
  reg [31:0] backupRegs_15; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@231488.4]
  reg [31:0] _RAND_15;
  wire [26:0] _T_291; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@231549.4]
  wire [9:0] _T_309; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231572.4]
  wire  _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231574.4]
  wire  _T_777; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231696.4]
  wire  _T_778; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231697.4]
  wire  _T_779; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231698.4]
  wire  _T_780; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231699.4]
  wire [7:0] _T_782; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231701.4]
  wire [7:0] _T_784; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231703.4]
  wire [7:0] _T_786; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231705.4]
  wire [7:0] _T_788; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231707.4]
  wire [15:0] _T_789; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231708.4]
  wire [15:0] _T_790; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231709.4]
  wire [31:0] _T_791; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231710.4]
  wire [31:0] _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231719.4]
  wire  _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231720.4]
  wire  _T_5011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236492.4]
  wire  _T_2928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233999.4]
  wire  _T_2927; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233998.4]
  wire [1:0] _T_2935; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234006.4]
  wire  _T_2926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233997.4]
  wire  _T_2925; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233996.4]
  wire [1:0] _T_2934; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234005.4]
  wire [3:0] _T_2936; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234007.4]
  wire  _T_2924; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233995.4]
  wire  _T_2923; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233994.4]
  wire [1:0] _T_2932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234003.4]
  wire  _T_2922; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233993.4]
  wire [2:0] _T_2933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234004.4]
  wire [6:0] _T_2937; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234008.4]
  wire [127:0] _T_3067; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@234138.4]
  wire  _T_3137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234208.4]
  wire  _T_5919; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237605.4]
  wire  _T_5920; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237606.4]
  wire  _T_6337; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238159.4]
  wire  _T_6338; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238160.4]
  wire [31:0] _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231725.4]
  wire [31:0] _T_815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231736.4]
  wire [3:0] _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231743.4]
  wire [3:0] _T_825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231746.4]
  wire  _T_826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231747.4]
  wire  _T_3068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234139.4]
  wire  _T_5923; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237609.4]
  wire  _T_5924; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237610.4]
  wire [3:0] _T_840; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231763.4]
  wire [4:0] _T_866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231789.4]
  wire [7:0] _T_867; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231790.4]
  wire  _T_874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231797.4]
  wire  _T_877; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231800.4]
  wire  _T_878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231801.4]
  wire [8:0] _T_893; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231818.4]
  wire  _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231826.4]
  wire  _T_904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231829.4]
  wire  _T_905; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231830.4]
  wire [9:0] _T_920; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231847.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231855.4]
  wire  _T_931; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231858.4]
  wire  _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231859.4]
  wire [10:0] _T_947; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231876.4]
  wire [11:0] _T_974; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231903.4]
  wire  _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231911.4]
  wire  _T_985; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231914.4]
  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231915.4]
  wire [12:0] _T_1001; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231932.4]
  wire  _T_1009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231940.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231943.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231944.4]
  wire [13:0] _T_1028; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231961.4]
  wire [14:0] _T_1055; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231988.4]
  wire [15:0] _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231989.4]
  wire  _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231996.4]
  wire  _T_1066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231999.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232000.4]
  wire [16:0] _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232017.4]
  wire [17:0] _T_1109; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232044.4]
  wire [19:0] _T_1110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232045.4]
  wire  _T_1117; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232052.4]
  wire  _T_1120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232055.4]
  wire  _T_1121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232056.4]
  wire [20:0] _T_1136; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232073.4]
  wire [21:0] _T_1163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232100.4]
  wire [23:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232101.4]
  wire  _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232108.4]
  wire  _T_1174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232111.4]
  wire  _T_1175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232112.4]
  wire [24:0] _T_1190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232129.4]
  wire [25:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232156.4]
  wire [27:0] _T_1218; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232157.4]
  wire  _T_1225; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232164.4]
  wire  _T_1228; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232167.4]
  wire  _T_1229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232168.4]
  wire [28:0] _T_1244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232185.4]
  wire [29:0] _T_1271; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232212.4]
  wire [31:0] _T_1272; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232213.4]
  wire  _T_3110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234181.4]
  wire  _T_6175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237959.4]
  wire  _T_6176; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237960.4]
  wire  _T_1287; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232228.4]
  wire  _T_3092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234163.4]
  wire  _T_6067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237822.4]
  wire  _T_6068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237823.4]
  wire [31:0] _T_1322; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232268.4]
  wire  _T_3105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234176.4]
  wire  _T_6145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237919.4]
  wire  _T_6146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237920.4]
  wire  _T_1337; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232283.4]
  wire [31:0] _T_1372; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232323.4]
  wire  _T_3114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234185.4]
  wire  _T_6199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237991.4]
  wire  _T_6200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237992.4]
  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232338.4]
  wire  _T_3146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234217.4]
  wire  _T_6391; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238231.4]
  wire  _T_6392; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238232.4]
  wire [31:0] _T_1422; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232378.4]
  wire  _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234213.4]
  wire  _T_6367; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238199.4]
  wire  _T_6368; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238200.4]
  wire [31:0] _T_1447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232405.4]
  wire  _T_3074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234145.4]
  wire  _T_5959; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237671.4]
  wire  _T_5960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237672.4]
  wire  _T_3106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234177.4]
  wire  _T_6151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237927.4]
  wire  _T_6152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237928.4]
  wire  _T_1487; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232447.4]
  wire  _T_3138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234209.4]
  wire  _T_6343; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238167.4]
  wire  _T_6344; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238168.4]
  wire [31:0] _T_1522; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232487.4]
  wire  _T_3101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234172.4]
  wire  _T_6121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237887.4]
  wire  _T_6122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237888.4]
  wire  _T_1537; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232502.4]
  wire  _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234204.4]
  wire  _T_6313; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238127.4]
  wire  _T_6314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238128.4]
  wire [31:0] _T_1572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232542.4]
  wire  _T_3145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234216.4]
  wire  _T_6385; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238223.4]
  wire  _T_6386; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238224.4]
  wire [31:0] _T_1597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232569.4]
  wire  _T_3109; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234180.4]
  wire  _T_6169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237951.4]
  wire  _T_6170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237952.4]
  wire  _T_1612; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232584.4]
  wire  _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234212.4]
  wire  _T_6361; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238191.4]
  wire  _T_6362; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238192.4]
  wire [31:0] _T_1647; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232624.4]
  wire [30:0] _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232631.4]
  wire [30:0] _T_1657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232634.4]
  wire  _T_1658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232635.4]
  wire  _T_3070; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234141.4]
  wire  _T_5935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237640.4]
  wire  _T_5936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237641.4]
  wire [30:0] _T_1672; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232651.4]
  wire  _T_3100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234171.4]
  wire  _T_6115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237879.4]
  wire  _T_6116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237880.4]
  wire  _T_1687; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232666.4]
  wire  _T_3102; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234173.4]
  wire  _T_6127; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237895.4]
  wire  _T_6128; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237896.4]
  wire  _T_1712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232694.4]
  wire  _T_3113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234184.4]
  wire  _T_6193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237983.4]
  wire  _T_6194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237984.4]
  wire  _T_1737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232722.4]
  wire  _T_3132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234203.4]
  wire  _T_6307; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238119.4]
  wire  _T_6308; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238120.4]
  wire [31:0] _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232762.4]
  wire  _T_3112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234183.4]
  wire  _T_6187; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237975.4]
  wire  _T_6188; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237976.4]
  wire  _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232804.4]
  wire  _T_3139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234210.4]
  wire  _T_6349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238175.4]
  wire  _T_6350; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238176.4]
  wire [31:0] _T_1847; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232844.4]
  wire  _T_3149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234220.4]
  wire  _T_6409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238255.4]
  wire  _T_6410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238256.4]
  wire [31:0] _T_1872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232871.4]
  wire  _T_3144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234215.4]
  wire  _T_6379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238215.4]
  wire  _T_6380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238216.4]
  wire [31:0] _T_1897; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232898.4]
  wire  _T_3075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234146.4]
  wire  _T_5965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237679.4]
  wire  _T_5966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237680.4]
  wire [31:0] _T_1922; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232925.4]
  wire  _T_3107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234178.4]
  wire  _T_6157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237935.4]
  wire  _T_6158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237936.4]
  wire  _T_1937; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232940.4]
  wire  _T_3134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234205.4]
  wire  _T_6319; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238135.4]
  wire  _T_6320; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238136.4]
  wire [31:0] _T_1972; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232980.4]
  wire  _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234142.4]
  wire  _T_5941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237648.4]
  wire  _T_5942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237649.4]
  wire  _T_3148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234219.4]
  wire  _T_6403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238247.4]
  wire  _T_6404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238248.4]
  wire [3:0] _T_2022; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233034.4]
  wire  _T_3103; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234174.4]
  wire  _T_6133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237903.4]
  wire  _T_6134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237904.4]
  wire  _T_2037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233049.4]
  wire  _T_3086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234157.4]
  wire  _T_6031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237775.4]
  wire  _T_6032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237776.4]
  wire [31:0] _T_2072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233089.4]
  wire  _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234206.4]
  wire  _T_6325; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238143.4]
  wire  _T_6326; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238144.4]
  wire [31:0] _T_2097; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233116.4]
  wire  _T_3084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234155.4]
  wire  _T_6019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237744.4]
  wire  _T_6020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237745.4]
  wire [3:0] _T_2122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233143.4]
  wire [4:0] _T_2148; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233169.4]
  wire [7:0] _T_2149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233170.4]
  wire [8:0] _T_2175; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233198.4]
  wire [9:0] _T_2202; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233227.4]
  wire [10:0] _T_2229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233256.4]
  wire [11:0] _T_2256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233283.4]
  wire [12:0] _T_2283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233312.4]
  wire [13:0] _T_2310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233341.4]
  wire [14:0] _T_2337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233368.4]
  wire [15:0] _T_2338; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233369.4]
  wire [16:0] _T_2364; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233397.4]
  wire [17:0] _T_2391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233424.4]
  wire [19:0] _T_2392; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233425.4]
  wire [20:0] _T_2418; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233453.4]
  wire [21:0] _T_2445; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233480.4]
  wire [23:0] _T_2446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233481.4]
  wire [24:0] _T_2472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233509.4]
  wire [25:0] _T_2499; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233536.4]
  wire [27:0] _T_2500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233537.4]
  wire [28:0] _T_2526; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233565.4]
  wire [29:0] _T_2553; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233592.4]
  wire [31:0] _T_2554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233593.4]
  wire  _T_3140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234211.4]
  wire  _T_6355; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238183.4]
  wire  _T_6356; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238184.4]
  wire [31:0] _T_2579; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233620.4]
  wire  _T_3111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234182.4]
  wire  _T_6181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237967.4]
  wire  _T_6182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237968.4]
  wire  _T_2594; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233635.4]
  wire  _T_3108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234179.4]
  wire  _T_6163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237943.4]
  wire  _T_6164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237944.4]
  wire  _T_2619; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233663.4]
  wire [15:0] _T_2661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233710.4]
  wire [15:0] _T_2664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233713.4]
  wire  _T_2665; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233714.4]
  wire  _T_3076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234147.4]
  wire  _T_5971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237687.4]
  wire  _T_5972; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237688.4]
  wire [15:0] _T_2679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233730.4]
  wire  _T_3143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234214.4]
  wire  _T_6373; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238207.4]
  wire  _T_6374; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238208.4]
  wire [31:0] _T_2704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233757.4]
  wire  _T_3150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234221.4]
  wire  _T_6415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238263.4]
  wire  _T_6416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238264.4]
  wire  _T_3104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234175.4]
  wire  _T_6139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237911.4]
  wire  _T_6140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237912.4]
  wire  _T_2744; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233799.4]
  wire  _T_3087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234158.4]
  wire  _T_6037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237783.4]
  wire  _T_6038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237784.4]
  wire [31:0] _T_2779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233839.4]
  wire  _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234143.4]
  wire  _T_5947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237656.4]
  wire  _T_5948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237657.4]
  wire [15:0] _T_2804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233866.4]
  wire  _T_3147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234218.4]
  wire  _T_6397; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238239.4]
  wire  _T_6398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238240.4]
  wire [31:0] _T_2829; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233893.4]
  wire  _T_3115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234186.4]
  wire  _T_6205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237999.4]
  wire  _T_6206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.4]
  wire  _T_2844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233908.4]
  wire  _T_3136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234207.4]
  wire  _T_6331; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238151.4]
  wire  _T_6332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238152.4]
  wire [31:0] _T_2879; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233948.4]
  wire  _T_3151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234222.4]
  wire  _T_6421; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238271.4]
  wire  _T_6422; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238272.4]
  wire [31:0] _T_2904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233975.4]
  wire  _T_6834; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238731.4]
  wire  _T_6835; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238736.6]
  wire  _T_6836; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238741.8]
  wire  _T_6837; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238746.10]
  wire  _T_6838; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238751.12]
  wire  _T_6839; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238756.14]
  wire  _T_6840; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238761.16]
  wire  _T_6841; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238766.18]
  wire  _T_6842; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238771.20]
  wire  _T_6843; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238776.22]
  wire  _T_6844; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238781.24]
  wire  _T_6845; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238786.26]
  wire  _T_6846; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238791.28]
  wire  _T_6847; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238796.30]
  wire  _T_6848; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238801.32]
  wire  _T_6849; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238806.34]
  wire  _T_6850; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238811.36]
  wire  _T_6851; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238816.38]
  wire  _T_6852; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238821.40]
  wire  _T_6853; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238826.42]
  wire  _T_6854; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238831.44]
  wire  _T_6855; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238836.46]
  wire  _T_6856; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238841.48]
  wire  _T_6857; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238846.50]
  wire  _T_6858; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238851.52]
  wire  _T_6859; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238856.54]
  wire  _T_6860; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238861.56]
  wire  _T_6861; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238866.58]
  wire  _T_6862; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238871.60]
  wire  _T_6863; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238876.62]
  wire  _T_6864; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238881.64]
  wire  _T_6865; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.66]
  wire  _T_6866; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238891.68]
  wire  _T_6867; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238896.70]
  wire  _T_6868; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238901.72]
  wire  _T_6869; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238906.74]
  wire  _T_6870; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238911.76]
  wire  _T_6871; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238916.78]
  wire  _T_6872; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238921.80]
  wire  _T_6873; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238926.82]
  wire  _T_6874; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238931.84]
  wire  _T_6875; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238936.86]
  wire  _T_6876; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238941.88]
  wire  _T_6877; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238946.90]
  wire  _T_6878; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238951.92]
  wire  _T_6879; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238956.94]
  wire  _T_6880; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.96]
  wire  _T_6881; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238966.98]
  wire  _T_6882; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238971.100]
  wire  _T_6883; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238976.102]
  wire  _GEN_528; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238977.102]
  wire  _GEN_529; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238972.100]
  wire  _GEN_530; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238967.98]
  wire  _GEN_531; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238962.96]
  wire  _GEN_532; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238957.94]
  wire  _GEN_533; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238952.92]
  wire  _GEN_534; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238947.90]
  wire  _GEN_535; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238942.88]
  wire  _GEN_536; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238937.86]
  wire  _GEN_537; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238932.84]
  wire  _GEN_538; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238927.82]
  wire  _GEN_539; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238922.80]
  wire  _GEN_540; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238917.78]
  wire  _GEN_541; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238912.76]
  wire  _GEN_542; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238907.74]
  wire  _GEN_543; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238902.72]
  wire  _GEN_544; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238897.70]
  wire  _GEN_545; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238892.68]
  wire  _GEN_546; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.66]
  wire  _GEN_547; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238882.64]
  wire  _GEN_548; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238877.62]
  wire  _GEN_549; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238872.60]
  wire  _GEN_550; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238867.58]
  wire  _GEN_551; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238862.56]
  wire  _GEN_552; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238857.54]
  wire  _GEN_553; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238852.52]
  wire  _GEN_554; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.50]
  wire  _GEN_555; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238842.48]
  wire  _GEN_556; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238837.46]
  wire  _GEN_557; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238832.44]
  wire  _GEN_558; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238827.42]
  wire  _GEN_559; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238822.40]
  wire  _GEN_560; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238817.38]
  wire  _GEN_561; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238812.36]
  wire  _GEN_562; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238807.34]
  wire  _GEN_563; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238802.32]
  wire  _GEN_564; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238797.30]
  wire  _GEN_565; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238792.28]
  wire  _GEN_566; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238787.26]
  wire  _GEN_567; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238782.24]
  wire  _GEN_568; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238777.22]
  wire  _GEN_569; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238772.20]
  wire  _GEN_570; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238767.18]
  wire  _GEN_571; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238762.16]
  wire  _GEN_572; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238757.14]
  wire  _GEN_573; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238752.12]
  wire  _GEN_574; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238747.10]
  wire  _GEN_575; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238742.8]
  wire  _GEN_576; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238737.6]
  wire  _GEN_577; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@238732.4]
  wire [31:0] _GEN_578; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239229.102]
  wire [31:0] _GEN_579; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239224.100]
  wire [31:0] _GEN_580; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239219.98]
  wire [31:0] _GEN_581; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239214.96]
  wire [31:0] _GEN_582; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239209.94]
  wire [31:0] _GEN_583; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239204.92]
  wire [31:0] _GEN_584; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239199.90]
  wire [31:0] _GEN_585; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239194.88]
  wire [31:0] _GEN_586; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239189.86]
  wire [31:0] _GEN_587; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239184.84]
  wire [31:0] _GEN_588; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239179.82]
  wire [31:0] _GEN_589; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239174.80]
  wire [31:0] _GEN_590; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239169.78]
  wire [31:0] _GEN_591; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239164.76]
  wire [31:0] _GEN_592; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239159.74]
  wire [31:0] _GEN_593; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239154.72]
  wire [31:0] _GEN_594; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239149.70]
  wire [31:0] _GEN_595; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239144.68]
  wire [31:0] _GEN_596; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239139.66]
  wire [31:0] _GEN_597; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.64]
  wire [31:0] _GEN_598; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239129.62]
  wire [31:0] _GEN_599; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239124.60]
  wire [31:0] _GEN_600; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239119.58]
  wire [31:0] _GEN_601; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239114.56]
  wire [31:0] _GEN_602; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239109.54]
  wire [31:0] _GEN_603; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239104.52]
  wire [31:0] _GEN_604; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239099.50]
  wire [31:0] _GEN_605; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239094.48]
  wire [31:0] _GEN_606; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239089.46]
  wire [31:0] _GEN_607; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239084.44]
  wire [31:0] _GEN_608; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239079.42]
  wire [31:0] _GEN_609; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239074.40]
  wire [31:0] _GEN_610; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239069.38]
  wire [31:0] _GEN_611; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239064.36]
  wire [31:0] _GEN_612; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239059.34]
  wire [31:0] _GEN_613; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239054.32]
  wire [31:0] _GEN_614; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239049.30]
  wire [31:0] _GEN_615; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239044.28]
  wire [31:0] _GEN_616; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239039.26]
  wire [31:0] _GEN_617; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239034.24]
  wire [31:0] _GEN_618; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239029.22]
  wire [31:0] _GEN_619; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239024.20]
  wire [31:0] _GEN_620; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239019.18]
  wire [31:0] _GEN_621; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239014.16]
  wire [31:0] _GEN_622; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239009.14]
  wire [31:0] _GEN_623; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239004.12]
  wire [31:0] _GEN_624; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238999.10]
  wire [31:0] _GEN_625; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238994.8]
  wire [31:0] _GEN_626; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238989.6]
  wire [31:0] _GEN_627; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@238984.4]
  wire [7:0] _T_297_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231555.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@239234.4]
  wire  _T_297_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231555.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238727.4]
  TLMonitor_60 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@231405.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@231446.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@231452.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@231463.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_14 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231560.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@231549.4]
  assign _T_309 = Queue_io_deq_bits_index & 10'h380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231572.4]
  assign _T_311 = _T_309 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231574.4]
  assign _T_777 = Queue_io_deq_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231696.4]
  assign _T_778 = Queue_io_deq_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231697.4]
  assign _T_779 = Queue_io_deq_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231698.4]
  assign _T_780 = Queue_io_deq_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@231699.4]
  assign _T_782 = _T_777 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231701.4]
  assign _T_784 = _T_778 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231703.4]
  assign _T_786 = _T_779 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231705.4]
  assign _T_788 = _T_780 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231707.4]
  assign _T_789 = {_T_784,_T_782}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231708.4]
  assign _T_790 = {_T_788,_T_786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231709.4]
  assign _T_791 = {_T_790,_T_789}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231710.4]
  assign _T_800 = ~ _T_791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231719.4]
  assign _T_801 = _T_800 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231720.4]
  assign _T_5011 = Queue_io_deq_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236492.4]
  assign _T_2928 = Queue_io_deq_bits_index[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233999.4]
  assign _T_2927 = Queue_io_deq_bits_index[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233998.4]
  assign _T_2935 = {_T_2928,_T_2927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234006.4]
  assign _T_2926 = Queue_io_deq_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233997.4]
  assign _T_2925 = Queue_io_deq_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233996.4]
  assign _T_2934 = {_T_2926,_T_2925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234005.4]
  assign _T_2936 = {_T_2935,_T_2934}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234007.4]
  assign _T_2924 = Queue_io_deq_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233995.4]
  assign _T_2923 = Queue_io_deq_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233994.4]
  assign _T_2932 = {_T_2924,_T_2923}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234003.4]
  assign _T_2922 = Queue_io_deq_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233993.4]
  assign _T_2933 = {_T_2932,_T_2922}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234004.4]
  assign _T_2937 = {_T_2936,_T_2933}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@234008.4]
  assign _T_3067 = 128'h1 << _T_2937; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@234138.4]
  assign _T_3137 = _T_3067[69]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234208.4]
  assign _T_5919 = Queue_io_deq_bits_read == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237605.4]
  assign _T_5920 = _T_5011 & _T_5919; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237606.4]
  assign _T_6337 = _T_5920 & _T_3137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238159.4]
  assign _T_6338 = _T_6337 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238160.4]
  assign _T_806 = Queue_io_deq_bits_data; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231725.4]
  assign _T_815 = pmu_io_regs_wakeupProgram_5_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231736.4]
  assign _T_822 = _T_791[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231743.4]
  assign _T_825 = ~ _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231746.4]
  assign _T_826 = _T_825 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231747.4]
  assign _T_3068 = _T_3067[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234139.4]
  assign _T_5923 = _T_5920 & _T_3068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237609.4]
  assign _T_5924 = _T_5923 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237610.4]
  assign _T_840 = wdog_io_regs_cfg_read_scale; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231763.4]
  assign _T_866 = {1'h0,_T_840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231789.4]
  assign _T_867 = {{3'd0}, _T_866}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231790.4]
  assign _T_874 = _T_791[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231797.4]
  assign _T_877 = ~ _T_874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231800.4]
  assign _T_878 = _T_877 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231801.4]
  assign _T_893 = {wdog_io_regs_cfg_read_sticky,_T_867}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231818.4]
  assign _T_901 = _T_791[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231826.4]
  assign _T_904 = ~ _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231829.4]
  assign _T_905 = _T_904 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231830.4]
  assign _T_920 = {1'h0,_T_893}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231847.4]
  assign _T_928 = _T_791[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231855.4]
  assign _T_931 = ~ _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231858.4]
  assign _T_932 = _T_931 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231859.4]
  assign _T_947 = {wdog_io_regs_cfg_read_deglitch,_T_920}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231876.4]
  assign _T_974 = {1'h0,_T_947}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231903.4]
  assign _T_982 = _T_791[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231911.4]
  assign _T_985 = ~ _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231914.4]
  assign _T_986 = _T_985 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231915.4]
  assign _T_1001 = {wdog_io_regs_cfg_read_countAlways,_T_974}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231932.4]
  assign _T_1009 = _T_791[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231940.4]
  assign _T_1012 = ~ _T_1009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231943.4]
  assign _T_1013 = _T_1012 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231944.4]
  assign _T_1028 = {wdog_io_regs_cfg_read_running,_T_1001}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231961.4]
  assign _T_1055 = {1'h0,_T_1028}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@231988.4]
  assign _T_1056 = {{1'd0}, _T_1055}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231989.4]
  assign _T_1063 = _T_791[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231996.4]
  assign _T_1066 = ~ _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231999.4]
  assign _T_1067 = _T_1066 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232000.4]
  assign _T_1082 = {1'h0,_T_1056}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232017.4]
  assign _T_1109 = {1'h0,_T_1082}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232044.4]
  assign _T_1110 = {{2'd0}, _T_1109}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232045.4]
  assign _T_1117 = _T_791[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232052.4]
  assign _T_1120 = ~ _T_1117; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232055.4]
  assign _T_1121 = _T_1120 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232056.4]
  assign _T_1136 = {1'h0,_T_1110}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232073.4]
  assign _T_1163 = {1'h0,_T_1136}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232100.4]
  assign _T_1164 = {{2'd0}, _T_1163}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232101.4]
  assign _T_1171 = _T_791[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232108.4]
  assign _T_1174 = ~ _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232111.4]
  assign _T_1175 = _T_1174 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232112.4]
  assign _T_1190 = {1'h0,_T_1164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232129.4]
  assign _T_1217 = {1'h0,_T_1190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232156.4]
  assign _T_1218 = {{2'd0}, _T_1217}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232157.4]
  assign _T_1225 = _T_791[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232164.4]
  assign _T_1228 = ~ _T_1225; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232167.4]
  assign _T_1229 = _T_1228 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232168.4]
  assign _T_1244 = {wdog_io_regs_cfg_read_ip_0,_T_1218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232185.4]
  assign _T_1271 = {1'h0,_T_1244}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@232212.4]
  assign _T_1272 = {{2'd0}, _T_1271}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232213.4]
  assign _T_3110 = _T_3067[42]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234181.4]
  assign _T_6175 = _T_5920 & _T_3110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237959.4]
  assign _T_6176 = _T_6175 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237960.4]
  assign _T_1287 = _T_6176 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232228.4]
  assign _T_3092 = _T_3067[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234163.4]
  assign _T_6067 = _T_5920 & _T_3092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237822.4]
  assign _T_6068 = _T_6067 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237823.4]
  assign _T_1322 = rtc_io_regs_cmp_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232268.4]
  assign _T_3105 = _T_3067[37]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234176.4]
  assign _T_6145 = _T_5920 & _T_3105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237919.4]
  assign _T_6146 = _T_6145 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237920.4]
  assign _T_1337 = _T_6146 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232283.4]
  assign _T_1372 = rtc_io_regs_s_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232323.4]
  assign _T_3114 = _T_3067[46]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234185.4]
  assign _T_6199 = _T_5920 & _T_3114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237991.4]
  assign _T_6200 = _T_6199 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237992.4]
  assign _T_1387 = _T_6200 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232338.4]
  assign _T_3146 = _T_3067[78]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234217.4]
  assign _T_6391 = _T_5920 & _T_3146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238231.4]
  assign _T_6392 = _T_6391 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238232.4]
  assign _T_1422 = pmu_io_regs_sleepProgram_6_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232378.4]
  assign _T_3142 = _T_3067[74]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234213.4]
  assign _T_6367 = _T_5920 & _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238199.4]
  assign _T_6368 = _T_6367 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238200.4]
  assign _T_1447 = pmu_io_regs_sleepProgram_2_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232405.4]
  assign _T_3074 = _T_3067[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234145.4]
  assign _T_5959 = _T_5920 & _T_3074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237671.4]
  assign _T_5960 = _T_5959 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237672.4]
  assign _T_3106 = _T_3067[38]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234177.4]
  assign _T_6151 = _T_5920 & _T_3106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237927.4]
  assign _T_6152 = _T_6151 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237928.4]
  assign _T_1487 = _T_6152 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232447.4]
  assign _T_3138 = _T_3067[70]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234209.4]
  assign _T_6343 = _T_5920 & _T_3138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238167.4]
  assign _T_6344 = _T_6343 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238168.4]
  assign _T_1522 = pmu_io_regs_wakeupProgram_6_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232487.4]
  assign _T_3101 = _T_3067[33]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234172.4]
  assign _T_6121 = _T_5920 & _T_3101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237887.4]
  assign _T_6122 = _T_6121 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237888.4]
  assign _T_1537 = _T_6122 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232502.4]
  assign _T_3133 = _T_3067[65]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234204.4]
  assign _T_6313 = _T_5920 & _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238127.4]
  assign _T_6314 = _T_6313 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238128.4]
  assign _T_1572 = pmu_io_regs_wakeupProgram_1_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232542.4]
  assign _T_3145 = _T_3067[77]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234216.4]
  assign _T_6385 = _T_5920 & _T_3145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238223.4]
  assign _T_6386 = _T_6385 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238224.4]
  assign _T_1597 = pmu_io_regs_sleepProgram_5_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232569.4]
  assign _T_3109 = _T_3067[41]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234180.4]
  assign _T_6169 = _T_5920 & _T_3109; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237951.4]
  assign _T_6170 = _T_6169 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237952.4]
  assign _T_1612 = _T_6170 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232584.4]
  assign _T_3141 = _T_3067[73]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234212.4]
  assign _T_6361 = _T_5920 & _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238191.4]
  assign _T_6362 = _T_6361 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238192.4]
  assign _T_1647 = pmu_io_regs_sleepProgram_1_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232624.4]
  assign _T_1654 = _T_791[30:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232631.4]
  assign _T_1657 = ~ _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232634.4]
  assign _T_1658 = _T_1657 == 31'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232635.4]
  assign _T_3070 = _T_3067[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234141.4]
  assign _T_5935 = _T_5920 & _T_3070; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237640.4]
  assign _T_5936 = _T_5935 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237641.4]
  assign _T_1672 = wdog_io_regs_countLo_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232651.4]
  assign _T_3100 = _T_3067[32]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234171.4]
  assign _T_6115 = _T_5920 & _T_3100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237879.4]
  assign _T_6116 = _T_6115 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237880.4]
  assign _T_1687 = _T_6116 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232666.4]
  assign _T_3102 = _T_3067[34]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234173.4]
  assign _T_6127 = _T_5920 & _T_3102; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237895.4]
  assign _T_6128 = _T_6127 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237896.4]
  assign _T_1712 = _T_6128 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232694.4]
  assign _T_3113 = _T_3067[45]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234184.4]
  assign _T_6193 = _T_5920 & _T_3113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237983.4]
  assign _T_6194 = _T_6193 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237984.4]
  assign _T_1737 = _T_6194 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232722.4]
  assign _T_3132 = _T_3067[64]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234203.4]
  assign _T_6307 = _T_5920 & _T_3132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238119.4]
  assign _T_6308 = _T_6307 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238120.4]
  assign _T_1772 = pmu_io_regs_wakeupProgram_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232762.4]
  assign _T_3112 = _T_3067[44]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234183.4]
  assign _T_6187 = _T_5920 & _T_3112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237975.4]
  assign _T_6188 = _T_6187 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237976.4]
  assign _T_1812 = _T_6188 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232804.4]
  assign _T_3139 = _T_3067[71]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234210.4]
  assign _T_6349 = _T_5920 & _T_3139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238175.4]
  assign _T_6350 = _T_6349 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238176.4]
  assign _T_1847 = pmu_io_regs_wakeupProgram_7_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232844.4]
  assign _T_3149 = _T_3067[81]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234220.4]
  assign _T_6409 = _T_5920 & _T_3149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238255.4]
  assign _T_6410 = _T_6409 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238256.4]
  assign _T_1872 = pmu_io_regs_cause_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232871.4]
  assign _T_3144 = _T_3067[76]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234215.4]
  assign _T_6379 = _T_5920 & _T_3144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238215.4]
  assign _T_6380 = _T_6379 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238216.4]
  assign _T_1897 = pmu_io_regs_sleepProgram_4_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232898.4]
  assign _T_3075 = _T_3067[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234146.4]
  assign _T_5965 = _T_5920 & _T_3075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237679.4]
  assign _T_5966 = _T_5965 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237680.4]
  assign _T_1922 = wdog_io_regs_key_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232925.4]
  assign _T_3107 = _T_3067[39]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234178.4]
  assign _T_6157 = _T_5920 & _T_3107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237935.4]
  assign _T_6158 = _T_6157 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237936.4]
  assign _T_1937 = _T_6158 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232940.4]
  assign _T_3134 = _T_3067[66]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234205.4]
  assign _T_6319 = _T_5920 & _T_3134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238135.4]
  assign _T_6320 = _T_6319 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238136.4]
  assign _T_1972 = pmu_io_regs_wakeupProgram_2_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232980.4]
  assign _T_3071 = _T_3067[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234142.4]
  assign _T_5941 = _T_5920 & _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237648.4]
  assign _T_5942 = _T_5941 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237649.4]
  assign _T_3148 = _T_3067[80]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234219.4]
  assign _T_6403 = _T_5920 & _T_3148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238247.4]
  assign _T_6404 = _T_6403 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238248.4]
  assign _T_2022 = pmu_io_regs_ie_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233034.4]
  assign _T_3103 = _T_3067[35]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234174.4]
  assign _T_6133 = _T_5920 & _T_3103; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237903.4]
  assign _T_6134 = _T_6133 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237904.4]
  assign _T_2037 = _T_6134 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233049.4]
  assign _T_3086 = _T_3067[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234157.4]
  assign _T_6031 = _T_5920 & _T_3086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237775.4]
  assign _T_6032 = _T_6031 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237776.4]
  assign _T_2072 = rtc_io_regs_countLo_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233089.4]
  assign _T_3135 = _T_3067[67]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234206.4]
  assign _T_6325 = _T_5920 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238143.4]
  assign _T_6326 = _T_6325 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238144.4]
  assign _T_2097 = pmu_io_regs_wakeupProgram_3_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233116.4]
  assign _T_3084 = _T_3067[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234155.4]
  assign _T_6019 = _T_5920 & _T_3084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237744.4]
  assign _T_6020 = _T_6019 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237745.4]
  assign _T_2122 = rtc_io_regs_cfg_read_scale; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233143.4]
  assign _T_2148 = {1'h0,_T_2122}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233169.4]
  assign _T_2149 = {{3'd0}, _T_2148}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233170.4]
  assign _T_2175 = {1'h0,_T_2149}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233198.4]
  assign _T_2202 = {1'h0,_T_2175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233227.4]
  assign _T_2229 = {1'h0,_T_2202}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233256.4]
  assign _T_2256 = {1'h0,_T_2229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233283.4]
  assign _T_2283 = {rtc_io_regs_cfg_read_countAlways,_T_2256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233312.4]
  assign _T_2310 = {1'h0,_T_2283}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233341.4]
  assign _T_2337 = {1'h0,_T_2310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233368.4]
  assign _T_2338 = {{1'd0}, _T_2337}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233369.4]
  assign _T_2364 = {1'h0,_T_2338}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233397.4]
  assign _T_2391 = {1'h0,_T_2364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233424.4]
  assign _T_2392 = {{2'd0}, _T_2391}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233425.4]
  assign _T_2418 = {1'h0,_T_2392}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233453.4]
  assign _T_2445 = {1'h0,_T_2418}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233480.4]
  assign _T_2446 = {{2'd0}, _T_2445}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233481.4]
  assign _T_2472 = {1'h0,_T_2446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233509.4]
  assign _T_2499 = {1'h0,_T_2472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233536.4]
  assign _T_2500 = {{2'd0}, _T_2499}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233537.4]
  assign _T_2526 = {rtc_io_regs_cfg_read_ip_0,_T_2500}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233565.4]
  assign _T_2553 = {1'h0,_T_2526}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233592.4]
  assign _T_2554 = {{2'd0}, _T_2553}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233593.4]
  assign _T_3140 = _T_3067[72]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234211.4]
  assign _T_6355 = _T_5920 & _T_3140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238183.4]
  assign _T_6356 = _T_6355 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238184.4]
  assign _T_2579 = pmu_io_regs_sleepProgram_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233620.4]
  assign _T_3111 = _T_3067[43]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234182.4]
  assign _T_6181 = _T_5920 & _T_3111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237967.4]
  assign _T_6182 = _T_6181 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237968.4]
  assign _T_2594 = _T_6182 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233635.4]
  assign _T_3108 = _T_3067[40]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234179.4]
  assign _T_6163 = _T_5920 & _T_3108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237943.4]
  assign _T_6164 = _T_6163 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237944.4]
  assign _T_2619 = _T_6164 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233663.4]
  assign _T_2661 = _T_791[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233710.4]
  assign _T_2664 = ~ _T_2661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233713.4]
  assign _T_2665 = _T_2664 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233714.4]
  assign _T_3076 = _T_3067[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234147.4]
  assign _T_5971 = _T_5920 & _T_3076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237687.4]
  assign _T_5972 = _T_5971 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237688.4]
  assign _T_2679 = wdog_io_regs_cmp_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233730.4]
  assign _T_3143 = _T_3067[75]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234214.4]
  assign _T_6373 = _T_5920 & _T_3143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238207.4]
  assign _T_6374 = _T_6373 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238208.4]
  assign _T_2704 = pmu_io_regs_sleepProgram_3_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233757.4]
  assign _T_3150 = _T_3067[82]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234221.4]
  assign _T_6415 = _T_5920 & _T_3150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238263.4]
  assign _T_6416 = _T_6415 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238264.4]
  assign _T_3104 = _T_3067[36]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234175.4]
  assign _T_6139 = _T_5920 & _T_3104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237911.4]
  assign _T_6140 = _T_6139 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237912.4]
  assign _T_2744 = _T_6140 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233799.4]
  assign _T_3087 = _T_3067[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234158.4]
  assign _T_6037 = _T_5920 & _T_3087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237783.4]
  assign _T_6038 = _T_6037 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237784.4]
  assign _T_2779 = rtc_io_regs_countHi_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233839.4]
  assign _T_3072 = _T_3067[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234143.4]
  assign _T_5947 = _T_5920 & _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237656.4]
  assign _T_5948 = _T_5947 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237657.4]
  assign _T_2804 = wdog_io_regs_s_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233866.4]
  assign _T_3147 = _T_3067[79]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234218.4]
  assign _T_6397 = _T_5920 & _T_3147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238239.4]
  assign _T_6398 = _T_6397 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238240.4]
  assign _T_2829 = pmu_io_regs_sleepProgram_7_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233893.4]
  assign _T_3115 = _T_3067[47]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234186.4]
  assign _T_6205 = _T_5920 & _T_3115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237999.4]
  assign _T_6206 = _T_6205 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.4]
  assign _T_2844 = _T_6206 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233908.4]
  assign _T_3136 = _T_3067[68]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234207.4]
  assign _T_6331 = _T_5920 & _T_3136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238151.4]
  assign _T_6332 = _T_6331 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238152.4]
  assign _T_2879 = pmu_io_regs_wakeupProgram_4_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233948.4]
  assign _T_3151 = _T_3067[83]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@234222.4]
  assign _T_6421 = _T_5920 & _T_3151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238271.4]
  assign _T_6422 = _T_6421 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238272.4]
  assign _T_2904 = pmu_io_regs_key_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233975.4]
  assign _T_6834 = 7'h0 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238731.4]
  assign _T_6835 = 7'h2 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238736.6]
  assign _T_6836 = 7'h3 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238741.8]
  assign _T_6837 = 7'h4 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238746.10]
  assign _T_6838 = 7'h6 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238751.12]
  assign _T_6839 = 7'h7 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238756.14]
  assign _T_6840 = 7'h8 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238761.16]
  assign _T_6841 = 7'h10 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238766.18]
  assign _T_6842 = 7'h12 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238771.20]
  assign _T_6843 = 7'h13 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238776.22]
  assign _T_6844 = 7'h14 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238781.24]
  assign _T_6845 = 7'h16 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238786.26]
  assign _T_6846 = 7'h17 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238791.28]
  assign _T_6847 = 7'h18 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238796.30]
  assign _T_6848 = 7'h20 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238801.32]
  assign _T_6849 = 7'h21 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238806.34]
  assign _T_6850 = 7'h22 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238811.36]
  assign _T_6851 = 7'h23 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238816.38]
  assign _T_6852 = 7'h24 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238821.40]
  assign _T_6853 = 7'h25 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238826.42]
  assign _T_6854 = 7'h26 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238831.44]
  assign _T_6855 = 7'h27 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238836.46]
  assign _T_6856 = 7'h28 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238841.48]
  assign _T_6857 = 7'h29 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238846.50]
  assign _T_6858 = 7'h2a == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238851.52]
  assign _T_6859 = 7'h2b == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238856.54]
  assign _T_6860 = 7'h2c == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238861.56]
  assign _T_6861 = 7'h2d == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238866.58]
  assign _T_6862 = 7'h2e == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238871.60]
  assign _T_6863 = 7'h2f == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238876.62]
  assign _T_6864 = 7'h40 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238881.64]
  assign _T_6865 = 7'h41 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.66]
  assign _T_6866 = 7'h42 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238891.68]
  assign _T_6867 = 7'h43 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238896.70]
  assign _T_6868 = 7'h44 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238901.72]
  assign _T_6869 = 7'h45 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238906.74]
  assign _T_6870 = 7'h46 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238911.76]
  assign _T_6871 = 7'h47 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238916.78]
  assign _T_6872 = 7'h48 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238921.80]
  assign _T_6873 = 7'h49 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238926.82]
  assign _T_6874 = 7'h4a == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238931.84]
  assign _T_6875 = 7'h4b == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238936.86]
  assign _T_6876 = 7'h4c == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238941.88]
  assign _T_6877 = 7'h4d == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238946.90]
  assign _T_6878 = 7'h4e == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238951.92]
  assign _T_6879 = 7'h4f == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238956.94]
  assign _T_6880 = 7'h50 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.96]
  assign _T_6881 = 7'h51 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238966.98]
  assign _T_6882 = 7'h52 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238971.100]
  assign _T_6883 = 7'h53 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238976.102]
  assign _GEN_528 = _T_6883 ? _T_311 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238977.102]
  assign _GEN_529 = _T_6882 ? _T_311 : _GEN_528; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238972.100]
  assign _GEN_530 = _T_6881 ? _T_311 : _GEN_529; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238967.98]
  assign _GEN_531 = _T_6880 ? _T_311 : _GEN_530; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238962.96]
  assign _GEN_532 = _T_6879 ? _T_311 : _GEN_531; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238957.94]
  assign _GEN_533 = _T_6878 ? _T_311 : _GEN_532; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238952.92]
  assign _GEN_534 = _T_6877 ? _T_311 : _GEN_533; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238947.90]
  assign _GEN_535 = _T_6876 ? _T_311 : _GEN_534; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238942.88]
  assign _GEN_536 = _T_6875 ? _T_311 : _GEN_535; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238937.86]
  assign _GEN_537 = _T_6874 ? _T_311 : _GEN_536; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238932.84]
  assign _GEN_538 = _T_6873 ? _T_311 : _GEN_537; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238927.82]
  assign _GEN_539 = _T_6872 ? _T_311 : _GEN_538; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238922.80]
  assign _GEN_540 = _T_6871 ? _T_311 : _GEN_539; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238917.78]
  assign _GEN_541 = _T_6870 ? _T_311 : _GEN_540; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238912.76]
  assign _GEN_542 = _T_6869 ? _T_311 : _GEN_541; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238907.74]
  assign _GEN_543 = _T_6868 ? _T_311 : _GEN_542; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238902.72]
  assign _GEN_544 = _T_6867 ? _T_311 : _GEN_543; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238897.70]
  assign _GEN_545 = _T_6866 ? _T_311 : _GEN_544; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238892.68]
  assign _GEN_546 = _T_6865 ? _T_311 : _GEN_545; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.66]
  assign _GEN_547 = _T_6864 ? _T_311 : _GEN_546; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238882.64]
  assign _GEN_548 = _T_6863 ? _T_311 : _GEN_547; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238877.62]
  assign _GEN_549 = _T_6862 ? _T_311 : _GEN_548; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238872.60]
  assign _GEN_550 = _T_6861 ? _T_311 : _GEN_549; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238867.58]
  assign _GEN_551 = _T_6860 ? _T_311 : _GEN_550; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238862.56]
  assign _GEN_552 = _T_6859 ? _T_311 : _GEN_551; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238857.54]
  assign _GEN_553 = _T_6858 ? _T_311 : _GEN_552; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238852.52]
  assign _GEN_554 = _T_6857 ? _T_311 : _GEN_553; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.50]
  assign _GEN_555 = _T_6856 ? _T_311 : _GEN_554; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238842.48]
  assign _GEN_556 = _T_6855 ? _T_311 : _GEN_555; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238837.46]
  assign _GEN_557 = _T_6854 ? _T_311 : _GEN_556; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238832.44]
  assign _GEN_558 = _T_6853 ? _T_311 : _GEN_557; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238827.42]
  assign _GEN_559 = _T_6852 ? _T_311 : _GEN_558; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238822.40]
  assign _GEN_560 = _T_6851 ? _T_311 : _GEN_559; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238817.38]
  assign _GEN_561 = _T_6850 ? _T_311 : _GEN_560; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238812.36]
  assign _GEN_562 = _T_6849 ? _T_311 : _GEN_561; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238807.34]
  assign _GEN_563 = _T_6848 ? _T_311 : _GEN_562; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238802.32]
  assign _GEN_564 = _T_6847 ? _T_311 : _GEN_563; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238797.30]
  assign _GEN_565 = _T_6846 ? _T_311 : _GEN_564; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238792.28]
  assign _GEN_566 = _T_6845 ? _T_311 : _GEN_565; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238787.26]
  assign _GEN_567 = _T_6844 ? _T_311 : _GEN_566; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238782.24]
  assign _GEN_568 = _T_6843 ? _T_311 : _GEN_567; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238777.22]
  assign _GEN_569 = _T_6842 ? _T_311 : _GEN_568; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238772.20]
  assign _GEN_570 = _T_6841 ? _T_311 : _GEN_569; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238767.18]
  assign _GEN_571 = _T_6840 ? _T_311 : _GEN_570; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238762.16]
  assign _GEN_572 = _T_6839 ? _T_311 : _GEN_571; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238757.14]
  assign _GEN_573 = _T_6838 ? _T_311 : _GEN_572; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238752.12]
  assign _GEN_574 = _T_6837 ? _T_311 : _GEN_573; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238747.10]
  assign _GEN_575 = _T_6836 ? _T_311 : _GEN_574; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238742.8]
  assign _GEN_576 = _T_6835 ? _T_311 : _GEN_575; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238737.6]
  assign _GEN_577 = _T_6834 ? _T_311 : _GEN_576; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@238732.4]
  assign _GEN_578 = _T_6883 ? _T_2904 : 32'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239229.102]
  assign _GEN_579 = _T_6882 ? 32'h0 : _GEN_578; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239224.100]
  assign _GEN_580 = _T_6881 ? _T_1872 : _GEN_579; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239219.98]
  assign _GEN_581 = _T_6880 ? {{28'd0}, _T_2022} : _GEN_580; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239214.96]
  assign _GEN_582 = _T_6879 ? _T_2829 : _GEN_581; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239209.94]
  assign _GEN_583 = _T_6878 ? _T_1422 : _GEN_582; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239204.92]
  assign _GEN_584 = _T_6877 ? _T_1597 : _GEN_583; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239199.90]
  assign _GEN_585 = _T_6876 ? _T_1897 : _GEN_584; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239194.88]
  assign _GEN_586 = _T_6875 ? _T_2704 : _GEN_585; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239189.86]
  assign _GEN_587 = _T_6874 ? _T_1447 : _GEN_586; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239184.84]
  assign _GEN_588 = _T_6873 ? _T_1647 : _GEN_587; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239179.82]
  assign _GEN_589 = _T_6872 ? _T_2579 : _GEN_588; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239174.80]
  assign _GEN_590 = _T_6871 ? _T_1847 : _GEN_589; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239169.78]
  assign _GEN_591 = _T_6870 ? _T_1522 : _GEN_590; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239164.76]
  assign _GEN_592 = _T_6869 ? _T_815 : _GEN_591; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239159.74]
  assign _GEN_593 = _T_6868 ? _T_2879 : _GEN_592; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239154.72]
  assign _GEN_594 = _T_6867 ? _T_2097 : _GEN_593; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239149.70]
  assign _GEN_595 = _T_6866 ? _T_1972 : _GEN_594; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239144.68]
  assign _GEN_596 = _T_6865 ? _T_1572 : _GEN_595; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239139.66]
  assign _GEN_597 = _T_6864 ? _T_1772 : _GEN_596; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.64]
  assign _GEN_598 = _T_6863 ? backupRegs_15 : _GEN_597; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239129.62]
  assign _GEN_599 = _T_6862 ? backupRegs_14 : _GEN_598; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239124.60]
  assign _GEN_600 = _T_6861 ? backupRegs_13 : _GEN_599; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239119.58]
  assign _GEN_601 = _T_6860 ? backupRegs_12 : _GEN_600; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239114.56]
  assign _GEN_602 = _T_6859 ? backupRegs_11 : _GEN_601; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239109.54]
  assign _GEN_603 = _T_6858 ? backupRegs_10 : _GEN_602; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239104.52]
  assign _GEN_604 = _T_6857 ? backupRegs_9 : _GEN_603; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239099.50]
  assign _GEN_605 = _T_6856 ? backupRegs_8 : _GEN_604; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239094.48]
  assign _GEN_606 = _T_6855 ? backupRegs_7 : _GEN_605; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239089.46]
  assign _GEN_607 = _T_6854 ? backupRegs_6 : _GEN_606; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239084.44]
  assign _GEN_608 = _T_6853 ? backupRegs_5 : _GEN_607; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239079.42]
  assign _GEN_609 = _T_6852 ? backupRegs_4 : _GEN_608; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239074.40]
  assign _GEN_610 = _T_6851 ? backupRegs_3 : _GEN_609; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239069.38]
  assign _GEN_611 = _T_6850 ? backupRegs_2 : _GEN_610; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239064.36]
  assign _GEN_612 = _T_6849 ? backupRegs_1 : _GEN_611; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239059.34]
  assign _GEN_613 = _T_6848 ? backupRegs_0 : _GEN_612; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239054.32]
  assign _GEN_614 = _T_6847 ? _T_1322 : _GEN_613; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239049.30]
  assign _GEN_615 = _T_6846 ? 32'h1 : _GEN_614; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239044.28]
  assign _GEN_616 = _T_6845 ? 32'h0 : _GEN_615; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239039.26]
  assign _GEN_617 = _T_6844 ? _T_1372 : _GEN_616; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239034.24]
  assign _GEN_618 = _T_6843 ? _T_2779 : _GEN_617; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239029.22]
  assign _GEN_619 = _T_6842 ? _T_2072 : _GEN_618; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239024.20]
  assign _GEN_620 = _T_6841 ? _T_2554 : _GEN_619; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239019.18]
  assign _GEN_621 = _T_6840 ? {{16'd0}, _T_2679} : _GEN_620; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239014.16]
  assign _GEN_622 = _T_6839 ? _T_1922 : _GEN_621; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239009.14]
  assign _GEN_623 = _T_6838 ? 32'h0 : _GEN_622; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239004.12]
  assign _GEN_624 = _T_6837 ? {{16'd0}, _T_2804} : _GEN_623; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238999.10]
  assign _GEN_625 = _T_6836 ? 32'h0 : _GEN_624; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238994.8]
  assign _GEN_626 = _T_6835 ? {{1'd0}, _T_1672} : _GEN_625; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@238989.6]
  assign _GEN_627 = _T_6834 ? _T_1272 : _GEN_626; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@238984.4]
  assign _T_297_bits_extra = Queue_io_deq_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231555.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@239234.4]
  assign _T_297_bits_read = Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231555.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238727.4]
  assign auto_int_out_0 = wdog_io_ip_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@231445.4]
  assign auto_int_out_1 = rtc_io_ip_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@231445.4]
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@231444.4]
  assign auto_in_d_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@231444.4]
  assign auto_in_d_bits_opcode = {{2'd0}, _T_297_bits_read}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@231444.4]
  assign auto_in_d_bits_size = _T_297_bits_extra[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@231444.4]
  assign auto_in_d_bits_source = _T_297_bits_extra[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@231444.4]
  assign auto_in_d_bits_data = _GEN_577 ? _GEN_627 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@231444.4]
  assign io_moff_corerst = pmu_io_control_corerst; // @[MockAON.scala 64:11:shc.marmotcaravel.MarmotCaravelConfig.fir@231456.4]
  assign io_wdog_rst = wdog_io_rst; // @[MockAON.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@231469.4]
  assign io_lfclk = io_lfextclk; // @[MockAON.scala 84:12:shc.marmotcaravel.MarmotCaravelConfig.fir@231472.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231407.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231408.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_d_valid = Queue_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_297_bits_read}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_d_bits_size = _T_297_bits_extra[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign TLMonitor_io_in_d_bits_source = _T_297_bits_extra[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231441.4]
  assign rtc_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231450.4]
  assign rtc_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231451.4]
  assign rtc_io_regs_cfg_write__countAlways = Queue_io_deq_bits_data[12]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@233302.4]
  assign rtc_io_regs_cfg_write__scale = Queue_io_deq_bits_data[3:0]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@233134.4]
  assign rtc_io_regs_cfg_write_countAlways = _T_6020 & _T_986; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@233301.4]
  assign rtc_io_regs_cfg_write_scale = _T_6020 & _T_826; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@233133.4]
  assign rtc_io_regs_countLo_write_valid = _T_6032 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233079.4]
  assign rtc_io_regs_countLo_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233080.4]
  assign rtc_io_regs_countHi_write_valid = _T_6038 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233829.4]
  assign rtc_io_regs_countHi_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233830.4]
  assign rtc_io_regs_cmp_0_write_valid = _T_6068 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232258.4]
  assign rtc_io_regs_cmp_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232259.4]
  assign pmu_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231454.4]
  assign pmu_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231455.4]
  assign pmu_io_wakeup_rtc = rtc_io_ip_0; // @[MockAON.scala 68:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231460.4]
  assign pmu_io_regs_ie_write_valid = _T_6404 & _T_826; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233024.4]
  assign pmu_io_regs_ie_write_bits = Queue_io_deq_bits_data[3:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233025.4]
  assign pmu_io_regs_cause_write_valid = _T_6410 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232861.4]
  assign pmu_io_regs_sleep_write_valid = _T_6416 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233774.4]
  assign pmu_io_regs_key_write_valid = _T_6422 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233965.4]
  assign pmu_io_regs_key_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233966.4]
  assign pmu_io_regs_wakeupProgram_0_write_valid = _T_6308 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232752.4]
  assign pmu_io_regs_wakeupProgram_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232753.4]
  assign pmu_io_regs_wakeupProgram_1_write_valid = _T_6314 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232532.4]
  assign pmu_io_regs_wakeupProgram_1_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232533.4]
  assign pmu_io_regs_wakeupProgram_2_write_valid = _T_6320 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232970.4]
  assign pmu_io_regs_wakeupProgram_2_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232971.4]
  assign pmu_io_regs_wakeupProgram_3_write_valid = _T_6326 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233106.4]
  assign pmu_io_regs_wakeupProgram_3_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233107.4]
  assign pmu_io_regs_wakeupProgram_4_write_valid = _T_6332 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233938.4]
  assign pmu_io_regs_wakeupProgram_4_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233939.4]
  assign pmu_io_regs_wakeupProgram_5_write_valid = _T_6338 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231726.4]
  assign pmu_io_regs_wakeupProgram_5_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@231727.4]
  assign pmu_io_regs_wakeupProgram_6_write_valid = _T_6344 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232477.4]
  assign pmu_io_regs_wakeupProgram_6_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232478.4]
  assign pmu_io_regs_wakeupProgram_7_write_valid = _T_6350 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232834.4]
  assign pmu_io_regs_wakeupProgram_7_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232835.4]
  assign pmu_io_regs_sleepProgram_0_write_valid = _T_6356 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233610.4]
  assign pmu_io_regs_sleepProgram_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233611.4]
  assign pmu_io_regs_sleepProgram_1_write_valid = _T_6362 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232614.4]
  assign pmu_io_regs_sleepProgram_1_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232615.4]
  assign pmu_io_regs_sleepProgram_2_write_valid = _T_6368 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232395.4]
  assign pmu_io_regs_sleepProgram_2_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232396.4]
  assign pmu_io_regs_sleepProgram_3_write_valid = _T_6374 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233747.4]
  assign pmu_io_regs_sleepProgram_3_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233748.4]
  assign pmu_io_regs_sleepProgram_4_write_valid = _T_6380 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232888.4]
  assign pmu_io_regs_sleepProgram_4_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232889.4]
  assign pmu_io_regs_sleepProgram_5_write_valid = _T_6386 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232559.4]
  assign pmu_io_regs_sleepProgram_5_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232560.4]
  assign pmu_io_regs_sleepProgram_6_write_valid = _T_6392 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232368.4]
  assign pmu_io_regs_sleepProgram_6_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232369.4]
  assign pmu_io_regs_sleepProgram_7_write_valid = _T_6398 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233883.4]
  assign pmu_io_regs_sleepProgram_7_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233884.4]
  assign pmu_io_resetCauses_wdogrst = io_resetCauses_wdogrst; // @[MockAON.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@231461.4]
  assign pmu_io_resetCauses_erst = io_resetCauses_erst; // @[MockAON.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@231461.4]
  assign wdog_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231467.4]
  assign wdog_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231468.4]
  assign wdog_io_regs_cfg_write__ip_0 = Queue_io_deq_bits_data[28]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@232175.4]
  assign wdog_io_regs_cfg_write__running = Queue_io_deq_bits_data[13]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231951.4]
  assign wdog_io_regs_cfg_write__countAlways = Queue_io_deq_bits_data[12]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231922.4]
  assign wdog_io_regs_cfg_write__zerocmp = Queue_io_deq_bits_data[9]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231837.4]
  assign wdog_io_regs_cfg_write__sticky = Queue_io_deq_bits_data[8]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231808.4]
  assign wdog_io_regs_cfg_write__scale = Queue_io_deq_bits_data[3:0]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231754.4]
  assign wdog_io_regs_cfg_write_ip_0 = _T_5924 & _T_1229; // @[Timer.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@231495.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@232174.4]
  assign wdog_io_regs_cfg_write_gang_0 = _T_5924 & _T_1175; // @[Timer.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@231502.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@232118.4]
  assign wdog_io_regs_cfg_write_extra_0 = _T_5924 & _T_1121; // @[Timer.scala 91:18:shc.marmotcaravel.MarmotCaravelConfig.fir@231509.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@232062.4]
  assign wdog_io_regs_cfg_write_center_0 = _T_5924 & _T_1067; // @[Timer.scala 92:18:shc.marmotcaravel.MarmotCaravelConfig.fir@231516.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@232006.4]
  assign wdog_io_regs_cfg_write_running = _T_5924 & _T_1013; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231950.4]
  assign wdog_io_regs_cfg_write_countAlways = _T_5924 & _T_986; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231921.4]
  assign wdog_io_regs_cfg_write_deglitch = _T_5924 & _T_932; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231865.4]
  assign wdog_io_regs_cfg_write_zerocmp = _T_5924 & _T_905; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231836.4]
  assign wdog_io_regs_cfg_write_sticky = _T_5924 & _T_878; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231807.4]
  assign wdog_io_regs_cfg_write_scale = _T_5924 & _T_826; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@231753.4]
  assign wdog_io_regs_countLo_write_valid = _T_5936 & _T_1658; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232641.4]
  assign wdog_io_regs_countLo_write_bits = Queue_io_deq_bits_data[30:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232642.4]
  assign wdog_io_regs_countHi_write_valid = _T_5942 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232997.4]
  assign wdog_io_regs_s_write_valid = _T_5948 & _T_2665; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233856.4]
  assign wdog_io_regs_cmp_0_write_valid = _T_5972 & _T_2665; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@233720.4]
  assign wdog_io_regs_cmp_0_write_bits = Queue_io_deq_bits_data[15:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@233721.4]
  assign wdog_io_regs_feed_write_valid = _T_5960 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232422.4]
  assign wdog_io_regs_feed_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232423.4]
  assign wdog_io_regs_key_write_valid = _T_5966 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@232915.4]
  assign wdog_io_regs_key_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@232916.4]
  assign wdog_io_corerst = pmu_io_control_corerst; // @[MockAON.scala 80:19:shc.marmotcaravel.MarmotCaravelConfig.fir@231470.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231561.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@231562.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@231563.4]
  assign Queue_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231568.4]
  assign Queue_io_enq_bits_index = _T_291[9:0]; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231567.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231566.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@231565.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@231564.4]
  assign Queue_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238724.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@239259.2]
  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@239262.4]
  input   io_iso, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@239262.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@239262.4]
);
  wire  _T_7; // @[MockAONWrapper.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@239267.4]
  assign _T_7 = ~ io_iso; // @[MockAONWrapper.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@239267.4]
  assign io_out = io_in & _T_7; // @[MockAONWrapper.scala 157:10:shc.marmotcaravel.MarmotCaravelConfig.fir@239269.4]
endmodule
module TLIsolation( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240291.2]
  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [2:0]  auto_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [1:0]  auto_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [5:0]  auto_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [28:0] auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [1:0]  auto_in_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [5:0]  auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [2:0]  auto_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [1:0]  auto_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [5:0]  auto_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [28:0] auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [5:0]  auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  output        auto_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240294.4]
  input         io_iso_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240295.4]
);
  wire  iso_0_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240314.4]
  wire  iso_0_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240314.4]
  wire  iso_0_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240314.4]
  wire  iso_1_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.4]
  wire  iso_1_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.4]
  wire  iso_1_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.4]
  wire  iso_2_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240322.4]
  wire  iso_2_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240322.4]
  wire  iso_2_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240322.4]
  wire  iso_3_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240326.4]
  wire  iso_3_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240326.4]
  wire  iso_3_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240326.4]
  wire  iso_4_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240330.4]
  wire  iso_4_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240330.4]
  wire  iso_4_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240330.4]
  wire  iso_5_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240334.4]
  wire  iso_5_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240334.4]
  wire  iso_5_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240334.4]
  wire  iso_6_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
  wire  iso_6_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
  wire  iso_6_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
  wire  iso_7_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240342.4]
  wire  iso_7_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240342.4]
  wire  iso_7_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240342.4]
  wire  iso_8_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240346.4]
  wire  iso_8_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240346.4]
  wire  iso_8_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240346.4]
  wire  iso_9_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240350.4]
  wire  iso_9_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240350.4]
  wire  iso_9_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240350.4]
  wire  iso_10_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240354.4]
  wire  iso_10_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240354.4]
  wire  iso_10_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240354.4]
  wire  iso_11_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240358.4]
  wire  iso_11_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240358.4]
  wire  iso_11_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240358.4]
  wire  iso_12_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240362.4]
  wire  iso_12_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240362.4]
  wire  iso_12_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240362.4]
  wire  iso_13_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240366.4]
  wire  iso_13_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240366.4]
  wire  iso_13_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240366.4]
  wire  iso_14_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240370.4]
  wire  iso_14_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240370.4]
  wire  iso_14_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240370.4]
  wire  iso_15_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240374.4]
  wire  iso_15_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240374.4]
  wire  iso_15_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240374.4]
  wire  iso_16_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240378.4]
  wire  iso_16_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240378.4]
  wire  iso_16_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240378.4]
  wire  iso_17_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240382.4]
  wire  iso_17_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240382.4]
  wire  iso_17_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240382.4]
  wire  iso_18_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240386.4]
  wire  iso_18_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240386.4]
  wire  iso_18_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240386.4]
  wire  iso_19_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240390.4]
  wire  iso_19_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240390.4]
  wire  iso_19_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240390.4]
  wire  iso_20_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240394.4]
  wire  iso_20_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240394.4]
  wire  iso_20_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240394.4]
  wire  iso_21_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240398.4]
  wire  iso_21_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240398.4]
  wire  iso_21_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240398.4]
  wire  iso_22_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240402.4]
  wire  iso_22_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240402.4]
  wire  iso_22_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240402.4]
  wire  iso_23_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  iso_23_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  iso_23_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  iso_24_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240410.4]
  wire  iso_24_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240410.4]
  wire  iso_24_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240410.4]
  wire  iso_25_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240414.4]
  wire  iso_25_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240414.4]
  wire  iso_25_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240414.4]
  wire  iso_26_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240418.4]
  wire  iso_26_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240418.4]
  wire  iso_26_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240418.4]
  wire  iso_27_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4]
  wire  iso_27_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4]
  wire  iso_27_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4]
  wire  iso_28_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240426.4]
  wire  iso_28_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240426.4]
  wire  iso_28_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240426.4]
  wire  iso_29_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240430.4]
  wire  iso_29_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240430.4]
  wire  iso_29_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240430.4]
  wire  iso_30_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240434.4]
  wire  iso_30_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240434.4]
  wire  iso_30_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240434.4]
  wire  iso_31_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240438.4]
  wire  iso_31_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240438.4]
  wire  iso_31_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240438.4]
  wire  iso_32_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240442.4]
  wire  iso_32_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240442.4]
  wire  iso_32_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240442.4]
  wire  iso_33_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240446.4]
  wire  iso_33_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240446.4]
  wire  iso_33_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240446.4]
  wire  iso_34_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240450.4]
  wire  iso_34_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240450.4]
  wire  iso_34_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240450.4]
  wire  iso_35_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240454.4]
  wire  iso_35_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240454.4]
  wire  iso_35_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240454.4]
  wire  iso_36_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240458.4]
  wire  iso_36_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240458.4]
  wire  iso_36_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240458.4]
  wire  iso_37_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240462.4]
  wire  iso_37_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240462.4]
  wire  iso_37_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240462.4]
  wire  iso_38_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240466.4]
  wire  iso_38_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240466.4]
  wire  iso_38_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240466.4]
  wire  iso_39_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240470.4]
  wire  iso_39_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240470.4]
  wire  iso_39_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240470.4]
  wire  iso_40_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240474.4]
  wire  iso_40_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240474.4]
  wire  iso_40_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240474.4]
  wire  iso_41_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  iso_41_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  iso_41_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  iso_42_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  iso_42_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  iso_42_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  iso_43_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  iso_43_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  iso_43_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  iso_44_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  iso_44_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  iso_44_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  iso_45_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240494.4]
  wire  iso_45_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240494.4]
  wire  iso_45_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240494.4]
  wire  iso_46_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240498.4]
  wire  iso_46_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240498.4]
  wire  iso_46_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240498.4]
  wire  iso_47_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240502.4]
  wire  iso_47_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240502.4]
  wire  iso_47_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240502.4]
  wire  iso_48_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240506.4]
  wire  iso_48_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240506.4]
  wire  iso_48_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240506.4]
  wire  iso_49_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240510.4]
  wire  iso_49_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240510.4]
  wire  iso_49_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240510.4]
  wire  iso_50_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240514.4]
  wire  iso_50_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240514.4]
  wire  iso_50_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240514.4]
  wire  iso_51_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
  wire  iso_51_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
  wire  iso_51_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
  wire  iso_52_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240522.4]
  wire  iso_52_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240522.4]
  wire  iso_52_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240522.4]
  wire  iso_53_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
  wire  iso_53_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
  wire  iso_53_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
  wire  iso_54_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240530.4]
  wire  iso_54_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240530.4]
  wire  iso_54_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240530.4]
  wire  iso_55_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240534.4]
  wire  iso_55_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240534.4]
  wire  iso_55_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240534.4]
  wire  iso_56_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
  wire  iso_56_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
  wire  iso_56_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
  wire  iso_57_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240542.4]
  wire  iso_57_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240542.4]
  wire  iso_57_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240542.4]
  wire  iso_58_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240546.4]
  wire  iso_58_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240546.4]
  wire  iso_58_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240546.4]
  wire  iso_59_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240550.4]
  wire  iso_59_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240550.4]
  wire  iso_59_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240550.4]
  wire  iso_60_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240554.4]
  wire  iso_60_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240554.4]
  wire  iso_60_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240554.4]
  wire  iso_61_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240558.4]
  wire  iso_61_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240558.4]
  wire  iso_61_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240558.4]
  wire  iso_62_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240562.4]
  wire  iso_62_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240562.4]
  wire  iso_62_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240562.4]
  wire  iso_63_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240566.4]
  wire  iso_63_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240566.4]
  wire  iso_63_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240566.4]
  wire  iso_64_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240570.4]
  wire  iso_64_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240570.4]
  wire  iso_64_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240570.4]
  wire  iso_65_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
  wire  iso_65_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
  wire  iso_65_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
  wire  iso_66_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
  wire  iso_66_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
  wire  iso_66_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
  wire  iso_67_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
  wire  iso_67_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
  wire  iso_67_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
  wire  iso_68_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
  wire  iso_68_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
  wire  iso_68_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
  wire  iso_69_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240590.4]
  wire  iso_69_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240590.4]
  wire  iso_69_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240590.4]
  wire  iso_70_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240594.4]
  wire  iso_70_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240594.4]
  wire  iso_70_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240594.4]
  wire  iso_71_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240598.4]
  wire  iso_71_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240598.4]
  wire  iso_71_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240598.4]
  wire  iso_72_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240602.4]
  wire  iso_72_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240602.4]
  wire  iso_72_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240602.4]
  wire  iso_73_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
  wire  iso_73_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
  wire  iso_73_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
  wire  iso_74_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240610.4]
  wire  iso_74_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240610.4]
  wire  iso_74_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240610.4]
  wire  iso_75_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240614.4]
  wire  iso_75_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240614.4]
  wire  iso_75_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240614.4]
  wire  iso_76_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
  wire  iso_76_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
  wire  iso_76_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
  wire  iso_77_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240622.4]
  wire  iso_77_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240622.4]
  wire  iso_77_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240622.4]
  wire  iso_78_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240626.4]
  wire  iso_78_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240626.4]
  wire  iso_78_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240626.4]
  wire  iso_79_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240630.4]
  wire  iso_79_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240630.4]
  wire  iso_79_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240630.4]
  wire  iso_0_1_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240975.4]
  wire  iso_0_1_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240975.4]
  wire  iso_0_1_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240975.4]
  wire  iso_0_2_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240990.4]
  wire  iso_0_2_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240990.4]
  wire  iso_0_2_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240990.4]
  wire  iso_0_3_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241001.4]
  wire  iso_0_3_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241001.4]
  wire  iso_0_3_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241001.4]
  wire  iso_0_4_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241053.4]
  wire  iso_0_4_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241053.4]
  wire  iso_0_4_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241053.4]
  wire  iso_0_5_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241072.4]
  wire  iso_0_5_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241072.4]
  wire  iso_0_5_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241072.4]
  wire  iso_0_6_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241083.4]
  wire  iso_0_6_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241083.4]
  wire  iso_0_6_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241083.4]
  wire [32:0] _T_876; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240307.4]
  wire [32:0] _T_877; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240308.4]
  wire [65:0] _T_878; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240309.4]
  wire [7:0] _T_879; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240310.4]
  wire [5:0] _T_880; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240311.4]
  wire [13:0] _T_881; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240312.4]
  wire [79:0] _T_882; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240313.4]
  wire [1:0] _T_963; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240874.4]
  wire [1:0] _T_964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240875.4]
  wire [2:0] _T_965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240876.4]
  wire [4:0] _T_966; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240877.4]
  wire [1:0] _T_967; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240878.4]
  wire [1:0] _T_968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240879.4]
  wire [2:0] _T_969; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240880.4]
  wire [4:0] _T_970; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240881.4]
  wire [9:0] _T_971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240882.4]
  wire [1:0] _T_972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240883.4]
  wire [1:0] _T_973; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240884.4]
  wire [2:0] _T_974; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240885.4]
  wire [4:0] _T_975; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240886.4]
  wire [1:0] _T_976; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240887.4]
  wire [1:0] _T_977; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240888.4]
  wire [2:0] _T_978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240889.4]
  wire [4:0] _T_979; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240890.4]
  wire [9:0] _T_980; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240891.4]
  wire [19:0] _T_981; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240892.4]
  wire [1:0] _T_982; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240893.4]
  wire [1:0] _T_983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240894.4]
  wire [2:0] _T_984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240895.4]
  wire [4:0] _T_985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240896.4]
  wire [1:0] _T_986; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240897.4]
  wire [1:0] _T_987; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240898.4]
  wire [2:0] _T_988; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240899.4]
  wire [4:0] _T_989; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240900.4]
  wire [9:0] _T_990; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240901.4]
  wire [1:0] _T_991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240902.4]
  wire [1:0] _T_992; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240903.4]
  wire [2:0] _T_993; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240904.4]
  wire [4:0] _T_994; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240905.4]
  wire [1:0] _T_995; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240906.4]
  wire [1:0] _T_996; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240907.4]
  wire [2:0] _T_997; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240908.4]
  wire [4:0] _T_998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240909.4]
  wire [9:0] _T_999; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240910.4]
  wire [19:0] _T_1000; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240911.4]
  wire [39:0] _T_1001; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240912.4]
  wire [1:0] _T_1002; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240913.4]
  wire [1:0] _T_1003; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240914.4]
  wire [2:0] _T_1004; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240915.4]
  wire [4:0] _T_1005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240916.4]
  wire [1:0] _T_1006; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240917.4]
  wire [1:0] _T_1007; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240918.4]
  wire [2:0] _T_1008; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240919.4]
  wire [4:0] _T_1009; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240920.4]
  wire [9:0] _T_1010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240921.4]
  wire [1:0] _T_1011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240922.4]
  wire [1:0] _T_1012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240923.4]
  wire [2:0] _T_1013; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240924.4]
  wire [4:0] _T_1014; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240925.4]
  wire [1:0] _T_1015; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240926.4]
  wire [1:0] _T_1016; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240927.4]
  wire [2:0] _T_1017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240928.4]
  wire [4:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240929.4]
  wire [9:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240930.4]
  wire [19:0] _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240931.4]
  wire [1:0] _T_1021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240932.4]
  wire [1:0] _T_1022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240933.4]
  wire [2:0] _T_1023; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240934.4]
  wire [4:0] _T_1024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240935.4]
  wire [1:0] _T_1025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240936.4]
  wire [1:0] _T_1026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240937.4]
  wire [2:0] _T_1027; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240938.4]
  wire [4:0] _T_1028; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240939.4]
  wire [9:0] _T_1029; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240940.4]
  wire [1:0] _T_1030; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240941.4]
  wire [1:0] _T_1031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240942.4]
  wire [2:0] _T_1032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240943.4]
  wire [4:0] _T_1033; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240944.4]
  wire [1:0] _T_1034; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240945.4]
  wire [1:0] _T_1035; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240946.4]
  wire [2:0] _T_1036; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240947.4]
  wire [4:0] _T_1037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240948.4]
  wire [9:0] _T_1038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240949.4]
  wire [19:0] _T_1039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240950.4]
  wire [39:0] _T_1040; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240951.4]
  wire [79:0] _T_1041; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240952.4]
  wire [32:0] _T_1081; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241020.4]
  wire [34:0] _T_1083; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241022.4]
  wire [7:0] _T_1084; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241023.4]
  wire [4:0] _T_1085; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241024.4]
  wire [12:0] _T_1086; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241025.4]
  wire [47:0] _T_1087; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241026.4]
  IsoZero iso_0 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240314.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@240318.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@240322.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@240326.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@240330.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@240334.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@240338.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@240342.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@240346.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@240350.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@240354.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@240358.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@240362.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@240366.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@240370.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@240374.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@240378.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@240382.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@240386.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@240390.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@240394.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@240398.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@240402.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@240406.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@240410.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@240414.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@240418.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@240422.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@240426.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@240430.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@240434.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@240438.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@240442.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@240446.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@240450.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@240454.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@240458.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@240462.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@240466.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@240470.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@240474.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@240478.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@240482.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@240486.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@240490.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@240494.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@240498.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@240502.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@240506.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@240510.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@240514.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@240518.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@240522.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@240526.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@240530.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@240534.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@240538.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@240542.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@240546.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@240550.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@240554.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@240558.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@240562.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@240566.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@240570.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@240574.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@240578.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@240582.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@240586.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@240590.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@240594.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@240598.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@240602.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@240606.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@240610.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@240614.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@240618.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@240622.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@240626.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@240630.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@240975.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@240990.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@241001.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@241053.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@241072.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@241083.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@240307.4]
  assign _T_877 = {auto_in_a_mem_0_address,auto_in_a_mem_0_mask}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240308.4]
  assign _T_878 = {_T_877,_T_876}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240309.4]
  assign _T_879 = {auto_in_a_mem_0_size,auto_in_a_mem_0_source}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240310.4]
  assign _T_880 = {auto_in_a_mem_0_opcode,auto_in_a_mem_0_param}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240311.4]
  assign _T_881 = {_T_880,_T_879}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240312.4]
  assign _T_882 = {_T_881,_T_878}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@240313.4]
  assign _T_963 = {iso_1_io_out,iso_0_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240874.4]
  assign _T_964 = {iso_4_io_out,iso_3_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240875.4]
  assign _T_965 = {_T_964,iso_2_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240876.4]
  assign _T_966 = {_T_965,_T_963}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240877.4]
  assign _T_967 = {iso_6_io_out,iso_5_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240878.4]
  assign _T_968 = {iso_9_io_out,iso_8_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240879.4]
  assign _T_969 = {_T_968,iso_7_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240880.4]
  assign _T_970 = {_T_969,_T_967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240881.4]
  assign _T_971 = {_T_970,_T_966}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240882.4]
  assign _T_972 = {iso_11_io_out,iso_10_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240883.4]
  assign _T_973 = {iso_14_io_out,iso_13_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240884.4]
  assign _T_974 = {_T_973,iso_12_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240885.4]
  assign _T_975 = {_T_974,_T_972}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240886.4]
  assign _T_976 = {iso_16_io_out,iso_15_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240887.4]
  assign _T_977 = {iso_19_io_out,iso_18_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240888.4]
  assign _T_978 = {_T_977,iso_17_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240889.4]
  assign _T_979 = {_T_978,_T_976}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240890.4]
  assign _T_980 = {_T_979,_T_975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240891.4]
  assign _T_981 = {_T_980,_T_971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240892.4]
  assign _T_982 = {iso_21_io_out,iso_20_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240893.4]
  assign _T_983 = {iso_24_io_out,iso_23_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240894.4]
  assign _T_984 = {_T_983,iso_22_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240895.4]
  assign _T_985 = {_T_984,_T_982}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240896.4]
  assign _T_986 = {iso_26_io_out,iso_25_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240897.4]
  assign _T_987 = {iso_29_io_out,iso_28_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240898.4]
  assign _T_988 = {_T_987,iso_27_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240899.4]
  assign _T_989 = {_T_988,_T_986}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240900.4]
  assign _T_990 = {_T_989,_T_985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240901.4]
  assign _T_991 = {iso_31_io_out,iso_30_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240902.4]
  assign _T_992 = {iso_34_io_out,iso_33_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240903.4]
  assign _T_993 = {_T_992,iso_32_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240904.4]
  assign _T_994 = {_T_993,_T_991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240905.4]
  assign _T_995 = {iso_36_io_out,iso_35_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240906.4]
  assign _T_996 = {iso_39_io_out,iso_38_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240907.4]
  assign _T_997 = {_T_996,iso_37_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240908.4]
  assign _T_998 = {_T_997,_T_995}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240909.4]
  assign _T_999 = {_T_998,_T_994}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240910.4]
  assign _T_1000 = {_T_999,_T_990}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240911.4]
  assign _T_1001 = {_T_1000,_T_981}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240912.4]
  assign _T_1002 = {iso_41_io_out,iso_40_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240913.4]
  assign _T_1003 = {iso_44_io_out,iso_43_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240914.4]
  assign _T_1004 = {_T_1003,iso_42_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240915.4]
  assign _T_1005 = {_T_1004,_T_1002}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240916.4]
  assign _T_1006 = {iso_46_io_out,iso_45_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240917.4]
  assign _T_1007 = {iso_49_io_out,iso_48_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240918.4]
  assign _T_1008 = {_T_1007,iso_47_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240919.4]
  assign _T_1009 = {_T_1008,_T_1006}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240920.4]
  assign _T_1010 = {_T_1009,_T_1005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240921.4]
  assign _T_1011 = {iso_51_io_out,iso_50_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240922.4]
  assign _T_1012 = {iso_54_io_out,iso_53_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240923.4]
  assign _T_1013 = {_T_1012,iso_52_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240924.4]
  assign _T_1014 = {_T_1013,_T_1011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240925.4]
  assign _T_1015 = {iso_56_io_out,iso_55_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240926.4]
  assign _T_1016 = {iso_59_io_out,iso_58_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240927.4]
  assign _T_1017 = {_T_1016,iso_57_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240928.4]
  assign _T_1018 = {_T_1017,_T_1015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240929.4]
  assign _T_1019 = {_T_1018,_T_1014}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240930.4]
  assign _T_1020 = {_T_1019,_T_1010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240931.4]
  assign _T_1021 = {iso_61_io_out,iso_60_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240932.4]
  assign _T_1022 = {iso_64_io_out,iso_63_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240933.4]
  assign _T_1023 = {_T_1022,iso_62_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240934.4]
  assign _T_1024 = {_T_1023,_T_1021}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240935.4]
  assign _T_1025 = {iso_66_io_out,iso_65_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240936.4]
  assign _T_1026 = {iso_69_io_out,iso_68_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240937.4]
  assign _T_1027 = {_T_1026,iso_67_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240938.4]
  assign _T_1028 = {_T_1027,_T_1025}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240939.4]
  assign _T_1029 = {_T_1028,_T_1024}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240940.4]
  assign _T_1030 = {iso_71_io_out,iso_70_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240941.4]
  assign _T_1031 = {iso_74_io_out,iso_73_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240942.4]
  assign _T_1032 = {_T_1031,iso_72_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240943.4]
  assign _T_1033 = {_T_1032,_T_1030}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240944.4]
  assign _T_1034 = {iso_76_io_out,iso_75_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240945.4]
  assign _T_1035 = {iso_79_io_out,iso_78_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240946.4]
  assign _T_1036 = {_T_1035,iso_77_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240947.4]
  assign _T_1037 = {_T_1036,_T_1034}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240948.4]
  assign _T_1038 = {_T_1037,_T_1033}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240949.4]
  assign _T_1039 = {_T_1038,_T_1029}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240950.4]
  assign _T_1040 = {_T_1039,_T_1020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240951.4]
  assign _T_1041 = {_T_1040,_T_1001}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240952.4]
  assign _T_1081 = {auto_out_d_mem_0_data,1'h0}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241020.4]
  assign _T_1083 = {2'h0,_T_1081}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241022.4]
  assign _T_1084 = {auto_out_d_mem_0_size,auto_out_d_mem_0_source}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241023.4]
  assign _T_1085 = {auto_out_d_mem_0_opcode,2'h0}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241024.4]
  assign _T_1086 = {_T_1085,_T_1084}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241025.4]
  assign _T_1087 = {_T_1086,_T_1083}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@241026.4]
  assign auto_in_a_ridx = auto_out_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_a_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_a_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_opcode = _T_1087[47:45]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_param = _T_1087[44:43]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_size = _T_1087[42:41]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_source = _T_1087[40:35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_sink = _T_1087[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_denied = _T_1087[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_data = _T_1087[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_mem_0_corrupt = _T_1087[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_widx = auto_out_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_safe_widx_valid = auto_out_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_in_d_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240306.4]
  assign auto_out_a_mem_0_opcode = _T_1041[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_param = _T_1041[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_size = _T_1041[73:72]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_source = _T_1041[71:66]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_address = _T_1041[65:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_mask = _T_1041[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_data = _T_1041[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_mem_0_corrupt = _T_1041[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_widx = iso_0_1_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_safe_widx_valid = iso_0_2_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_a_safe_source_reset_n = iso_0_3_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_d_ridx = iso_0_4_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_d_safe_ridx_valid = iso_0_5_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign auto_out_d_safe_sink_reset_n = iso_0_6_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240305.4]
  assign iso_0_io_in = _T_882[0]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240635.4]
  assign iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240636.4]
  assign iso_1_io_in = _T_882[1]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240638.4]
  assign iso_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240639.4]
  assign iso_2_io_in = _T_882[2]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240641.4]
  assign iso_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240642.4]
  assign iso_3_io_in = _T_882[3]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240644.4]
  assign iso_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240645.4]
  assign iso_4_io_in = _T_882[4]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240647.4]
  assign iso_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240648.4]
  assign iso_5_io_in = _T_882[5]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240650.4]
  assign iso_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240651.4]
  assign iso_6_io_in = _T_882[6]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240653.4]
  assign iso_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240654.4]
  assign iso_7_io_in = _T_882[7]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240656.4]
  assign iso_7_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240657.4]
  assign iso_8_io_in = _T_882[8]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240659.4]
  assign iso_8_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240660.4]
  assign iso_9_io_in = _T_882[9]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240662.4]
  assign iso_9_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240663.4]
  assign iso_10_io_in = _T_882[10]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240665.4]
  assign iso_10_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240666.4]
  assign iso_11_io_in = _T_882[11]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240668.4]
  assign iso_11_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240669.4]
  assign iso_12_io_in = _T_882[12]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240671.4]
  assign iso_12_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240672.4]
  assign iso_13_io_in = _T_882[13]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240674.4]
  assign iso_13_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240675.4]
  assign iso_14_io_in = _T_882[14]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240677.4]
  assign iso_14_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240678.4]
  assign iso_15_io_in = _T_882[15]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240680.4]
  assign iso_15_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240681.4]
  assign iso_16_io_in = _T_882[16]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240683.4]
  assign iso_16_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240684.4]
  assign iso_17_io_in = _T_882[17]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240686.4]
  assign iso_17_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240687.4]
  assign iso_18_io_in = _T_882[18]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240689.4]
  assign iso_18_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240690.4]
  assign iso_19_io_in = _T_882[19]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240692.4]
  assign iso_19_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240693.4]
  assign iso_20_io_in = _T_882[20]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240695.4]
  assign iso_20_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240696.4]
  assign iso_21_io_in = _T_882[21]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240698.4]
  assign iso_21_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240699.4]
  assign iso_22_io_in = _T_882[22]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240701.4]
  assign iso_22_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240702.4]
  assign iso_23_io_in = _T_882[23]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240704.4]
  assign iso_23_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240705.4]
  assign iso_24_io_in = _T_882[24]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240707.4]
  assign iso_24_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240708.4]
  assign iso_25_io_in = _T_882[25]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240710.4]
  assign iso_25_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240711.4]
  assign iso_26_io_in = _T_882[26]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240713.4]
  assign iso_26_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240714.4]
  assign iso_27_io_in = _T_882[27]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240716.4]
  assign iso_27_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240717.4]
  assign iso_28_io_in = _T_882[28]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240719.4]
  assign iso_28_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240720.4]
  assign iso_29_io_in = _T_882[29]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240722.4]
  assign iso_29_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240723.4]
  assign iso_30_io_in = _T_882[30]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240725.4]
  assign iso_30_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240726.4]
  assign iso_31_io_in = _T_882[31]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240728.4]
  assign iso_31_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240729.4]
  assign iso_32_io_in = _T_882[32]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240731.4]
  assign iso_32_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240732.4]
  assign iso_33_io_in = _T_882[33]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240734.4]
  assign iso_33_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240735.4]
  assign iso_34_io_in = _T_882[34]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240737.4]
  assign iso_34_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240738.4]
  assign iso_35_io_in = _T_882[35]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240740.4]
  assign iso_35_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240741.4]
  assign iso_36_io_in = _T_882[36]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240743.4]
  assign iso_36_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240744.4]
  assign iso_37_io_in = _T_882[37]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240746.4]
  assign iso_37_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240747.4]
  assign iso_38_io_in = _T_882[38]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240749.4]
  assign iso_38_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240750.4]
  assign iso_39_io_in = _T_882[39]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240752.4]
  assign iso_39_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240753.4]
  assign iso_40_io_in = _T_882[40]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240755.4]
  assign iso_40_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240756.4]
  assign iso_41_io_in = _T_882[41]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240758.4]
  assign iso_41_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240759.4]
  assign iso_42_io_in = _T_882[42]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240761.4]
  assign iso_42_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240762.4]
  assign iso_43_io_in = _T_882[43]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240764.4]
  assign iso_43_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240765.4]
  assign iso_44_io_in = _T_882[44]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240767.4]
  assign iso_44_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240768.4]
  assign iso_45_io_in = _T_882[45]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240770.4]
  assign iso_45_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240771.4]
  assign iso_46_io_in = _T_882[46]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240773.4]
  assign iso_46_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240774.4]
  assign iso_47_io_in = _T_882[47]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240776.4]
  assign iso_47_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240777.4]
  assign iso_48_io_in = _T_882[48]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240779.4]
  assign iso_48_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240780.4]
  assign iso_49_io_in = _T_882[49]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240782.4]
  assign iso_49_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240783.4]
  assign iso_50_io_in = _T_882[50]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240785.4]
  assign iso_50_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240786.4]
  assign iso_51_io_in = _T_882[51]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240788.4]
  assign iso_51_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240789.4]
  assign iso_52_io_in = _T_882[52]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240791.4]
  assign iso_52_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240792.4]
  assign iso_53_io_in = _T_882[53]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240794.4]
  assign iso_53_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240795.4]
  assign iso_54_io_in = _T_882[54]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240797.4]
  assign iso_54_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240798.4]
  assign iso_55_io_in = _T_882[55]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240800.4]
  assign iso_55_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240801.4]
  assign iso_56_io_in = _T_882[56]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240803.4]
  assign iso_56_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240804.4]
  assign iso_57_io_in = _T_882[57]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240806.4]
  assign iso_57_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240807.4]
  assign iso_58_io_in = _T_882[58]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240809.4]
  assign iso_58_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240810.4]
  assign iso_59_io_in = _T_882[59]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240812.4]
  assign iso_59_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240813.4]
  assign iso_60_io_in = _T_882[60]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240815.4]
  assign iso_60_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240816.4]
  assign iso_61_io_in = _T_882[61]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240818.4]
  assign iso_61_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240819.4]
  assign iso_62_io_in = _T_882[62]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240821.4]
  assign iso_62_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240822.4]
  assign iso_63_io_in = _T_882[63]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240824.4]
  assign iso_63_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240825.4]
  assign iso_64_io_in = _T_882[64]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240827.4]
  assign iso_64_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240828.4]
  assign iso_65_io_in = _T_882[65]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240830.4]
  assign iso_65_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240831.4]
  assign iso_66_io_in = _T_882[66]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240833.4]
  assign iso_66_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240834.4]
  assign iso_67_io_in = _T_882[67]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240836.4]
  assign iso_67_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240837.4]
  assign iso_68_io_in = _T_882[68]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240839.4]
  assign iso_68_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240840.4]
  assign iso_69_io_in = _T_882[69]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240842.4]
  assign iso_69_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240843.4]
  assign iso_70_io_in = _T_882[70]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240845.4]
  assign iso_70_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240846.4]
  assign iso_71_io_in = _T_882[71]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240848.4]
  assign iso_71_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240849.4]
  assign iso_72_io_in = _T_882[72]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240851.4]
  assign iso_72_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240852.4]
  assign iso_73_io_in = _T_882[73]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240854.4]
  assign iso_73_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240855.4]
  assign iso_74_io_in = _T_882[74]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240857.4]
  assign iso_74_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240858.4]
  assign iso_75_io_in = _T_882[75]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240860.4]
  assign iso_75_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240861.4]
  assign iso_76_io_in = _T_882[76]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240863.4]
  assign iso_76_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240864.4]
  assign iso_77_io_in = _T_882[77]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240866.4]
  assign iso_77_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240867.4]
  assign iso_78_io_in = _T_882[78]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240869.4]
  assign iso_78_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240870.4]
  assign iso_79_io_in = _T_882[79]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240872.4]
  assign iso_79_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240873.4]
  assign iso_0_1_io_in = auto_in_a_widx; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240980.4]
  assign iso_0_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240981.4]
  assign iso_0_2_io_in = auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240995.4]
  assign iso_0_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240996.4]
  assign iso_0_3_io_in = auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241006.4]
  assign iso_0_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241007.4]
  assign iso_0_4_io_in = auto_in_d_ridx; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241058.4]
  assign iso_0_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241059.4]
  assign iso_0_5_io_in = auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241077.4]
  assign iso_0_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241078.4]
  assign iso_0_6_io_in = auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241088.4]
  assign iso_0_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241089.4]
endmodule
module SynchronizerShiftReg_w80_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241265.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241266.4]
  input  [79:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241268.4]
  output [79:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241268.4]
);
  reg [79:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241273.4]
  reg [95:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@241275.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@241741.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241742.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241743.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [5:0]  io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [28:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [2:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [28:0] io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input         io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241744.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241751.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241751.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241751.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241751.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241751.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241763.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241763.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241763.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241763.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241774.4]
  wire [79:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241774.4]
  wire [79:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241774.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241824.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241824.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241824.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241824.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241824.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241831.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241831.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241831.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241834.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241834.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241834.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241834.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241837.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241837.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241837.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241837.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241866.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241866.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241866.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241866.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241866.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@241748.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@241747.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241852.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241749.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@241758.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241759.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241768.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241770.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@241771.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241772.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [2:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [5:0] deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [28:0] deq_bits_nxt_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [3:0] deq_bits_nxt_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241778.4]
  wire [32:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241779.4]
  wire [65:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241780.4]
  wire [7:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241781.4]
  wire [5:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241782.4]
  wire [13:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241783.4]
  wire [79:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241788.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@241790.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@241821.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@241841.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241751.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@241763.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@241774.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@241815.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@241824.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@241831.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241834.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@241837.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@241866.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@241748.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@241747.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@241852.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241749.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@241758.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@241759.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241768.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241770.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@241771.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241772.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_param = valid ? io_async_mem_0_param : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_address = valid ? io_async_mem_0_address : io_deq_bits_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_mask = valid ? io_async_mem_0_mask : io_deq_bits_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign deq_bits_nxt_corrupt = valid ? io_async_mem_0_corrupt : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241773.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241778.4]
  assign _T_70 = {deq_bits_nxt_address,deq_bits_nxt_mask}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241779.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241780.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241781.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241782.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241783.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241788.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@241790.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@241821.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@241841.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241823.4]
  assign io_deq_bits_opcode = _T_79[79:77]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241814.4]
  assign io_deq_bits_param = _T_79[76:74]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241813.4]
  assign io_deq_bits_size = _T_79[73:72]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241812.4]
  assign io_deq_bits_source = _T_79[71:66]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241811.4]
  assign io_deq_bits_address = _T_79[65:37]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241810.4]
  assign io_deq_bits_mask = _T_79[36:33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241809.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241808.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241807.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@241830.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241849.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@241855.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241753.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241754.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241755.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241756.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241765.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241766.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241767.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241776.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241785.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241817.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241818.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241819.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241820.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241826.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241827.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241828.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241832.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241833.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241843.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241835.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241836.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241847.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241850.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241838.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241839.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241851.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241868.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241869.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241870.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241871.4]
endmodule
module AsyncQueueSource_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242458.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242459.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242460.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input  [5:0]  io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242503.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242503.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242503.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242503.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242503.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242512.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242512.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242512.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242512.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242512.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242527.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242527.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242527.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242530.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242530.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242530.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242530.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242533.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242533.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242533.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242533.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.4]
  reg [31:0] _RAND_0;
  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.4]
  reg [31:0] _RAND_1;
  reg [5:0] mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.4]
  reg [31:0] _RAND_2;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.4]
  reg [31:0] _RAND_3;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@242466.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242463.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@242464.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242548.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242467.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@242476.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242477.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242486.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242488.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@242489.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@242490.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@242509.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@242537.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.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@242481.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@242503.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@242512.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@242527.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242530.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@242533.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@242466.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242463.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@242464.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242548.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242467.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@242476.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242477.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242486.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242488.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@242489.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@242490.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@242509.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@242537.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242511.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242526.4]
  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242524.4]
  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242523.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242520.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@242518.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242545.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242551.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242471.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242472.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242473.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242474.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242483.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242484.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242485.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242505.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242506.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242507.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242508.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242514.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242515.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242516.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242517.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242528.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242529.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242539.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242531.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242532.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242543.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242546.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242534.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242535.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242547.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@242553.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242554.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242555.4]
  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [2:0]  auto_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [1:0]  auto_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [5:0]  auto_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [28:0] auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [5:0]  auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242556.4]
);
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [5:0] AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [28:0] AsyncQueueSink_io_deq_bits_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [3:0] AsyncQueueSink_io_deq_bits_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [5:0] AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [28:0] AsyncQueueSink_io_async_mem_0_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [3:0] AsyncQueueSink_io_async_mem_0_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [5:0] AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [5:0] AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242578.4]
  AsyncQueueSink_4 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.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@242578.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@242566.4]
  assign auto_in_a_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_a_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_in_d_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.4]
  assign auto_out_a_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_address = AsyncQueueSink_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_mask = AsyncQueueSink_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_a_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign auto_out_d_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242565.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242568.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242569.4]
  assign AsyncQueueSink_io_deq_ready = auto_out_a_ready; // @[AsyncCrossing.scala 57:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242577.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_param = auto_in_a_mem_0_param; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_size = auto_in_a_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_source = auto_in_a_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_mem_0_corrupt = auto_in_a_mem_0_corrupt; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242576.4]
  assign AsyncQueueSink_io_async_widx = auto_in_a_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242574.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242572.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242571.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242579.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242580.4]
  assign AsyncQueueSource_io_enq_valid = auto_out_d_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242582.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242581.4]
  assign AsyncQueueSource_io_enq_bits_size = auto_out_d_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242581.4]
  assign AsyncQueueSource_io_enq_bits_source = auto_out_d_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242581.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_out_d_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242581.4]
  assign AsyncQueueSource_io_async_ridx = auto_in_d_ridx; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242584.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242584.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242584.4]
endmodule
module IntSyncCrossingSource_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242608.2]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242611.4]
  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242611.4]
  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242611.4]
  output  auto_out_sync_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242611.4]
);
  assign auto_out_sync_0 = auto_in_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242620.4]
  assign auto_out_sync_1 = auto_in_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242620.4]
endmodule
module MockAONWrapper( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242935.2]
  output        auto_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_intsource_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [2:0]  auto_isolation_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [2:0]  auto_isolation_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [1:0]  auto_isolation_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [5:0]  auto_isolation_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [28:0] auto_isolation_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [3:0]  auto_isolation_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input  [31:0] auto_isolation_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output [2:0]  auto_isolation_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output [1:0]  auto_isolation_in_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output [1:0]  auto_isolation_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output [5:0]  auto_isolation_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output [31:0] auto_isolation_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  output        auto_isolation_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         auto_isolation_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242938.4]
  input         io_pins_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.4]
  input         io_pins_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.4]
  output        io_rsts_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.4]
  output        io_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.4]
  input         io_ndreset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.4]
);
  wire  aon_clock; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_reset; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_int_out_0; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_int_out_1; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_in_a_ready; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_in_a_valid; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [2:0] aon_auto_in_a_bits_opcode; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [2:0] aon_auto_in_a_bits_param; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [1:0] aon_auto_in_a_bits_size; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [5:0] aon_auto_in_a_bits_source; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [28:0] aon_auto_in_a_bits_address; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [3:0] aon_auto_in_a_bits_mask; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [31:0] aon_auto_in_a_bits_data; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_in_a_bits_corrupt; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_in_d_ready; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_auto_in_d_valid; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [2:0] aon_auto_in_d_bits_opcode; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [1:0] aon_auto_in_d_bits_size; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [5:0] aon_auto_in_d_bits_source; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [31:0] aon_auto_in_d_bits_data; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_io_moff_corerst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_io_wdog_rst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_io_lfclk; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_io_lfextclk; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_io_resetCauses_wdogrst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire  aon_io_resetCauses_erst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.4]
  wire [2:0] isolation_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [2:0] isolation_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [1:0] isolation_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [5:0] isolation_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [28:0] isolation_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [3:0] isolation_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [31:0] isolation_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [2:0] isolation_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [1:0] isolation_auto_in_d_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [1:0] isolation_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [5:0] isolation_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_mem_0_sink; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_mem_0_denied; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [31:0] isolation_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [2:0] isolation_auto_out_a_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [2:0] isolation_auto_out_a_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [1:0] isolation_auto_out_a_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [5:0] isolation_auto_out_a_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [28:0] isolation_auto_out_a_mem_0_address; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [3:0] isolation_auto_out_a_mem_0_mask; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [31:0] isolation_auto_out_a_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_a_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [2:0] isolation_auto_out_d_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [1:0] isolation_auto_out_d_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [5:0] isolation_auto_out_d_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire [31:0] isolation_auto_out_d_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_d_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_d_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_d_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_d_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_d_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_auto_out_d_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  isolation_io_iso_out; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242952.4]
  wire  crossing_clock; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_reset; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [2:0] crossing_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [2:0] crossing_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [1:0] crossing_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [5:0] crossing_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [28:0] crossing_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [3:0] crossing_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [31:0] crossing_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_ridx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_widx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [2:0] crossing_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [1:0] crossing_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [5:0] crossing_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [31:0] crossing_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_d_ridx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_d_widx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_out_a_ready; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_out_a_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [2:0] crossing_auto_out_a_bits_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [2:0] crossing_auto_out_a_bits_param; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [1:0] crossing_auto_out_a_bits_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [5:0] crossing_auto_out_a_bits_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [28:0] crossing_auto_out_a_bits_address; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [3:0] crossing_auto_out_a_bits_mask; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [31:0] crossing_auto_out_a_bits_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_out_a_bits_corrupt; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_out_d_ready; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  crossing_auto_out_d_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [2:0] crossing_auto_out_d_bits_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [1:0] crossing_auto_out_d_bits_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [5:0] crossing_auto_out_d_bits_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire [31:0] crossing_auto_out_d_bits_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242959.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242965.4]
  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242965.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242965.4]
  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242965.4]
  wire  aonrst_catch_clock; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.4]
  wire  aonrst_catch_reset; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.4]
  wire  aonrst_catch_io_sync_reset; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.4]
  wire  ResetCatchAndSync_d3_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243006.4]
  wire  ResetCatchAndSync_d3_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243006.4]
  wire  ResetCatchAndSync_d3_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243006.4]
  wire  erst; // @[MockAONWrapper.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242981.4]
  wire  _T_381; // @[MockAONWrapper.scala 99:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242998.4]
  wire  _T_383; // @[compatibility.scala 247:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243004.4]
  TLMockAON aon ( // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242945.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@242952.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@242959.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@242965.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@242994.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@243006.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@242981.4]
  assign _T_381 = erst | aon_io_wdog_rst; // @[MockAONWrapper.scala 99:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242998.4]
  assign _T_383 = aon_reset; // @[compatibility.scala 247:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243004.4]
  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242975.4]
  assign auto_intsource_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242975.4]
  assign auto_isolation_in_a_ridx = isolation_auto_in_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_a_safe_ridx_valid = isolation_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.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@242974.4]
  assign auto_isolation_in_d_mem_0_opcode = isolation_auto_in_d_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_param = isolation_auto_in_d_mem_0_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_size = isolation_auto_in_d_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_source = isolation_auto_in_d_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_sink = isolation_auto_in_d_mem_0_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_denied = isolation_auto_in_d_mem_0_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_data = isolation_auto_in_d_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_mem_0_corrupt = isolation_auto_in_d_mem_0_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_widx = isolation_auto_in_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign auto_isolation_in_d_safe_widx_valid = isolation_auto_in_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.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@242974.4]
  assign io_rsts_corerst = aon_io_moff_corerst; // @[MockAONWrapper.scala 80:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242986.4]
  assign io_rtc = aon_io_lfclk; // @[MockAONWrapper.scala 142:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243044.4]
  assign aon_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.4 MockAONWrapper.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243003.4]
  assign aon_reset = aonrst_catch_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242951.4 MockAONWrapper.scala 101:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243002.4]
  assign aon_auto_in_a_valid = crossing_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_opcode = crossing_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_param = crossing_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_size = crossing_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_source = crossing_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_address = crossing_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_mask = crossing_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_data = crossing_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_a_bits_corrupt = crossing_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_auto_in_d_ready = crossing_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign aon_io_lfextclk = io_pins_lfextclk_i_ival; // @[MockAONWrapper.scala 93:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242993.4]
  assign aon_io_resetCauses_wdogrst = aon_io_wdog_rst; // @[MockAONWrapper.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242983.4]
  assign aon_io_resetCauses_erst = ~ io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 67:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242982.4]
  assign isolation_auto_in_a_mem_0_opcode = auto_isolation_in_a_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_param = auto_isolation_in_a_mem_0_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_size = auto_isolation_in_a_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_source = auto_isolation_in_a_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_address = auto_isolation_in_a_mem_0_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_mask = auto_isolation_in_a_mem_0_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_data = auto_isolation_in_a_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_mem_0_corrupt = auto_isolation_in_a_mem_0_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_widx = auto_isolation_in_a_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_a_safe_widx_valid = auto_isolation_in_a_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.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@242974.4]
  assign isolation_auto_in_d_ridx = auto_isolation_in_d_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.4]
  assign isolation_auto_in_d_safe_ridx_valid = auto_isolation_in_d_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242974.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@242974.4]
  assign isolation_auto_out_a_ridx = crossing_auto_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign isolation_auto_out_a_safe_ridx_valid = crossing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.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@242972.4]
  assign isolation_auto_out_d_mem_0_opcode = crossing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign isolation_auto_out_d_mem_0_size = crossing_auto_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign isolation_auto_out_d_mem_0_source = crossing_auto_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign isolation_auto_out_d_mem_0_data = crossing_auto_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign isolation_auto_out_d_widx = crossing_auto_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign isolation_auto_out_d_safe_widx_valid = crossing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.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@242972.4]
  assign isolation_io_iso_out = aon_io_moff_corerst; // @[MockAONWrapper.scala 122:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243024.4]
  assign crossing_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242963.4 MockAONWrapper.scala 117:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.4]
  assign crossing_reset = ResetCatchAndSync_d3_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242964.4 MockAONWrapper.scala 118:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243023.4]
  assign crossing_auto_in_a_mem_0_opcode = isolation_auto_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_param = isolation_auto_out_a_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_size = isolation_auto_out_a_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_source = isolation_auto_out_a_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_address = isolation_auto_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_mask = isolation_auto_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_data = isolation_auto_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_mem_0_corrupt = isolation_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_widx = isolation_auto_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_a_safe_widx_valid = isolation_auto_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.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@242972.4]
  assign crossing_auto_in_d_ridx = isolation_auto_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.4]
  assign crossing_auto_in_d_safe_ridx_valid = isolation_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.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@242972.4]
  assign crossing_auto_out_a_ready = aon_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign crossing_auto_out_d_valid = aon_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign crossing_auto_out_d_bits_opcode = aon_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign crossing_auto_out_d_bits_size = aon_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign crossing_auto_out_d_bits_source = aon_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign crossing_auto_out_d_bits_data = aon_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.4]
  assign intsource_auto_in_0 = aon_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242971.4]
  assign intsource_auto_in_1 = aon_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@242971.4]
  assign aonrst_catch_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242996.4 MockAONWrapper.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243001.4]
  assign aonrst_catch_reset = _T_381 | io_ndreset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242997.4 MockAONWrapper.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243000.4]
  assign ResetCatchAndSync_d3_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243008.4]
  assign ResetCatchAndSync_d3_reset = aon_io_moff_corerst | _T_383; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243009.4]
endmodule
module SynchronizerShiftReg_w2_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243046.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243047.4]
  input  [1:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243049.4]
  output [1:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243049.4]
);
  reg [1:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243054.4]
  reg [31:0] _RAND_0;
  reg [1:0] sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243055.4]
  reg [31:0] _RAND_1;
  reg [1:0] sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243056.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@243060.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@243062.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243063.4]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.4]
  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.4]
  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.4]
  output  auto_out_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.4]
);
  wire  SynchronizerShiftReg_w2_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243076.4]
  wire [1:0] SynchronizerShiftReg_w2_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243076.4]
  wire [1:0] SynchronizerShiftReg_w2_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243076.4]
  wire [1:0] _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243084.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@243086.4]
  SynchronizerShiftReg_w2_d3 SynchronizerShiftReg_w2_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243076.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@243084.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@243086.4]
  assign auto_out_0 = _T_58[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@243074.4]
  assign auto_out_1 = _T_58[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@243074.4]
  assign SynchronizerShiftReg_w2_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243078.4]
  assign SynchronizerShiftReg_w2_d3_io_d = {auto_in_sync_1,auto_in_sync_0}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243081.4]
endmodule
module IntXing( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243109.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243110.4]
  input   auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243112.4]
  output  auto_int_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243112.4]
);
  wire  SynchronizerShiftReg_w1_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243123.4]
  wire  SynchronizerShiftReg_w1_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243123.4]
  wire  SynchronizerShiftReg_w1_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243123.4]
  SynchronizerShiftReg_w1_d3 SynchronizerShiftReg_w1_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243123.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@243121.4]
  assign SynchronizerShiftReg_w1_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243125.4]
  assign SynchronizerShiftReg_w1_d3_io_d = auto_int_in_0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243127.4]
endmodule
module TLMonitor_61( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243144.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243145.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243146.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@244274.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@243174.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@243175.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@243176.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243177.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243177.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243178.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@243180.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243181.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@243183.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@243184.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243185.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243186.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243187.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243189.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243190.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243192.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243193.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243194.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243195.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243196.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243197.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243198.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243199.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243200.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243201.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243202.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243203.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243204.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243205.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243206.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243207.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243208.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@243209.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@243210.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@243211.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243234.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@243237.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@243238.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@243239.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@243240.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@243241.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243246.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243267.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243268.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243274.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243275.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243280.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243282.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243283.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@243288.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243289.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243291.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243292.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@243297.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243299.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243300.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243306.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243360.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243362.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243363.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243386.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@243389.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243397.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243400.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243401.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243420.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243422.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243423.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243428.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243430.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243445.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243496.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243538.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243539.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@243540.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243542.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243543.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243549.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243580.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243582.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243583.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243597.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243628.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243630.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243631.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243645.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243695.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243697.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243698.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243715.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243724.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243726.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243727.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243757.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243815.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244005.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244014.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244015.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244016.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244017.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244018.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244029.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244030.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244031.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244032.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244033.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244034.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244035.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244037.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244039.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244040.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244045.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244047.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244048.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244053.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244055.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244056.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244061.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244063.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244064.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244069.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244071.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244072.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244079.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244087.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244095.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244096.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244097.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244098.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244099.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244110.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244112.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244113.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244116.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244117.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244119.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244121.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244122.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244135.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244137.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244138.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244143.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244145.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244146.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244169.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244178.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244188.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244189.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244190.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244191.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244192.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244211.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244212.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244213.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244214.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244215.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244230.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244233.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@244235.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@244236.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244237.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244239.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244240.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@244232.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244251.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@244253.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@244254.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244256.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244258.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@244259.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@244260.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244262.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244263.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@244255.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244269.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244270.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244271.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244273.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@244276.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244277.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244278.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244279.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@244280.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@244281.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244283.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244284.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244290.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243248.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243320.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243403.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243462.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243513.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243563.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243611.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243659.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243729.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243770.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243828.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@244274.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@243174.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@243175.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@243176.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243177.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@243177.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243178.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@243180.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243181.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@243183.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@243184.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243185.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243186.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243187.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243189.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243190.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243192.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243193.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243194.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243195.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243196.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243197.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243198.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243199.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243200.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243201.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243202.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243203.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243204.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243205.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243206.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243207.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243208.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@243209.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@243210.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@243211.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243234.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@243237.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@243238.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@243239.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@243240.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@243241.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243246.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243267.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243268.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243274.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243275.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243280.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243282.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243283.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@243288.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243289.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243291.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243292.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@243297.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243299.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243300.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243306.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243360.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243362.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243363.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243386.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@243389.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243397.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243400.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243401.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243420.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243422.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243423.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243428.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243430.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243445.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243496.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243538.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243539.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@243540.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243542.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243543.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243549.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243580.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243582.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243583.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243597.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243628.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243630.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243631.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243645.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243695.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243697.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243698.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243715.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243724.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243726.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243727.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243757.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243815.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244005.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244015.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244016.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244017.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244018.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244034.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244035.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244037.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244039.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244040.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244045.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244047.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244048.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244053.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244055.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244056.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244061.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244063.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244064.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244069.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244071.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244072.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244079.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244087.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244096.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244097.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244098.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244099.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@244116.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244117.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244119.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244121.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244122.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244135.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244137.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244138.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244143.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244145.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244146.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244169.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244189.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244190.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244191.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244192.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244212.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244213.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244214.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244215.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244230.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244233.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@244235.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@244236.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244237.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244239.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244240.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@244232.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244251.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@244253.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@244254.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244256.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244258.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@244259.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@244260.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244262.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244263.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@244255.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244269.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244270.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244271.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@244276.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244277.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244278.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244279.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@244280.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@244281.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244283.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244284.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244290.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243248.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243320.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243403.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243462.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243513.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243563.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243611.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243659.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243729.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243770.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243828.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@243159.8]
        end
    `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@243160.8]
        end
    `ifdef STOP_COND
      end
    `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@243231.8]
        end
    `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@243232.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@243248.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@243249.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@243255.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@243256.10]
        end
    `ifdef STOP_COND
      end
    `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@243262.10]
        end
    `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@243263.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@243270.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@243271.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@243277.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@243278.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@243285.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@243286.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@243294.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@243295.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@243302.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@243303.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@243320.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@243321.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@243327.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@243328.10]
        end
    `ifdef STOP_COND
      end
    `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@243334.10]
        end
    `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@243335.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@243342.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@243343.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@243349.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@243350.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@243357.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@243358.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@243365.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@243366.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@243374.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@243375.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@243382.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@243383.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@243403.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@243404.10]
        end
    `ifdef STOP_COND
      end
    `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@243410.10]
        end
    `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@243411.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@243417.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@243418.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@243425.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@243426.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@243433.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@243434.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@243441.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@243442.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@243462.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@243463.10]
        end
    `ifdef STOP_COND
      end
    `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@243469.10]
        end
    `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@243470.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@243476.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@243477.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@243484.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@243485.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@243492.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@243493.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@243513.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@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: '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@243520.10]
        end
    `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@243521.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@243527.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@243528.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@243535.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@243536.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@243545.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@243546.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@243563.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@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: '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@243570.10]
        end
    `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@243571.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@243577.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@243578.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@243585.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@243586.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@243593.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@243594.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@243611.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@243612.10]
        end
    `ifdef STOP_COND
      end
    `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@243618.10]
        end
    `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@243619.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@243625.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@243626.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@243633.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@243634.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@243641.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@243642.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@243659.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@243660.10]
        end
    `ifdef STOP_COND
      end
    `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@243666.10]
        end
    `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@243667.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@243673.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@243674.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@243681.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@243682.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@243689.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@243690.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@243700.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@243701.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243721.10]
        end
    `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@243722.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@243729.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@243730.10]
        end
    `ifdef STOP_COND
      end
    `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@243737.10]
        end
    `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@243738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243745.10]
        end
    `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@243746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243753.10]
        end
    `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@243754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243763.10]
        end
    `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@243764.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@243770.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@243771.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@243778.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@243779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243786.10]
        end
    `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@243787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243794.10]
        end
    `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@243795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243802.10]
        end
    `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@243803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243811.10]
        end
    `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@243812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243821.10]
        end
    `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@243822.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@243828.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@243829.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@243836.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@243837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243844.10]
        end
    `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@243845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243852.10]
        end
    `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@243853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@243861.10]
        end
    `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@243862.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@243870.10]
        end
    `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@243871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243880.10]
        end
    `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@243881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243888.10]
        end
    `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@243889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243896.10]
        end
    `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@243897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243905.10]
        end
    `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@243906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243915.10]
        end
    `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@243916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243923.10]
        end
    `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@243924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@243932.10]
        end
    `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@243933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@243941.10]
        end
    `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@243942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243951.10]
        end
    `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@243952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@243959.10]
        end
    `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@243960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243967.10]
        end
    `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@243968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@243976.10]
        end
    `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@243977.10]
        end
    `ifdef STOP_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@243986.6]
        end
    `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@243987.6]
        end
    `ifdef STOP_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@243994.6]
        end
    `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@243995.6]
        end
    `ifdef STOP_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@244002.6]
        end
    `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@244003.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@244042.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@244043.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@244050.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@244051.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@244058.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@244059.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@244066.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@244067.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@244074.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@244075.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@244124.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@244125.8]
        end
    `ifdef STOP_COND
      end
    `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@244132.8]
        end
    `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@244133.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@244140.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@244141.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@244148.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@244149.8]
        end
    `ifdef STOP_COND
      end
    `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@244156.8]
        end
    `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@244157.8]
        end
    `ifdef STOP_COND
      end
    `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@244164.8]
        end
    `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@244165.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@244242.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@244243.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@244265.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@244266.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@244286.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@244287.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244299.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244301.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244302.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.4]
  TLMonitor_61 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244309.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@244349.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244349.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244349.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244349.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244349.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244349.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244311.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244345.4]
endmodule
module TLMonitor_62( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244420.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244421.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244422.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@245550.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@244450.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@244451.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@244452.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244453.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244453.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244454.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244456.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244457.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@244459.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244460.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244461.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244462.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244463.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244465.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244466.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244468.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244469.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244470.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244471.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244472.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244473.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244474.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244475.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244476.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244477.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244478.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244479.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244480.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244481.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244482.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244483.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244484.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244485.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244486.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244487.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244510.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244513.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244514.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@244515.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@244516.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@244517.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244522.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244543.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244544.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244550.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244551.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244556.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244558.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244559.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244564.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244565.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244567.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244568.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244573.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244575.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244576.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244582.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244636.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244638.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244639.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244662.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@244665.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@244673.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244676.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244677.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244696.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244698.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244699.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244704.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244706.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244707.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244721.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244772.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@244814.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244815.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@244816.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244818.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244819.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244825.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@244856.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244858.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244859.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244873.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@244904.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244906.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244907.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244921.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244971.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244973.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244974.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244991.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245000.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245002.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245003.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245033.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245091.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245281.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245290.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245291.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245292.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245293.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245294.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245305.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245306.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245307.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245308.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245309.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245310.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245311.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245313.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245315.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245316.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245321.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245323.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245324.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245329.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245331.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245332.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245337.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245339.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245340.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245345.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245347.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245348.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245355.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245371.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245372.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245373.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245374.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245375.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245386.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245388.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245389.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245392.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245393.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245395.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245397.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245398.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245411.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245413.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245414.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245419.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245421.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245422.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245445.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245454.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245464.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245465.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245466.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245467.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245468.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245487.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245488.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245489.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245490.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245506.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@245509.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245511.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245512.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245513.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245515.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245516.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245508.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245527.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@245529.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245530.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@245532.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245534.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245535.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245536.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245538.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245539.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@245531.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245545.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245546.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245547.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245549.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245552.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245553.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245554.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245555.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@245556.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245557.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245559.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245560.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245566.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245570.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244524.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244596.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244679.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244738.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244789.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244839.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244887.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244935.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245005.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245046.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245104.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@245550.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@244450.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@244451.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@244452.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244453.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244453.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244454.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244456.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244457.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@244459.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244460.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244461.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244462.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244463.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244465.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244466.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244468.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244469.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244470.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244471.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244472.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244473.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244474.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244475.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244476.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244477.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244478.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244479.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244480.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244481.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244482.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@244483.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244484.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244485.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244486.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244487.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244510.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244513.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244514.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@244515.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@244516.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@244517.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244522.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244543.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244544.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244550.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244551.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244556.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244558.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244559.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244564.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244565.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244567.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244568.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244573.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244575.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244576.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244582.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244636.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244638.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244639.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244662.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@244665.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@244673.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244676.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244677.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244696.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244698.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244699.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@244704.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244706.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244707.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244721.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244772.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@244814.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244815.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@244816.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244818.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244819.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244825.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@244856.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244858.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244859.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244873.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@244904.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244906.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244907.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244921.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244971.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244973.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244974.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244991.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245000.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245002.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245003.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245033.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245091.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245281.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245291.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245292.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245293.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245294.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245310.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245311.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245313.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245315.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245316.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245321.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245323.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245324.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245329.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245331.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245332.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245337.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245339.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245340.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245345.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245347.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245348.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245355.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245372.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245373.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245374.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245375.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245392.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245393.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245395.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245397.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245398.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245411.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245413.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245414.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245419.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245421.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245422.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245445.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245465.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245466.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245467.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245468.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245488.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245489.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245490.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245506.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@245509.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245511.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245512.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245513.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245515.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245516.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245508.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245527.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@245529.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245530.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@245532.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245534.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245535.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245536.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245538.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245539.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@245531.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245545.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245546.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245547.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245552.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245553.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245554.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245555.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@245556.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245557.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245559.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245560.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245566.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245570.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244524.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244596.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244679.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244738.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244789.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244839.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244887.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244935.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245005.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245046.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245104.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@244435.8]
        end
    `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@244436.8]
        end
    `ifdef STOP_COND
      end
    `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@244507.8]
        end
    `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@244508.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@244524.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@244525.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@244531.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@244532.10]
        end
    `ifdef STOP_COND
      end
    `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@244538.10]
        end
    `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@244539.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@244546.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@244547.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@244553.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@244554.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@244561.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@244562.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@244570.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@244571.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@244578.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@244579.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@244596.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@244597.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@244603.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@244604.10]
        end
    `ifdef STOP_COND
      end
    `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@244610.10]
        end
    `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@244611.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@244618.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@244619.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@244625.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@244626.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@244633.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@244634.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@244641.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@244642.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@244650.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@244651.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@244658.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@244659.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@244679.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@244680.10]
        end
    `ifdef STOP_COND
      end
    `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@244686.10]
        end
    `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@244687.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@244693.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@244694.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@244701.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@244702.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@244709.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@244710.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@244717.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@244718.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@244738.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@244739.10]
        end
    `ifdef STOP_COND
      end
    `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@244745.10]
        end
    `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@244746.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@244752.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@244753.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@244760.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@244761.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@244768.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@244769.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@244789.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@244790.10]
        end
    `ifdef STOP_COND
      end
    `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@244796.10]
        end
    `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@244797.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@244803.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@244804.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@244811.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@244812.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@244821.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@244822.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@244839.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@244840.10]
        end
    `ifdef STOP_COND
      end
    `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@244846.10]
        end
    `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@244847.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@244853.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@244854.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@244861.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@244862.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@244869.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@244870.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@244887.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@244888.10]
        end
    `ifdef STOP_COND
      end
    `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@244894.10]
        end
    `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@244895.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@244901.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@244902.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@244909.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@244910.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@244917.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@244918.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@244935.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@244936.10]
        end
    `ifdef STOP_COND
      end
    `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@244942.10]
        end
    `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@244943.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@244949.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@244950.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@244957.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@244958.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@244965.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@244966.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@244976.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@244977.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@244997.10]
        end
    `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@244998.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@245005.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@245006.10]
        end
    `ifdef STOP_COND
      end
    `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@245013.10]
        end
    `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@245014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245021.10]
        end
    `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@245022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245029.10]
        end
    `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@245030.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245039.10]
        end
    `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@245040.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@245046.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@245047.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@245054.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@245055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245062.10]
        end
    `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@245063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245070.10]
        end
    `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@245071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245078.10]
        end
    `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@245079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245087.10]
        end
    `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@245088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245097.10]
        end
    `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@245098.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@245104.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@245105.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@245112.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@245113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245120.10]
        end
    `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@245121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245128.10]
        end
    `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@245129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@245137.10]
        end
    `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@245138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@245146.10]
        end
    `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@245147.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245156.10]
        end
    `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@245157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245164.10]
        end
    `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@245165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245172.10]
        end
    `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@245173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245181.10]
        end
    `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@245182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245191.10]
        end
    `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@245192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245199.10]
        end
    `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@245200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@245208.10]
        end
    `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@245209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@245217.10]
        end
    `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@245218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245227.10]
        end
    `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@245228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@245235.10]
        end
    `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@245236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245243.10]
        end
    `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@245244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@245252.10]
        end
    `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@245253.10]
        end
    `ifdef STOP_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@245262.6]
        end
    `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@245263.6]
        end
    `ifdef STOP_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@245270.6]
        end
    `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@245271.6]
        end
    `ifdef STOP_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@245278.6]
        end
    `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@245279.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@245318.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@245319.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@245326.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@245327.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@245334.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@245335.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@245342.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@245343.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@245350.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@245351.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@245400.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@245401.8]
        end
    `ifdef STOP_COND
      end
    `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@245408.8]
        end
    `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@245409.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@245416.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@245417.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@245424.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@245425.8]
        end
    `ifdef STOP_COND
      end
    `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@245432.8]
        end
    `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@245433.8]
        end
    `ifdef STOP_COND
      end
    `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@245440.8]
        end
    `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@245441.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@245518.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@245519.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@245541.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@245542.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@245562.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@245563.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module UARTTx( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245582.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245583.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245584.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
  output        io_in_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
  input         io_in_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
  input  [7:0]  io_in_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
  output        io_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
  input  [15:0] io_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
  input         io_nstop // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@245596.4]
  reg [15:0] prescaler; // @[UARTTx.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245590.4]
  reg [31:0] _RAND_0;
  wire  pulse; // @[UARTTx.scala 18:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245591.4]
  reg [3:0] counter; // @[UARTTx.scala 21:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245592.4]
  reg [31:0] _RAND_1;
  reg [8:0] shifter; // @[UARTTx.scala 22:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245593.4]
  reg [31:0] _RAND_2;
  reg  out; // @[UARTTx.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245594.4]
  reg [31:0] _RAND_3;
  wire  plusarg_tx; // @[UARTTx.scala 26:90:shc.marmotcaravel.MarmotCaravelConfig.fir@245598.4]
  wire  busy; // @[UARTTx.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245599.4]
  wire  _T_18; // @[UARTTx.scala 29:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245600.4]
  wire  _T_20; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245603.4]
  wire  _T_22; // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@245606.6]
  wire  _T_24; // @[UARTTx.scala 33:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245612.4]
  wire [8:0] _T_25; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245614.6]
  wire  _T_26; // @[UARTTx.scala 36:17:shc.marmotcaravel.MarmotCaravelConfig.fir@245616.6]
  wire [3:0] _T_29; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245618.6]
  wire [3:0] _T_30; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245619.6]
  wire [3:0] _T_31; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245620.6]
  wire [16:0] _T_34; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@245626.6]
  wire [16:0] _T_35; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@245627.6]
  wire [15:0] _T_36; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@245628.6]
  wire  _T_38; // @[UARTTx.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245632.4]
  wire [4:0] _T_39; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.6]
  wire [4:0] _T_40; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245635.6]
  wire [3:0] _T_41; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245636.6]
  wire [7:0] _T_42; // @[UARTTx.scala 43:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245638.6]
  wire [8:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245639.6]
  wire  _T_44; // @[UARTTx.scala 44:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245641.6]
  plusarg_reader #(.FORMAT("uart_tx=%d"), .DEFAULT(1)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@245596.4]
    .out(plusarg_reader_out)
  );
  assign pulse = prescaler == 16'h0; // @[UARTTx.scala 18:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245591.4]
  assign plusarg_tx = plusarg_reader_out != 32'h0; // @[UARTTx.scala 26:90:shc.marmotcaravel.MarmotCaravelConfig.fir@245598.4]
  assign busy = counter != 4'h0; // @[UARTTx.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245599.4]
  assign _T_18 = busy == 1'h0; // @[UARTTx.scala 29:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245600.4]
  assign _T_20 = io_in_ready & io_in_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245603.4]
  assign _T_22 = reset == 1'h0; // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@245606.6]
  assign _T_24 = _T_20 & plusarg_tx; // @[UARTTx.scala 33:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245612.4]
  assign _T_25 = {io_in_bits,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245614.6]
  assign _T_26 = io_nstop == 1'h0; // @[UARTTx.scala 36:17:shc.marmotcaravel.MarmotCaravelConfig.fir@245616.6]
  assign _T_29 = _T_26 ? 4'ha : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245618.6]
  assign _T_30 = io_nstop ? 4'hb : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245619.6]
  assign _T_31 = _T_29 | _T_30; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@245620.6]
  assign _T_34 = prescaler - 16'h1; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@245626.6]
  assign _T_35 = $unsigned(_T_34); // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@245627.6]
  assign _T_36 = _T_35[15:0]; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@245628.6]
  assign _T_38 = pulse & busy; // @[UARTTx.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245632.4]
  assign _T_39 = counter - 4'h1; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.6]
  assign _T_40 = $unsigned(_T_39); // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245635.6]
  assign _T_41 = _T_40[3:0]; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245636.6]
  assign _T_42 = shifter[8:1]; // @[UARTTx.scala 43:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245638.6]
  assign _T_43 = {1'h1,_T_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245639.6]
  assign _T_44 = shifter[0]; // @[UARTTx.scala 44:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245641.6]
  assign io_in_ready = io_en & _T_18; // @[UARTTx.scala 29:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245602.4]
  assign io_out = out; // @[UARTTx.scala 24:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245595.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@245608.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245645.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245646.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245647.4]
  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
  input  [7:0] io_enq_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
  input        io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
  output [7:0] io_deq_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
  output [3:0] io_count // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.4]
);
  reg [7:0] _T_35 [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  reg [31:0] _RAND_0;
  wire [7:0] _T_35__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  wire [2:0] _T_35__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  wire [7:0] _T_35__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  wire [2:0] _T_35__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  wire  _T_35__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  wire  _T_35__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245653.4]
  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245654.4]
  reg [31:0] _RAND_1;
  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245655.4]
  reg [31:0] _RAND_2;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@245656.4]
  reg [31:0] _RAND_3;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@245657.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245658.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245659.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245660.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245661.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245665.4]
  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245674.6]
  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245680.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245683.4]
  wire [3:0] _T_59; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245693.4]
  wire [3:0] _T_60; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245694.4]
  wire [2:0] _T_61; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245695.4]
  wire  _T_62; // @[Decoupled.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245696.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@245653.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@245657.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245658.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245659.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245660.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245661.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245665.4]
  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245674.6]
  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245680.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245683.4]
  assign _T_59 = value - value_1; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245693.4]
  assign _T_60 = $unsigned(_T_59); // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245694.4]
  assign _T_61 = _T_60[2:0]; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@245695.4]
  assign _T_62 = _T_39 & _T_40; // @[Decoupled.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245696.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245690.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245688.4]
  assign io_deq_bits = _T_35__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245692.4]
  assign io_count = {_T_62,_T_61}; // @[Decoupled.scala 255:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245698.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@245653.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@245700.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245701.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245702.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.4]
  input         io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.4]
  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.4]
  output [7:0]  io_out_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.4]
  input  [15:0] io_div // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.4]
);
  reg [1:0] debounce; // @[UARTRx.scala 16:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245708.4]
  reg [31:0] _RAND_0;
  wire  debounce_max; // @[UARTRx.scala 17:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245709.4]
  wire  debounce_min; // @[UARTRx.scala 18:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245710.4]
  reg [12:0] prescaler; // @[UARTRx.scala 20:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245711.4]
  reg [31:0] _RAND_1;
  wire  pulse; // @[UARTRx.scala 22:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245715.4]
  reg [3:0] data_count; // @[UARTRx.scala 26:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245716.4]
  reg [31:0] _RAND_2;
  wire  data_last; // @[UARTRx.scala 27:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.4]
  reg [3:0] sample_count; // @[UARTRx.scala 28:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245718.4]
  reg [31:0] _RAND_3;
  wire  sample_mid; // @[UARTRx.scala 29:34:shc.marmotcaravel.MarmotCaravelConfig.fir@245719.4]
  wire [7:0] _T_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245721.4]
  wire [8:0] _T_15; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245722.4]
  wire [8:0] _T_16; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245723.4]
  wire [7:0] countdown; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245724.4]
  wire [3:0] remainder; // @[UARTRx.scala 36:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245725.4]
  wire  extend; // @[UARTRx.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245726.4]
  reg  state; // @[UARTRx.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@245749.4]
  reg [31:0] _RAND_4;
  wire  _T_34; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245750.4]
  wire  _T_42; // @[UARTRx.scala 59:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245762.6]
  wire  _GEN_8; // @[UARTRx.scala 59:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245763.6]
  wire  start; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245751.4]
  wire  restore; // @[UARTRx.scala 38:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245727.4]
  wire [11:0] _T_17; // @[UARTRx.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245728.4]
  wire [12:0] prescaler_in; // @[UARTRx.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245729.4]
  wire  _T_18; // @[UARTRx.scala 40:51:shc.marmotcaravel.MarmotCaravelConfig.fir@245730.4]
  wire  _T_19; // @[UARTRx.scala 40:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245731.4]
  wire [12:0] _GEN_41; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245732.4]
  wire [13:0] _T_20; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245732.4]
  wire [13:0] _T_21; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245733.4]
  wire [12:0] prescaler_next; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245734.4]
  reg [2:0] sample; // @[UARTRx.scala 42:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245735.4]
  reg [31:0] _RAND_5;
  wire  _T_23; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245736.4]
  wire  _T_24; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245737.4]
  wire  _T_25; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245738.4]
  wire  _T_26; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245739.4]
  wire  _T_27; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245740.4]
  wire  _T_28; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245741.4]
  wire  _T_29; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245742.4]
  wire  voter; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245743.4]
  reg [7:0] shifter; // @[UARTRx.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245744.4]
  reg [31:0] _RAND_6;
  reg  valid; // @[UARTRx.scala 46:18:shc.marmotcaravel.MarmotCaravelConfig.fir@245745.4]
  reg [31:0] _RAND_7;
  wire  _T_36; // @[UARTRx.scala 56:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245753.6]
  wire  _T_37; // @[UARTRx.scala 56:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245754.6]
  wire  _T_38; // @[UARTRx.scala 56:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245755.6]
  wire [2:0] _T_39; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245757.8]
  wire [2:0] _T_40; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245758.8]
  wire [1:0] _T_41; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245759.8]
  wire [1:0] _T_44; // @[UARTRx.scala 60:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245765.8]
  wire [3:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245781.10]
  wire [3:0] _T_47; // @[UARTRx.scala 75:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245783.10]
  wire [3:0] _T_48; // @[UARTRx.scala 76:34:shc.marmotcaravel.MarmotCaravelConfig.fir@245785.10]
  wire [6:0] _T_49; // @[UARTRx.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@245793.14]
  wire [7:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245794.14]
  wire [3:0] _GEN_18; // @[UARTRx.scala 73:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245780.8]
  wire [3:0] _GEN_25; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@245778.6]
  wire [3:0] _GEN_37; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245751.4]
  wire  _T_51; // @[UARTRx.scala 90:9:shc.marmotcaravel.MarmotCaravelConfig.fir@245800.4]
  assign debounce_max = debounce == 2'h3; // @[UARTRx.scala 17:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245709.4]
  assign debounce_min = debounce == 2'h0; // @[UARTRx.scala 18:32:shc.marmotcaravel.MarmotCaravelConfig.fir@245710.4]
  assign pulse = prescaler == 13'h0; // @[UARTRx.scala 22:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245715.4]
  assign data_last = data_count == 4'h0; // @[UARTRx.scala 27:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.4]
  assign sample_mid = sample_count == 4'h7; // @[UARTRx.scala 29:34:shc.marmotcaravel.MarmotCaravelConfig.fir@245719.4]
  assign _T_14 = {data_count,sample_count}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245721.4]
  assign _T_15 = _T_14 - 8'h1; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245722.4]
  assign _T_16 = $unsigned(_T_15); // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245723.4]
  assign countdown = _T_16[7:0]; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245724.4]
  assign remainder = io_div[3:0]; // @[UARTRx.scala 36:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245725.4]
  assign extend = sample_count < remainder; // @[UARTRx.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245726.4]
  assign _T_34 = 1'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245750.4]
  assign _T_42 = io_in == 1'h0; // @[UARTRx.scala 59:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245762.6]
  assign _GEN_8 = _T_42 ? debounce_max : 1'h0; // @[UARTRx.scala 59:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245763.6]
  assign start = _T_34 ? _GEN_8 : 1'h0; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245751.4]
  assign restore = start | pulse; // @[UARTRx.scala 38:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245727.4]
  assign _T_17 = io_div[15:4]; // @[UARTRx.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245728.4]
  assign prescaler_in = restore ? {{1'd0}, _T_17} : prescaler; // @[UARTRx.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245729.4]
  assign _T_18 = restore & extend; // @[UARTRx.scala 40:51:shc.marmotcaravel.MarmotCaravelConfig.fir@245730.4]
  assign _T_19 = _T_18 ? 1'h0 : 1'h1; // @[UARTRx.scala 40:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245731.4]
  assign _GEN_41 = {{12'd0}, _T_19}; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245732.4]
  assign _T_20 = prescaler_in - _GEN_41; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245732.4]
  assign _T_21 = $unsigned(_T_20); // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245733.4]
  assign prescaler_next = _T_21[12:0]; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245734.4]
  assign _T_23 = sample[0]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245736.4]
  assign _T_24 = sample[1]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245737.4]
  assign _T_25 = sample[2]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245738.4]
  assign _T_26 = _T_23 & _T_24; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245739.4]
  assign _T_27 = _T_23 & _T_25; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245740.4]
  assign _T_28 = _T_26 | _T_27; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245741.4]
  assign _T_29 = _T_24 & _T_25; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245742.4]
  assign voter = _T_28 | _T_29; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@245743.4]
  assign _T_36 = _T_42 == 1'h0; // @[UARTRx.scala 56:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245753.6]
  assign _T_37 = debounce_min == 1'h0; // @[UARTRx.scala 56:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245754.6]
  assign _T_38 = _T_36 & _T_37; // @[UARTRx.scala 56:23:shc.marmotcaravel.MarmotCaravelConfig.fir@245755.6]
  assign _T_39 = debounce - 2'h1; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245757.8]
  assign _T_40 = $unsigned(_T_39); // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245758.8]
  assign _T_41 = _T_40[1:0]; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245759.8]
  assign _T_44 = debounce + 2'h1; // @[UARTRx.scala 60:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245765.8]
  assign _T_46 = {sample,io_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245781.10]
  assign _T_47 = countdown[7:4]; // @[UARTRx.scala 75:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245783.10]
  assign _T_48 = countdown[3:0]; // @[UARTRx.scala 76:34:shc.marmotcaravel.MarmotCaravelConfig.fir@245785.10]
  assign _T_49 = shifter[7:1]; // @[UARTRx.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@245793.14]
  assign _T_50 = {voter,_T_49}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245794.14]
  assign _GEN_18 = pulse ? _T_46 : {{1'd0}, sample}; // @[UARTRx.scala 73:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245780.8]
  assign _GEN_25 = state ? _GEN_18 : {{1'd0}, sample}; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@245778.6]
  assign _GEN_37 = _T_34 ? {{1'd0}, sample} : _GEN_25; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245751.4]
  assign _T_51 = io_en == 1'h0; // @[UARTRx.scala 90:9:shc.marmotcaravel.MarmotCaravelConfig.fir@245800.4]
  assign io_out_valid = valid; // @[UARTRx.scala 48:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245747.4]
  assign io_out_bits = shifter; // @[UARTRx.scala 49:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245748.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@245860.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245861.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245862.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245874.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245874.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245874.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245874.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245956.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@245957.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@245958.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@245959.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@245960.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@245961.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245980.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245980.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245983.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245985.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245987.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@245988.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@245993.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245994.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245997.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@245999.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246003.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@245995.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246000.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246011.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246013.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246035.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246036.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246037.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246038.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246040.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246042.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246044.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246046.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246047.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246048.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246049.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246065.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246066.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246068.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246069.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246529.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246528.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246537.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246527.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246538.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246557.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246558.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246539.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246540.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246644.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246645.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246648.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246649.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246077.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246128.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246129.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246130.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246134.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246135.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246137.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@246080.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246148.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246151.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246154.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246155.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246165.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246176.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246179.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246180.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246190.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246200.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246541.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246571.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246572.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246227.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246253.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246254.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246280.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246283.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246286.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246287.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246546.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246705.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246706.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246295.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246297.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246542.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246668.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246669.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246323.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246351.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246366.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246369.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246372.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246373.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246381.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246383.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246395.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246396.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246543.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246678.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246679.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246411.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246439.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246453.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246454.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246544.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246687.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246688.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246469.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246497.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246512.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246931.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246932.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246933.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246934.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246935.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  TLBuffer_18 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245868.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@245874.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_62 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245886.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@245940.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_15 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.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@245948.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_15 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245952.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@245983.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245985.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245987.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@245988.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@245993.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245994.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@245997.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@245999.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246003.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@245995.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246000.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246011.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246013.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246035.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246036.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246037.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@246038.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246040.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246042.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246044.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246046.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246047.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246048.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246049.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246065.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246066.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246068.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246069.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246529.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246528.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246537.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246527.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246538.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246557.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246558.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246539.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246540.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246644.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246645.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246648.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246649.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246077.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246128.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246129.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246130.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246134.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246135.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246137.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@246080.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246148.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246151.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246154.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246155.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246165.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246176.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246179.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246180.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246190.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246200.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246541.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246571.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246572.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246227.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246253.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246254.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246280.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246283.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246286.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246287.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246546.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246705.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246706.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246295.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246297.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246542.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246668.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246669.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246323.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246351.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246366.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246369.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246372.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246373.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246381.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246383.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246395.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246396.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246543.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246678.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246679.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246411.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246439.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246453.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246454.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246544.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246687.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246688.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246469.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246497.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246512.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246931.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246932.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246933.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246934.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246927.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246935.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@246937.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245939.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245938.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245938.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245938.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245938.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245938.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245938.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245937.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245872.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245873.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245935.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245934.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245878.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245879.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@245933.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245888.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245889.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@245922.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245942.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245943.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245962.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245963.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245963.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245964.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245965.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245946.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245947.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246082.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246083.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245963.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245950.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245951.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245967.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@245968.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245970.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245954.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245955.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245969.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245969.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246217.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_63( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247032.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247033.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247034.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@248162.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@247062.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@247063.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@247064.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@247065.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@247065.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247066.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@247068.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247069.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@247071.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@247072.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247073.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247074.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247075.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247077.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247078.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247080.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247081.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247082.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247083.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247084.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247085.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247086.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247087.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247088.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247089.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247090.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247091.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247092.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247093.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247094.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247095.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247096.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@247097.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@247098.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@247099.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247122.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@247125.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@247126.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@247127.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@247128.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@247129.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247134.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247155.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247156.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247162.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247163.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247168.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247170.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247171.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@247176.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247177.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247179.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247180.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@247185.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247187.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247188.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247194.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247248.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247250.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247251.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247274.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@247277.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@247285.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247288.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247289.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247308.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247310.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247311.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247316.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247318.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247333.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247384.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247426.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247427.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@247428.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247430.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247431.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247437.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@247468.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247470.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247471.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247485.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247516.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247518.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247519.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247533.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247583.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247585.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247586.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247603.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247612.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247614.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247615.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247645.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247703.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247893.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247902.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247903.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247904.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247905.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247906.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247917.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247918.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247919.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247920.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247921.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247922.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247923.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247925.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247927.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247928.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247933.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247935.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247936.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247941.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247943.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247944.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247949.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247951.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247952.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247957.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247959.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247960.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247967.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247975.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247983.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247984.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247985.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247986.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247987.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247998.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@248000.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@248001.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@248004.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248005.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248007.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248009.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248010.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248023.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248025.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248026.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248031.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248033.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248034.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248057.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248066.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248076.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248077.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248078.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248079.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248080.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248099.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248100.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248101.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248102.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248103.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248118.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248121.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@248123.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@248124.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248125.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248127.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248128.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@248120.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248139.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@248141.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@248142.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248144.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248146.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@248147.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@248148.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248150.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248151.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@248143.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248157.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248158.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248159.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248161.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@248164.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248165.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248166.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248167.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@248168.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@248169.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248171.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248172.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248178.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247136.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247208.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247291.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247350.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247401.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247451.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247499.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247547.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247617.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247658.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247716.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@248162.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@247062.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@247063.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@247064.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@247065.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@247065.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247066.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@247068.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247069.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@247071.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@247072.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247073.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247074.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247075.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247077.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247078.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247080.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247081.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247082.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247083.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247084.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247085.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247086.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247087.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247088.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247089.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247090.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247091.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247092.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247093.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247094.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247095.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247096.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@247097.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@247098.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@247099.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247122.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@247125.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@247126.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@247127.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@247128.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@247129.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247134.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247155.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247156.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247162.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247163.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247168.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247170.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247171.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@247176.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247177.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247179.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247180.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@247185.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247187.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247188.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247194.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247248.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247250.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247251.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247274.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@247277.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@247285.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247288.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247289.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247308.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247310.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247311.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247316.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247318.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247333.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247384.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247426.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247427.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@247428.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247430.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247431.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247437.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@247468.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247470.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247471.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247485.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247516.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247518.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247519.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247533.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247583.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247585.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247586.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247603.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247612.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247614.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247615.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247645.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247703.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247893.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247903.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247904.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247905.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247906.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247922.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247923.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247925.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247927.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247928.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247933.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247935.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247936.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247941.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247943.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247944.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247949.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247951.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247952.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247957.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247959.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247960.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247967.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247975.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247984.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247985.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247986.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247987.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@248004.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248005.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248007.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248009.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248010.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248023.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248025.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248026.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248031.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248033.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248034.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248057.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248077.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248078.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248079.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248080.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248100.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248101.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248102.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248103.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248118.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248121.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@248123.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@248124.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248125.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248127.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248128.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@248120.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248139.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@248141.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@248142.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248144.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248146.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@248147.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@248148.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248150.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248151.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@248143.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248157.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248158.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248159.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@248164.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248165.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248166.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248167.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@248168.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@248169.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248171.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248172.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248178.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247136.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247208.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247291.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247350.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247401.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247451.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247499.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247547.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247617.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247658.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247716.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@247047.8]
        end
    `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@247048.8]
        end
    `ifdef STOP_COND
      end
    `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@247119.8]
        end
    `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@247120.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@247136.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@247137.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@247143.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@247144.10]
        end
    `ifdef STOP_COND
      end
    `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@247150.10]
        end
    `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@247151.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@247158.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@247159.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@247165.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@247166.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@247173.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@247174.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@247182.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@247183.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@247190.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@247191.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@247208.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@247209.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@247215.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@247216.10]
        end
    `ifdef STOP_COND
      end
    `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@247222.10]
        end
    `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@247223.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@247230.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@247231.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@247237.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@247238.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@247245.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@247246.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@247253.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@247254.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@247262.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@247263.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@247270.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@247271.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@247291.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@247292.10]
        end
    `ifdef STOP_COND
      end
    `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@247298.10]
        end
    `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@247299.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@247305.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@247306.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@247313.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@247314.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@247321.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@247322.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@247329.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@247330.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@247350.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@247351.10]
        end
    `ifdef STOP_COND
      end
    `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@247357.10]
        end
    `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@247358.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@247364.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@247365.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@247372.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@247373.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@247380.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@247381.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@247401.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@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: '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@247408.10]
        end
    `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@247409.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@247415.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@247416.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@247423.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@247424.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@247433.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@247434.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@247451.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@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: '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@247458.10]
        end
    `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@247459.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@247465.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@247466.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@247473.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@247474.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@247481.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@247482.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@247499.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@247500.10]
        end
    `ifdef STOP_COND
      end
    `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@247506.10]
        end
    `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@247507.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@247513.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@247514.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@247521.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@247522.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@247529.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@247530.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@247547.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@247548.10]
        end
    `ifdef STOP_COND
      end
    `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@247554.10]
        end
    `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@247555.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@247561.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@247562.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@247569.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@247570.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@247577.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@247578.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@247588.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@247589.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247609.10]
        end
    `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@247610.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@247617.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@247618.10]
        end
    `ifdef STOP_COND
      end
    `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@247625.10]
        end
    `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@247626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247633.10]
        end
    `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@247634.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247641.10]
        end
    `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@247642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247651.10]
        end
    `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@247652.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@247658.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@247659.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@247666.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@247667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247674.10]
        end
    `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@247675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247682.10]
        end
    `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@247683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247690.10]
        end
    `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@247691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247699.10]
        end
    `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@247700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247709.10]
        end
    `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@247710.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@247716.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@247717.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@247724.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@247725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247732.10]
        end
    `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@247733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247740.10]
        end
    `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@247741.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@247749.10]
        end
    `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@247750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@247758.10]
        end
    `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@247759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247768.10]
        end
    `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@247769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247776.10]
        end
    `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@247777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247784.10]
        end
    `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@247785.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247793.10]
        end
    `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@247794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247803.10]
        end
    `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@247804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247811.10]
        end
    `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@247812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@247820.10]
        end
    `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@247821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@247829.10]
        end
    `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@247830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247839.10]
        end
    `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@247840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@247847.10]
        end
    `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@247848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247855.10]
        end
    `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@247856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@247864.10]
        end
    `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@247865.10]
        end
    `ifdef STOP_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@247874.6]
        end
    `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@247875.6]
        end
    `ifdef STOP_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@247882.6]
        end
    `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@247883.6]
        end
    `ifdef STOP_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@247890.6]
        end
    `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@247891.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@247930.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@247931.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@247938.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@247939.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@247946.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@247947.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@247954.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@247955.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@247962.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@247963.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@248012.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@248013.8]
        end
    `ifdef STOP_COND
      end
    `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@248020.8]
        end
    `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@248021.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@248028.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@248029.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@248036.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@248037.8]
        end
    `ifdef STOP_COND
      end
    `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@248044.8]
        end
    `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@248045.8]
        end
    `ifdef STOP_COND
      end
    `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@248052.8]
        end
    `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@248053.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@248130.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@248131.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@248153.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@248154.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@248174.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@248175.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248187.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248189.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248190.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.4]
  TLMonitor_63 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248197.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@248237.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248237.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248237.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248237.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248237.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248237.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248199.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248233.4]
endmodule
module TLMonitor_64( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248308.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248309.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248310.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@249438.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@248338.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@248339.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@248340.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248341.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248341.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248342.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248344.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248345.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@248347.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248348.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248349.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248350.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248351.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248353.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248354.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248356.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248357.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248358.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248359.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248360.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248361.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248362.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248363.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248364.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248365.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248366.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248367.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248368.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248369.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248370.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248371.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248372.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248373.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248374.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248375.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248398.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248401.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248402.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@248403.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@248404.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@248405.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248410.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248431.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248432.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248438.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248439.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248444.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248446.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248447.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248452.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248453.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248455.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248456.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248461.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248463.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248464.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248470.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248524.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248526.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248527.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248550.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@248553.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@248561.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248564.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248565.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248584.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248586.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248587.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248592.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248594.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248595.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248609.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248660.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@248702.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248703.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@248704.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248706.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248707.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248713.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@248744.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248746.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248747.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248761.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@248792.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248794.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248795.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248809.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248859.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248861.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248862.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248879.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248888.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248890.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248891.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248921.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248979.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249169.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249178.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249179.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249180.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249181.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249182.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249193.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249194.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249195.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249196.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249197.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249198.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249199.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249201.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249203.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249204.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249209.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249211.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249212.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249217.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249219.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249220.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249225.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249227.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249228.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249233.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249235.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249236.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249243.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249259.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249260.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249261.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249262.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249263.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249274.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249276.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249277.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249280.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249281.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249283.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249285.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249286.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249299.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249301.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249302.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249307.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249309.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249310.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249333.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249342.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249352.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249353.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249354.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249355.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249356.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249375.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249376.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249377.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249378.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249394.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@249397.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@249399.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@249400.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249401.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249403.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249404.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@249396.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249415.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@249417.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@249418.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@249420.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249422.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@249423.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@249424.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249426.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249427.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@249419.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249433.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249434.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@249435.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249437.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@249440.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249441.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@249442.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249443.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@249444.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249445.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249447.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249448.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249454.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249458.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248412.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248484.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248567.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248626.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248677.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248727.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248775.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248823.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248893.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248934.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248992.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@249438.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@248338.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@248339.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@248340.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248341.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248341.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248342.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248344.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248345.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@248347.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248348.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248349.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248350.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248351.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248353.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248354.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248356.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248357.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248358.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248359.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248360.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248361.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248362.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248363.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248364.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248365.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248366.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248367.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248368.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248369.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248370.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@248371.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248372.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248373.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248374.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248375.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248398.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248401.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248402.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@248403.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@248404.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@248405.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248410.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248431.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248432.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248438.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248439.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248444.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248446.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248447.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248452.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248453.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248455.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248456.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248461.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248463.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248464.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248470.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248524.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248526.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248527.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248550.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@248553.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@248561.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248564.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248565.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248584.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248586.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248587.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248592.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248594.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248595.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248609.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248660.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@248702.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248703.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@248704.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248706.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248707.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248713.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@248744.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248746.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248747.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248761.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@248792.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248794.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248795.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248809.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248859.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248861.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248862.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248879.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@248888.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248890.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248891.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248921.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248979.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249169.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249179.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249180.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249181.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249182.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249198.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249199.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249201.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249203.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249204.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249209.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249211.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249212.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249217.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249219.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249220.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249225.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249227.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249228.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249233.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249235.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249236.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249243.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249260.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249261.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249262.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249263.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@249280.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249281.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249283.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249285.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249286.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249299.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249301.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249302.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249307.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249309.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249310.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249333.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249353.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249354.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249355.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249356.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249376.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249377.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249378.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249394.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@249397.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@249399.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@249400.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249401.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249403.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249404.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@249396.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249415.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@249417.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@249418.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@249420.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249422.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@249423.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@249424.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249426.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249427.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@249419.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249433.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249434.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@249435.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@249440.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249441.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@249442.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249443.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@249444.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249445.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249447.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249448.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249454.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249458.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248412.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248484.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248567.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248626.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248677.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248727.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248775.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248823.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248893.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248934.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248992.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@248323.8]
        end
    `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@248324.8]
        end
    `ifdef STOP_COND
      end
    `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@248395.8]
        end
    `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@248396.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@248412.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@248413.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@248419.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@248420.10]
        end
    `ifdef STOP_COND
      end
    `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@248426.10]
        end
    `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@248427.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@248434.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@248435.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@248441.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@248442.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@248449.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@248450.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@248458.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@248459.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@248466.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@248467.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@248484.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@248485.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@248491.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@248492.10]
        end
    `ifdef STOP_COND
      end
    `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@248498.10]
        end
    `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@248499.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@248506.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@248507.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@248513.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@248514.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@248521.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@248522.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@248529.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@248530.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@248538.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@248539.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@248546.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@248547.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@248567.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@248568.10]
        end
    `ifdef STOP_COND
      end
    `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@248574.10]
        end
    `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@248575.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@248581.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@248582.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@248589.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@248590.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@248597.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@248598.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@248605.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@248606.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@248626.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@248627.10]
        end
    `ifdef STOP_COND
      end
    `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@248633.10]
        end
    `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@248634.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@248640.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@248641.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@248648.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@248649.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@248656.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@248657.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@248677.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@248678.10]
        end
    `ifdef STOP_COND
      end
    `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@248684.10]
        end
    `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@248685.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@248691.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@248692.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@248699.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@248700.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@248709.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@248710.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@248727.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@248728.10]
        end
    `ifdef STOP_COND
      end
    `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@248734.10]
        end
    `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@248735.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@248741.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@248742.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@248749.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@248750.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@248757.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@248758.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@248775.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@248776.10]
        end
    `ifdef STOP_COND
      end
    `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@248782.10]
        end
    `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@248783.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@248789.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@248790.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@248797.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@248798.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@248805.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@248806.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@248823.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@248824.10]
        end
    `ifdef STOP_COND
      end
    `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@248830.10]
        end
    `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@248831.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@248837.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@248838.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@248845.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@248846.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@248853.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@248854.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@248864.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@248865.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@248885.10]
        end
    `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@248886.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@248893.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@248894.10]
        end
    `ifdef STOP_COND
      end
    `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@248901.10]
        end
    `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@248902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@248909.10]
        end
    `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@248910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@248917.10]
        end
    `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@248918.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@248927.10]
        end
    `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@248928.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@248934.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@248935.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@248942.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@248943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@248950.10]
        end
    `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@248951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@248958.10]
        end
    `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@248959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@248966.10]
        end
    `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@248967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@248975.10]
        end
    `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@248976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@248985.10]
        end
    `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@248986.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@248992.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@248993.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@249000.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@249001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@249008.10]
        end
    `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@249009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@249016.10]
        end
    `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@249017.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@249025.10]
        end
    `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@249026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@249034.10]
        end
    `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@249035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@249044.10]
        end
    `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@249045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@249052.10]
        end
    `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@249053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@249060.10]
        end
    `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@249061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@249069.10]
        end
    `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@249070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@249079.10]
        end
    `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@249080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@249087.10]
        end
    `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@249088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@249096.10]
        end
    `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@249097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@249105.10]
        end
    `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@249106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@249115.10]
        end
    `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@249116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@249123.10]
        end
    `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@249124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@249131.10]
        end
    `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@249132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@249140.10]
        end
    `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@249141.10]
        end
    `ifdef STOP_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@249150.6]
        end
    `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@249151.6]
        end
    `ifdef STOP_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@249158.6]
        end
    `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@249159.6]
        end
    `ifdef STOP_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@249166.6]
        end
    `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@249167.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@249206.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@249207.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@249214.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@249215.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@249222.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@249223.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@249230.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@249231.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@249238.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@249239.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@249288.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@249289.8]
        end
    `ifdef STOP_COND
      end
    `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@249296.8]
        end
    `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@249297.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@249304.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@249305.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@249312.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@249313.8]
        end
    `ifdef STOP_COND
      end
    `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@249320.8]
        end
    `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@249321.8]
        end
    `ifdef STOP_COND
      end
    `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@249328.8]
        end
    `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@249329.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@249406.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@249407.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@249429.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@249430.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@249450.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@249451.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249748.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249749.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249750.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249762.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249762.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249762.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249762.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249844.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@249845.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@249846.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@249847.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@249848.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@249849.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249868.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249868.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249871.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249873.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249875.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@249876.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@249881.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249882.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@249885.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@249887.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249891.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@249883.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249888.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249899.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249901.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249923.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249924.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249925.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249926.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249928.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249930.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249932.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249934.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249935.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249936.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249937.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249953.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249954.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249956.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249957.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250417.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250416.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250425.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250415.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250426.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250445.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250446.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250427.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250428.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250532.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250533.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250536.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250537.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249965.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250016.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250017.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250018.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250022.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250023.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250025.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@249968.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250036.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250039.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250042.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250043.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250053.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250064.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250067.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250068.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250078.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250088.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250429.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250459.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250460.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250115.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250141.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250142.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250168.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250171.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250174.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250175.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250434.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250593.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250594.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250183.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250185.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250430.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250556.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250557.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250211.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250239.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250254.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250257.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250260.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250261.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250269.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250271.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250283.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250284.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250431.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250566.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250567.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250299.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250327.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250341.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250342.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250432.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250575.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250576.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250357.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250385.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250400.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250819.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250820.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250821.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250822.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250823.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  TLBuffer_19 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249756.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@249762.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_64 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249774.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@249828.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_15 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.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@249836.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_15 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249840.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@249871.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249873.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249875.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@249876.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@249881.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249882.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@249885.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@249887.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249891.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@249883.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249888.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249899.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249901.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249923.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249924.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249925.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@249926.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249928.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249930.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249932.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249934.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249935.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249936.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249937.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249953.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249954.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249956.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249957.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250417.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250416.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250425.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250415.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250426.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250445.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250446.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250427.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250428.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250532.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250533.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250536.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250537.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249965.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250016.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250017.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250018.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250022.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250023.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250025.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@249968.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250036.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250039.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250042.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250043.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250053.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250064.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250067.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250068.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250078.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250088.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250429.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250459.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250460.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250115.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250141.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250142.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250168.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250171.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250174.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250175.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250434.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250593.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250594.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250183.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250185.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250430.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250556.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250557.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250211.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250239.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250254.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250257.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250260.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250261.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250269.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250271.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250283.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250284.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250431.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250566.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250567.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250299.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250327.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250341.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250342.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250432.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250575.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250576.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250357.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250385.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250400.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250819.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250820.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250821.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250822.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250815.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250823.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@250825.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249827.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249826.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249826.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249826.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249826.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249826.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249826.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249825.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249760.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249761.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249823.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249822.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249766.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249767.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@249821.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249776.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249777.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@249810.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249830.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249831.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249850.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249851.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249851.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249852.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249853.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249834.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249835.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249970.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249971.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249851.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249838.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249839.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249855.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@249856.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249858.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249842.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249843.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249857.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249857.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250105.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_65( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250920.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250921.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250922.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@252050.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@250950.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@250951.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@250952.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250953.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250953.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250954.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250956.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250957.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@250959.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250960.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250961.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250962.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250963.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250965.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250966.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250968.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250969.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250970.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250971.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250972.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250973.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250974.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250975.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250976.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250977.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250978.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250979.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250980.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250981.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250982.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250983.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250984.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250985.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250986.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250987.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251010.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@251013.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@251014.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251015.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251016.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@251017.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251022.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251043.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251044.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251050.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251051.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251056.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251058.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251059.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@251064.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251065.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251067.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251068.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@251073.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251075.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251076.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251082.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251136.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251138.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251139.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251162.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@251165.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@251173.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251176.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251177.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251196.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251198.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251199.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251204.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251206.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251221.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251272.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251314.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251315.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@251316.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251318.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251319.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251325.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@251356.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251358.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251359.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251373.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251404.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251406.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251407.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251421.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@251471.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251473.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251474.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251491.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251500.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251502.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251503.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251533.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251591.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251781.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251790.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251791.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251792.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251793.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251794.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251805.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251806.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251807.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251808.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251809.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251810.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251811.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251813.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251815.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251816.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251821.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251823.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251824.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251829.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251831.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251832.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251837.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251839.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251840.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251845.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251847.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251848.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251855.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251863.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251871.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251872.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251873.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251874.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251875.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251886.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251888.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251889.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251892.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251893.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251895.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251897.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251898.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251911.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251913.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251914.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251919.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251921.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251922.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251945.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251954.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251964.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251965.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251966.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251967.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251968.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251987.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251988.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251989.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251990.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251991.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252006.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252009.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@252011.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@252012.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252013.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252015.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252016.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@252008.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252027.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@252029.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@252030.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252032.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252034.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@252035.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@252036.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252038.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252039.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@252031.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252045.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252046.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252047.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252049.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@252052.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252053.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252054.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252055.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@252056.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@252057.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252059.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252060.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252066.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251024.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251096.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251179.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251238.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251289.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251339.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251387.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251435.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251505.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251546.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251604.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@252050.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@250950.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@250951.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@250952.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250953.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250953.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250954.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250956.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250957.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@250959.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250960.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250961.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250962.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250963.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250965.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250966.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250968.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250969.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250970.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250971.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250972.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250973.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250974.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250975.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250976.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250977.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250978.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250979.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250980.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250981.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250982.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250983.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250984.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250985.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250986.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250987.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251010.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@251013.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@251014.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251015.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251016.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@251017.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251022.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251043.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251044.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251050.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251051.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251056.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251058.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251059.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@251064.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251065.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251067.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251068.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@251073.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251075.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251076.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251082.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251136.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251138.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251139.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251162.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@251165.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@251173.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251176.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251177.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251196.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251198.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251199.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251204.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251206.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251221.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251272.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251314.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251315.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@251316.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251318.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251319.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251325.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@251356.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251358.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251359.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251373.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251404.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251406.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251407.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251421.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@251471.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251473.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251474.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251491.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251500.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251502.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251503.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251533.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251591.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251781.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251791.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251792.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251793.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251794.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251810.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251811.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251813.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251815.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251816.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251821.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251823.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251824.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251829.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251831.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251832.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251837.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251839.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251840.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251845.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251847.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251848.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251855.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251863.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251872.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251873.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251874.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251875.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251892.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251893.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251895.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251897.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251898.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251911.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251913.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251914.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251919.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251921.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251922.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251945.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251965.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251966.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251967.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251968.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251988.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251989.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251990.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251991.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252006.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252009.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@252011.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@252012.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252013.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252015.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252016.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@252008.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252027.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@252029.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@252030.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252032.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252034.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@252035.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@252036.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252038.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252039.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@252031.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252045.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252046.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252047.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@252052.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252053.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252054.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252055.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@252056.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@252057.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252059.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252060.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252066.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251024.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251096.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251179.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251238.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251289.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251339.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251387.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251435.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251505.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251546.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251604.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@250935.8]
        end
    `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@250936.8]
        end
    `ifdef STOP_COND
      end
    `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@251007.8]
        end
    `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@251008.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@251024.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@251025.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@251031.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@251032.10]
        end
    `ifdef STOP_COND
      end
    `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@251038.10]
        end
    `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@251039.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@251046.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@251047.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@251053.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@251054.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@251061.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@251062.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@251070.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@251071.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@251078.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@251079.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@251096.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@251097.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@251103.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@251104.10]
        end
    `ifdef STOP_COND
      end
    `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@251110.10]
        end
    `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@251111.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@251118.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@251119.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@251125.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@251126.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@251133.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@251134.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@251141.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@251142.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@251150.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@251151.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@251158.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@251159.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@251179.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@251180.10]
        end
    `ifdef STOP_COND
      end
    `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@251186.10]
        end
    `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@251187.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@251193.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@251194.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@251201.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@251202.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@251209.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@251210.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@251217.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@251218.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@251238.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@251239.10]
        end
    `ifdef STOP_COND
      end
    `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@251245.10]
        end
    `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@251246.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@251252.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@251253.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@251260.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@251261.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@251268.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@251269.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@251289.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@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: '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@251296.10]
        end
    `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@251297.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@251303.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@251304.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@251311.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@251312.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@251321.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@251322.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@251339.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@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: '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@251346.10]
        end
    `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@251347.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@251353.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@251354.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@251361.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@251362.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@251369.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@251370.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@251387.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@251388.10]
        end
    `ifdef STOP_COND
      end
    `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@251394.10]
        end
    `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@251395.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@251401.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@251402.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@251409.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@251410.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@251417.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@251418.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@251435.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@251436.10]
        end
    `ifdef STOP_COND
      end
    `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@251442.10]
        end
    `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@251443.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@251449.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@251450.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@251457.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@251458.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@251465.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@251466.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@251476.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@251477.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251497.10]
        end
    `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@251498.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@251505.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@251506.10]
        end
    `ifdef STOP_COND
      end
    `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@251513.10]
        end
    `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@251514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251521.10]
        end
    `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@251522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251529.10]
        end
    `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@251530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251539.10]
        end
    `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@251540.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@251546.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@251547.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@251554.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@251555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251562.10]
        end
    `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@251563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251570.10]
        end
    `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@251571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251578.10]
        end
    `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@251579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251587.10]
        end
    `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@251588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251597.10]
        end
    `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@251598.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@251604.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@251605.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@251612.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@251613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251620.10]
        end
    `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@251621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251628.10]
        end
    `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@251629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@251637.10]
        end
    `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@251638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@251646.10]
        end
    `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@251647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251656.10]
        end
    `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@251657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251664.10]
        end
    `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@251665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251672.10]
        end
    `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@251673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251681.10]
        end
    `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@251682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251691.10]
        end
    `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@251692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251699.10]
        end
    `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@251700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@251708.10]
        end
    `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@251709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@251717.10]
        end
    `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@251718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251727.10]
        end
    `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@251728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@251735.10]
        end
    `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@251736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251743.10]
        end
    `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@251744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@251752.10]
        end
    `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@251753.10]
        end
    `ifdef STOP_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@251762.6]
        end
    `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@251763.6]
        end
    `ifdef STOP_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@251770.6]
        end
    `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@251771.6]
        end
    `ifdef STOP_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@251778.6]
        end
    `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@251779.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@251818.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@251819.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@251826.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@251827.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@251834.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@251835.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@251842.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@251843.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@251850.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@251851.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@251900.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@251901.8]
        end
    `ifdef STOP_COND
      end
    `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@251908.8]
        end
    `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@251909.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@251916.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@251917.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@251924.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@251925.8]
        end
    `ifdef STOP_COND
      end
    `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@251932.8]
        end
    `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@251933.8]
        end
    `ifdef STOP_COND
      end
    `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@251940.8]
        end
    `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@251941.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@252018.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@252019.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@252041.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@252042.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@252062.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@252063.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252075.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252077.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252078.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.4]
  TLMonitor_65 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252085.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@252125.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252125.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252125.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252125.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252125.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252125.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252087.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252121.4]
endmodule
module TLMonitor_66( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252196.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252197.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252198.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@253326.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@252226.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@252227.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@252228.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252229.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252229.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252230.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252232.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252233.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@252235.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252236.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252237.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252238.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@252239.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252241.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252242.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252244.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252245.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252246.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252247.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@252248.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252249.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252250.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252251.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252252.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252253.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252254.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252255.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252256.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252257.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252258.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252259.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252260.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252261.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252262.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252263.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252286.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252289.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252290.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@252291.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@252292.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@252293.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252298.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252319.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252320.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252326.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252327.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252332.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252334.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252335.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252340.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252341.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252343.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252344.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252349.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252351.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252352.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252358.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252412.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252414.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252415.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252438.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@252441.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@252449.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252452.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252453.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252472.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252474.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252475.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252480.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252482.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252483.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252497.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252548.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@252590.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252591.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@252592.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252594.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252595.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252601.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@252632.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252634.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252635.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252649.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@252680.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252682.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252683.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252697.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252747.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252749.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252750.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252767.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252776.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252778.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252779.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252809.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252867.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253057.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253066.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253067.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253068.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253069.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253070.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253081.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253082.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253083.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253084.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253085.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253086.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253087.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253089.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253091.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253092.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253097.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253099.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253100.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253105.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253107.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253108.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253113.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253115.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253116.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253121.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253123.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253124.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253131.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253147.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253148.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253149.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253150.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253151.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253162.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253164.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253165.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253168.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253169.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253171.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253173.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253174.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253187.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253189.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253190.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253195.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253197.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253198.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253221.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253230.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253240.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253241.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253242.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253243.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253244.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253263.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253264.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253265.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253266.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253282.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@253285.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@253287.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@253288.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253289.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253291.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253292.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@253284.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253303.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@253305.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@253306.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@253308.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253310.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@253311.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@253312.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253314.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253315.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@253307.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253321.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253322.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@253323.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253325.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@253328.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253329.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@253330.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253331.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@253332.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253333.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253335.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253336.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253342.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253346.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252300.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252372.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252455.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252514.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252565.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252615.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252663.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252711.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252781.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252822.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252880.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@253326.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@252226.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@252227.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@252228.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252229.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252229.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252230.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252232.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252233.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@252235.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252236.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252237.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252238.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@252239.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252241.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252242.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252244.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252245.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252246.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252247.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@252248.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252249.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252250.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252251.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252252.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252253.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252254.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252255.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252256.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252257.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252258.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@252259.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252260.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252261.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252262.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252263.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252286.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252289.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252290.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@252291.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@252292.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@252293.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252298.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252319.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252320.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252326.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252327.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252332.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252334.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252335.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252340.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252341.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252343.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252344.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252349.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252351.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252352.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252358.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252412.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252414.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252415.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252438.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@252441.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@252449.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252452.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252453.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252472.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252474.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252475.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252480.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252482.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252483.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252497.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252548.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@252590.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252591.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@252592.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252594.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252595.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252601.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@252632.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252634.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252635.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252649.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@252680.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252682.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252683.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252697.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252747.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252749.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252750.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252767.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@252776.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252778.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252779.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252809.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252867.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253057.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253067.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253068.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253069.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253070.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253086.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253087.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253089.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253091.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253092.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253097.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253099.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253100.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253105.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253107.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253108.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253113.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253115.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253116.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253121.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253123.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253124.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253131.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253148.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253149.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253150.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253151.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@253168.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253169.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253171.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253173.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253174.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253187.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253189.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253190.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253195.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253197.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253198.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253221.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253241.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253242.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253243.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253244.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253264.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253265.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253266.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253282.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@253285.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@253287.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@253288.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253289.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253291.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253292.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@253284.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253303.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@253305.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@253306.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@253308.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253310.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@253311.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@253312.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253314.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253315.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@253307.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253321.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253322.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@253323.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@253328.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253329.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@253330.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253331.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@253332.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253333.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253335.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253336.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253342.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253346.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252300.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252372.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252455.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252514.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252565.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252615.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252663.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252711.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252781.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252822.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252880.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@252211.8]
        end
    `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@252212.8]
        end
    `ifdef STOP_COND
      end
    `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@252283.8]
        end
    `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@252284.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@252300.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@252301.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@252307.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@252308.10]
        end
    `ifdef STOP_COND
      end
    `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@252314.10]
        end
    `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@252315.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@252322.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@252323.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@252329.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@252330.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@252337.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@252338.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@252346.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@252347.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@252354.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@252355.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@252372.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@252373.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@252379.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@252380.10]
        end
    `ifdef STOP_COND
      end
    `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@252386.10]
        end
    `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@252387.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@252394.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@252395.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@252401.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@252402.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@252409.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@252410.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@252417.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@252418.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@252426.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@252427.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@252434.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@252435.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@252455.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@252456.10]
        end
    `ifdef STOP_COND
      end
    `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@252462.10]
        end
    `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@252463.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@252469.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@252470.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@252477.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@252478.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@252485.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@252486.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@252493.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@252494.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@252514.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@252515.10]
        end
    `ifdef STOP_COND
      end
    `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@252521.10]
        end
    `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@252522.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@252528.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@252529.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@252536.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@252537.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@252544.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@252545.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@252565.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@252566.10]
        end
    `ifdef STOP_COND
      end
    `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@252572.10]
        end
    `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@252573.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@252579.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@252580.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@252587.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@252588.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@252597.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@252598.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@252615.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@252616.10]
        end
    `ifdef STOP_COND
      end
    `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@252622.10]
        end
    `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@252623.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@252629.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@252630.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@252637.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@252638.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@252645.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@252646.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@252663.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@252664.10]
        end
    `ifdef STOP_COND
      end
    `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@252670.10]
        end
    `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@252671.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@252677.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@252678.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@252685.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@252686.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@252693.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@252694.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@252711.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@252712.10]
        end
    `ifdef STOP_COND
      end
    `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@252718.10]
        end
    `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@252719.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@252725.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@252726.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@252733.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@252734.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@252741.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@252742.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@252752.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@252753.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252773.10]
        end
    `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@252774.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@252781.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@252782.10]
        end
    `ifdef STOP_COND
      end
    `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@252789.10]
        end
    `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@252790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252797.10]
        end
    `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@252798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252805.10]
        end
    `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@252806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252815.10]
        end
    `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@252816.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@252822.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@252823.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@252830.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@252831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252838.10]
        end
    `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@252839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252846.10]
        end
    `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@252847.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252854.10]
        end
    `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@252855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252863.10]
        end
    `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@252864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252873.10]
        end
    `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@252874.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@252880.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@252881.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@252888.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@252889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252896.10]
        end
    `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@252897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252904.10]
        end
    `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@252905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@252913.10]
        end
    `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@252914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@252922.10]
        end
    `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@252923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252932.10]
        end
    `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@252933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252940.10]
        end
    `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@252941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252948.10]
        end
    `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@252949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@252957.10]
        end
    `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@252958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252967.10]
        end
    `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@252968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@252975.10]
        end
    `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@252976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@252984.10]
        end
    `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@252985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@252993.10]
        end
    `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@252994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@253003.10]
        end
    `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@253004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@253011.10]
        end
    `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@253012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@253019.10]
        end
    `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@253020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@253028.10]
        end
    `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@253029.10]
        end
    `ifdef STOP_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@253038.6]
        end
    `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@253039.6]
        end
    `ifdef STOP_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@253046.6]
        end
    `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@253047.6]
        end
    `ifdef STOP_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@253054.6]
        end
    `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@253055.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@253094.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@253095.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@253102.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@253103.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@253110.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@253111.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@253118.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@253119.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@253126.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@253127.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@253176.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@253177.8]
        end
    `ifdef STOP_COND
      end
    `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@253184.8]
        end
    `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@253185.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@253192.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@253193.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@253200.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@253201.8]
        end
    `ifdef STOP_COND
      end
    `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@253208.8]
        end
    `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@253209.8]
        end
    `ifdef STOP_COND
      end
    `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@253216.8]
        end
    `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@253217.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@253294.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@253295.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@253317.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@253318.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@253338.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@253339.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253636.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253637.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253638.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253650.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253650.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253650.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253650.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253732.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@253733.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@253734.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@253735.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@253736.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@253737.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253756.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253756.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253759.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253761.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253763.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@253764.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@253769.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253770.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@253773.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@253775.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253779.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@253771.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253776.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253787.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253789.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253811.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253812.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253813.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253814.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253816.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253818.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253820.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253822.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253823.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253824.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253825.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253841.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253842.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253844.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253845.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254305.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254304.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254313.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254303.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254314.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254333.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254334.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254315.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254316.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254420.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254421.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254424.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254425.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253853.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253904.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253905.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253906.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253910.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253911.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253913.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@253856.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253924.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253927.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253930.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253931.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253941.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253952.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253955.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253956.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253966.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253976.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254317.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254347.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254348.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254003.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254029.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254030.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254056.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254059.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254062.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254063.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254322.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254481.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254482.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254071.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254073.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254318.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254444.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254445.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254099.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254127.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254142.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254145.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254148.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254149.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254157.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254159.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254171.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254172.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254319.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254454.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254455.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254187.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254215.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254229.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254230.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254320.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254463.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254464.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254245.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254273.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254288.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254707.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254708.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254709.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254710.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254711.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  TLBuffer_20 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253644.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@253650.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_66 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253662.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@253716.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_15 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.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@253724.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_15 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253728.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@253759.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253761.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253763.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@253764.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@253769.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253770.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@253773.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@253775.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253779.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@253771.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253776.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253787.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253789.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253811.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253812.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253813.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@253814.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253816.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253818.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253820.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253822.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253823.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253824.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253825.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253841.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253842.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253844.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253845.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254305.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254304.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254313.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254303.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254314.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254333.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254334.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254315.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254316.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254420.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254421.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254424.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254425.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253853.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253904.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253905.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253906.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253910.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253911.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253913.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@253856.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253924.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253927.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253930.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253931.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253941.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253952.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253955.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253956.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253966.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253976.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254317.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254347.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254348.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254003.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254029.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254030.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254056.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254059.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254062.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254063.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254322.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254481.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254482.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254071.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254073.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254318.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254444.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254445.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254099.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254127.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254142.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254145.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254148.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254149.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254157.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254159.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254171.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254172.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254319.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254454.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254455.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254187.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254215.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254229.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254230.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254320.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254463.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254464.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254245.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254273.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254288.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254707.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254708.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254709.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254710.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254703.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254711.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@254713.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253715.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253714.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253714.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253714.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253714.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253714.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253714.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253713.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253648.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253649.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253711.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253710.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253654.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253655.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@253709.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253664.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253665.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@253698.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253718.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253719.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253738.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253739.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253739.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253740.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253741.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253722.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253723.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253858.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253859.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253739.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253726.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253727.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253743.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@253744.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253746.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253730.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253731.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253745.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253745.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253993.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_67( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254808.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254809.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254810.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@255938.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@254838.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@254839.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@254840.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254841.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254841.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254842.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254844.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254845.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@254847.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254848.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254849.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254850.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254851.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254853.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254854.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254856.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254857.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254858.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254859.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254860.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254861.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254862.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254863.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254864.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254865.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254866.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254867.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254868.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254869.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254870.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254871.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254872.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254873.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254874.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254875.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254898.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254901.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254902.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254903.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254904.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@254905.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254910.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254931.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254932.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254938.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254939.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254944.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254946.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254947.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254952.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254953.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254955.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254956.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254961.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254963.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254964.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254970.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255024.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255026.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255027.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255050.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@255053.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@255061.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255064.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255065.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255084.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255086.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255087.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255092.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255094.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255109.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255160.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@255202.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255203.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@255204.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255206.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255207.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255213.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@255244.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255246.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255247.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255261.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@255292.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255294.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255295.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255309.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@255359.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255361.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255362.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255379.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255388.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255390.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255391.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255421.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255479.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255669.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255678.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255679.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255680.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255681.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255682.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255693.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255694.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255695.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255696.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255697.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255698.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255699.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255701.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255703.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255704.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255709.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255711.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255712.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255717.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255719.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255720.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255725.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255727.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255728.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255733.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255735.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255736.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255743.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255751.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255759.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255760.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255761.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255762.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255763.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255774.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255776.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255777.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255780.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255781.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255783.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255785.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255786.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255799.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255801.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255802.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255807.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255809.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255810.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255833.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255842.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255852.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255853.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255854.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255855.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255856.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255875.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255876.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255877.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255878.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255879.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255894.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255897.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255899.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255900.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255901.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255903.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255904.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255896.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255915.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@255917.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255918.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255920.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@255922.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255923.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255924.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255926.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255927.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@255919.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255933.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@255934.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255935.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255937.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255940.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255941.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255942.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255943.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@255944.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@255945.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255947.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255948.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@255954.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254912.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254984.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255067.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255126.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255177.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255227.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255275.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255323.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255393.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255434.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255492.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@255938.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@254838.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@254839.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@254840.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254841.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254841.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254842.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254844.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254845.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@254847.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254848.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254849.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254850.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254851.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254853.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254854.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254856.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254857.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254858.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254859.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254860.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254861.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254862.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254863.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254864.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254865.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254866.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254867.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254868.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254869.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254870.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254871.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254872.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254873.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254874.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254875.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254898.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254901.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254902.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254903.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254904.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@254905.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254910.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254931.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254932.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254938.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254939.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254944.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254946.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254947.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254952.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254953.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254955.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254956.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254961.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254963.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254964.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254970.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255024.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255026.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255027.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255050.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@255053.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@255061.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255064.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255065.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255084.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255086.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255087.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255092.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255094.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255109.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255160.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@255202.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255203.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@255204.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255206.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255207.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255213.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@255244.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255246.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255247.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255261.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@255292.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255294.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255295.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255309.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@255359.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255361.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255362.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255379.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255388.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255390.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255391.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255421.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255479.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255669.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255679.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255680.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255681.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255682.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255698.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255699.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255701.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255703.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255704.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255709.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255711.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255712.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255717.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255719.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255720.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255725.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255727.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255728.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255733.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255735.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255736.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255743.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255751.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255760.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255761.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255762.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255763.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255780.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255781.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255783.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255785.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255786.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255799.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255801.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255802.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255807.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255809.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255810.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255833.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255853.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255854.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255855.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255856.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255876.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255877.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255878.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255879.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255894.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255897.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255899.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255900.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255901.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255903.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255904.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255896.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255915.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@255917.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255918.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255920.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@255922.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255923.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255924.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255926.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255927.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@255919.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255933.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@255934.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255935.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255940.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255941.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255942.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255943.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@255944.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@255945.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255947.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255948.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@255954.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254912.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254984.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255067.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255126.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255177.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255227.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255275.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255323.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255393.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255434.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255492.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@254823.8]
        end
    `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@254824.8]
        end
    `ifdef STOP_COND
      end
    `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@254895.8]
        end
    `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@254896.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@254912.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@254913.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@254919.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@254920.10]
        end
    `ifdef STOP_COND
      end
    `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@254926.10]
        end
    `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@254927.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@254934.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@254935.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@254941.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@254942.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@254949.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@254950.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@254958.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@254959.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@254966.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@254967.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@254984.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@254985.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@254991.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@254992.10]
        end
    `ifdef STOP_COND
      end
    `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@254998.10]
        end
    `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@254999.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@255006.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@255007.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@255013.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@255014.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@255021.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@255022.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@255029.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@255030.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@255038.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@255039.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@255046.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@255047.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@255067.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@255068.10]
        end
    `ifdef STOP_COND
      end
    `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@255074.10]
        end
    `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@255075.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@255081.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@255082.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@255089.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@255090.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@255097.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@255098.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@255105.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@255106.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@255126.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@255127.10]
        end
    `ifdef STOP_COND
      end
    `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@255133.10]
        end
    `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@255134.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@255140.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@255141.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@255148.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@255149.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@255156.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@255157.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@255177.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@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: '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@255184.10]
        end
    `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@255185.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@255191.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@255192.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@255199.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@255200.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@255209.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@255210.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@255227.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@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: '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@255234.10]
        end
    `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@255235.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@255241.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@255242.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@255249.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@255250.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@255257.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@255258.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@255275.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@255276.10]
        end
    `ifdef STOP_COND
      end
    `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@255282.10]
        end
    `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@255283.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@255289.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@255290.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@255297.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@255298.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@255305.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@255306.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@255323.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@255324.10]
        end
    `ifdef STOP_COND
      end
    `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@255330.10]
        end
    `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@255331.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@255337.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@255338.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@255345.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@255346.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@255353.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@255354.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@255364.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@255365.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255385.10]
        end
    `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@255386.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@255393.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@255394.10]
        end
    `ifdef STOP_COND
      end
    `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@255401.10]
        end
    `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@255402.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255409.10]
        end
    `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@255410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255417.10]
        end
    `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@255418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255427.10]
        end
    `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@255428.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@255434.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@255435.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@255442.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@255443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255450.10]
        end
    `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@255451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255458.10]
        end
    `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@255459.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255466.10]
        end
    `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@255467.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255475.10]
        end
    `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@255476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255485.10]
        end
    `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@255486.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@255492.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@255493.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@255500.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@255501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255508.10]
        end
    `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@255509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255516.10]
        end
    `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@255517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@255525.10]
        end
    `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@255526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@255534.10]
        end
    `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@255535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255544.10]
        end
    `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@255545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255552.10]
        end
    `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@255553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255560.10]
        end
    `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@255561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255569.10]
        end
    `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@255570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255579.10]
        end
    `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@255580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255587.10]
        end
    `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@255588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@255596.10]
        end
    `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@255597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@255605.10]
        end
    `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@255606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255615.10]
        end
    `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@255616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@255623.10]
        end
    `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@255624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255631.10]
        end
    `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@255632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@255640.10]
        end
    `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@255641.10]
        end
    `ifdef STOP_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@255650.6]
        end
    `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@255651.6]
        end
    `ifdef STOP_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@255658.6]
        end
    `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@255659.6]
        end
    `ifdef STOP_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@255666.6]
        end
    `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@255667.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@255706.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@255707.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@255714.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@255715.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@255722.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@255723.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@255730.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@255731.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@255738.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@255739.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@255788.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@255789.8]
        end
    `ifdef STOP_COND
      end
    `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@255796.8]
        end
    `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@255797.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@255804.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@255805.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@255812.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@255813.8]
        end
    `ifdef STOP_COND
      end
    `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@255820.8]
        end
    `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@255821.8]
        end
    `ifdef STOP_COND
      end
    `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@255828.8]
        end
    `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@255829.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@255906.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@255907.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@255929.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@255930.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@255950.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@255951.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255963.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255965.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255966.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.4]
  TLMonitor_67 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255973.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@256013.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256013.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256013.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256013.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256013.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256013.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255975.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256009.4]
endmodule
module TLMonitor_68( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256084.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256085.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256086.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@257214.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@256114.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@256115.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@256116.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256117.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256117.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256118.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256120.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256121.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@256123.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256124.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256125.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256126.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@256127.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256129.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256130.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256132.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256133.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256134.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256135.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@256136.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256137.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256138.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256139.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256140.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256141.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256142.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256143.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256144.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256145.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256146.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256147.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256148.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256149.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256150.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256151.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256174.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256177.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256178.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256179.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256180.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@256181.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256186.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256207.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256208.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256214.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256215.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256220.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256222.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256223.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256228.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256229.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256231.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256232.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256237.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256239.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256240.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256246.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256300.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256302.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256303.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256326.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@256329.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@256337.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256340.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256341.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256360.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256362.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256363.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256368.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256370.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256371.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256385.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256436.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@256478.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256479.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@256480.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256482.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256483.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256489.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@256520.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256522.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256523.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256537.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@256568.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256570.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256571.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256585.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256635.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256637.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256638.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256655.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256664.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256666.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256667.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256697.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256755.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256945.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256954.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256955.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256956.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256957.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256958.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256969.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256970.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256971.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256972.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256973.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256974.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256975.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256977.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256979.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256980.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256985.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256987.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256988.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256993.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256995.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256996.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257001.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257003.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257004.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257009.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257011.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257012.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257019.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257035.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257036.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257037.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257038.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257039.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257050.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257052.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257053.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257056.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257057.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257059.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257061.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257062.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257075.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257077.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257078.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257083.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257085.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257086.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257109.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257118.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257128.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257129.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257130.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257131.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257132.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257151.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257152.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257153.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257154.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257170.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@257173.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@257175.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@257176.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257177.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257179.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257180.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@257172.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257191.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@257193.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@257194.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@257196.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257198.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@257199.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@257200.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257202.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257203.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@257195.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257209.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257210.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@257211.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257213.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@257216.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257217.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@257218.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257219.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@257220.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257221.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257223.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257224.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257230.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257234.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256188.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256260.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256343.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256402.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256453.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256503.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256551.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256599.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256669.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256710.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256768.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@257214.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@256114.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@256115.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@256116.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256117.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256117.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256118.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256120.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256121.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@256123.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256124.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256125.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256126.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@256127.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256129.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256130.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256132.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256133.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256134.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256135.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@256136.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256137.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256138.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256139.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256140.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256141.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256142.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256143.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256144.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256145.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256146.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@256147.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256148.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256149.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256150.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256151.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256174.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256177.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256178.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256179.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256180.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@256181.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256186.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256207.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256208.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256214.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256215.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256220.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256222.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256223.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256228.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256229.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256231.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256232.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256237.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256239.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256240.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256246.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256300.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256302.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256303.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256326.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@256329.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@256337.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256340.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256341.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256360.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256362.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256363.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256368.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256370.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256371.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256385.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256436.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@256478.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256479.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@256480.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256482.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256483.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256489.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@256520.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256522.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256523.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256537.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@256568.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256570.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256571.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256585.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256635.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256637.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256638.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256655.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@256664.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256666.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256667.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256697.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256755.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256945.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256955.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256956.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256957.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@256958.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@256974.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256975.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256977.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256979.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256980.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256985.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256987.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256988.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256993.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256995.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256996.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257001.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257003.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257004.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257009.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257011.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257012.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257019.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257036.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257037.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257038.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257039.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257056.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257057.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257059.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257061.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257062.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257075.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257077.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257078.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257083.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257085.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257086.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257109.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257129.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257130.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257131.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257132.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257152.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257153.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257154.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257170.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@257173.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@257175.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@257176.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257177.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257179.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257180.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@257172.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257191.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@257193.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@257194.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@257196.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257198.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@257199.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@257200.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257202.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257203.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@257195.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257209.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257210.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@257211.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@257216.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257217.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@257218.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257219.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@257220.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257221.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257223.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257224.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257230.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257234.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256188.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256260.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256343.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256402.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256453.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256503.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256551.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256599.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256669.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256710.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256768.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@256099.8]
        end
    `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@256100.8]
        end
    `ifdef STOP_COND
      end
    `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@256171.8]
        end
    `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@256172.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@256188.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@256189.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@256195.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@256196.10]
        end
    `ifdef STOP_COND
      end
    `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@256202.10]
        end
    `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@256203.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@256210.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@256211.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@256217.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@256218.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@256225.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@256226.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@256234.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@256235.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@256242.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@256243.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@256260.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@256261.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@256267.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@256268.10]
        end
    `ifdef STOP_COND
      end
    `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@256274.10]
        end
    `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@256275.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@256282.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@256283.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@256289.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@256290.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@256297.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@256298.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@256305.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@256306.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@256314.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@256315.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@256322.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@256323.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@256343.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@256344.10]
        end
    `ifdef STOP_COND
      end
    `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@256350.10]
        end
    `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@256351.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@256357.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@256358.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@256365.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@256366.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@256373.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@256374.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@256381.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@256382.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@256402.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@256403.10]
        end
    `ifdef STOP_COND
      end
    `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@256409.10]
        end
    `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@256410.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@256416.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@256417.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@256424.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@256425.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@256432.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@256433.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@256453.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@256454.10]
        end
    `ifdef STOP_COND
      end
    `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@256460.10]
        end
    `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@256461.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@256467.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@256468.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@256475.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@256476.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@256485.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@256486.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@256503.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@256504.10]
        end
    `ifdef STOP_COND
      end
    `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@256510.10]
        end
    `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@256511.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@256517.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@256518.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@256525.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@256526.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@256533.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@256534.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@256551.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@256552.10]
        end
    `ifdef STOP_COND
      end
    `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@256558.10]
        end
    `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@256559.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@256565.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@256566.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@256573.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@256574.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@256581.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@256582.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@256599.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@256600.10]
        end
    `ifdef STOP_COND
      end
    `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@256606.10]
        end
    `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@256607.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@256613.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@256614.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@256621.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@256622.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@256629.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@256630.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@256640.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@256641.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256661.10]
        end
    `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@256662.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@256669.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@256670.10]
        end
    `ifdef STOP_COND
      end
    `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@256677.10]
        end
    `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@256678.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256685.10]
        end
    `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@256686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256693.10]
        end
    `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@256694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256703.10]
        end
    `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@256704.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@256710.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@256711.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@256718.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@256719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256726.10]
        end
    `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@256727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256734.10]
        end
    `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@256735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256742.10]
        end
    `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@256743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256751.10]
        end
    `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@256752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256761.10]
        end
    `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@256762.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@256768.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@256769.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@256776.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@256777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256784.10]
        end
    `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@256785.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256792.10]
        end
    `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@256793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@256801.10]
        end
    `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@256802.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@256810.10]
        end
    `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@256811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256820.10]
        end
    `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@256821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256828.10]
        end
    `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@256829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256836.10]
        end
    `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@256837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256845.10]
        end
    `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@256846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256855.10]
        end
    `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@256856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256863.10]
        end
    `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@256864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@256872.10]
        end
    `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@256873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@256881.10]
        end
    `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@256882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256891.10]
        end
    `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@256892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@256899.10]
        end
    `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@256900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256907.10]
        end
    `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@256908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@256916.10]
        end
    `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@256917.10]
        end
    `ifdef STOP_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@256926.6]
        end
    `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@256927.6]
        end
    `ifdef STOP_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@256934.6]
        end
    `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@256935.6]
        end
    `ifdef STOP_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@256942.6]
        end
    `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@256943.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@256982.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@256983.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@256990.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@256991.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@256998.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@256999.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@257006.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@257007.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@257014.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@257015.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@257064.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@257065.8]
        end
    `ifdef STOP_COND
      end
    `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@257072.8]
        end
    `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@257073.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@257080.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@257081.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@257088.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@257089.8]
        end
    `ifdef STOP_COND
      end
    `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@257096.8]
        end
    `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@257097.8]
        end
    `ifdef STOP_COND
      end
    `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@257104.8]
        end
    `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@257105.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@257182.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@257183.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@257205.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@257206.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@257226.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@257227.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257524.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257525.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257526.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257538.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257538.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257538.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257538.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257620.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@257621.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@257622.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@257623.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@257624.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@257625.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257644.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257644.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257647.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257649.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257651.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@257652.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@257657.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257658.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@257661.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@257663.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257667.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@257659.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257664.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257675.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257677.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257699.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257700.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257701.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257702.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257704.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257706.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257708.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257710.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257711.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257712.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257713.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257729.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257730.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257732.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257733.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258193.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258192.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258201.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258191.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258202.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258221.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258222.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258203.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258204.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258308.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258309.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258312.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258313.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257741.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257792.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257793.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257794.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257798.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257799.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257801.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@257744.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257812.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257815.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257818.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257819.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257829.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257840.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257843.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257844.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257854.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257864.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258205.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258235.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258236.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257891.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257917.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257918.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257944.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257947.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257950.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257951.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258210.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258369.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258370.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257959.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257961.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258206.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258332.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258333.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257987.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258015.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258030.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258033.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258036.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258037.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258045.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258047.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258059.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258060.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258207.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258342.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258343.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258075.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258103.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258117.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258118.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258208.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258351.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258352.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258133.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258161.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258176.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258595.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258596.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258597.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258598.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258599.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  TLBuffer_21 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257532.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@257538.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_68 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257550.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@257604.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_15 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.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@257612.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_15 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257616.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@257647.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257649.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257651.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@257652.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@257657.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257658.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@257661.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@257663.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257667.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@257659.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257664.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257675.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257677.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257699.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257700.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257701.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@257702.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257704.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257706.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257708.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257710.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257711.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257712.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257713.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257729.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257730.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257732.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257733.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258193.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258192.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258201.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258191.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258202.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258221.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258222.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258203.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258204.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258308.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258309.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258312.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258313.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257741.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257792.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257793.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257794.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257798.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257799.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257801.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@257744.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257812.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257815.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257818.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257819.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257829.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257840.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257843.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257844.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257854.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257864.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258205.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258235.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258236.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257891.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257917.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257918.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257944.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257947.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257950.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257951.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258210.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258369.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258370.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257959.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257961.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258206.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258332.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258333.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257987.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258015.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258030.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258033.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258036.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258037.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258045.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258047.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258059.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258060.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258207.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258342.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258343.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258075.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258103.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258117.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258118.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258208.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258351.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258352.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258133.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258161.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258176.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258589.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258595.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258596.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258597.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258598.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258599.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@258601.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257603.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257602.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257602.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257602.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257602.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257602.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257602.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257601.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257536.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257537.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257599.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257598.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257542.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257543.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@257597.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257552.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257553.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@257586.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257606.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257607.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257626.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257627.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257627.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257628.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257629.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257610.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257611.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257746.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257747.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257627.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257614.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257615.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257631.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@257632.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257634.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257618.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257619.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257633.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257633.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257881.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_69( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258696.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258697.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258698.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258699.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@259826.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@258726.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@258727.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@258728.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@258729.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@258729.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258730.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258732.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258733.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@258735.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@258736.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258737.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258738.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258739.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258741.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258742.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258744.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258745.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258746.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258747.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258748.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258749.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258750.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258751.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258752.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258753.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258754.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258755.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258756.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258757.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258758.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258759.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258760.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258761.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258762.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258763.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258786.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258789.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258790.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258791.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258792.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@258793.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258798.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258819.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258820.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258826.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258827.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258832.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258834.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258835.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258840.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258841.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258843.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258844.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258849.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258851.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258852.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258858.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258912.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258914.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258915.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258938.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@258941.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@258949.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258952.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258953.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258972.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258974.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258975.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258980.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258982.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258983.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258997.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259048.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259090.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259091.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@259092.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259094.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259095.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259101.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@259132.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259134.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259135.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259149.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259180.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259182.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259183.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259197.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@259247.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259249.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259250.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259267.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259276.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259278.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259279.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259309.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259367.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259557.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259566.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259567.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259568.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259569.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259570.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259581.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259582.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259583.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259584.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259585.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259586.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259587.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259589.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259591.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259592.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259597.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259599.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259600.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259605.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259607.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259608.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259613.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259615.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259616.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259621.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259623.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259624.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259631.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259639.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259647.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259648.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259649.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259650.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259651.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259662.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259664.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259665.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259668.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259669.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259671.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259673.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259674.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259687.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259689.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259690.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259695.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259697.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259698.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259721.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259730.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259740.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259741.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259742.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259743.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259744.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259763.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259764.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259766.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259767.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259782.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259785.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259787.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259788.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259789.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259791.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259792.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259784.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259803.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@259805.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259806.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259808.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@259810.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259811.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259812.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259814.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259815.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@259807.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@259822.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259823.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259825.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259828.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259829.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259830.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259831.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@259832.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259833.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259835.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259836.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@259842.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259846.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258800.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258872.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258955.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259014.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259065.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259115.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259163.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259211.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259281.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259322.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259380.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@259826.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@258726.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@258727.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@258728.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@258729.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@258729.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@258730.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258732.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258733.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@258735.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@258736.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258737.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258738.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258739.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258741.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258742.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258744.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258745.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258746.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258747.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258748.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258749.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258750.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258751.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258752.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258753.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258754.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258755.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258756.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258757.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258758.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258759.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258760.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258761.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258762.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@258763.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258786.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258789.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258790.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258791.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258792.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@258793.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258798.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258819.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258820.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258826.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258827.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258832.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258834.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258835.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258840.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258841.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258843.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258844.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258849.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258851.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258852.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258858.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258912.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258914.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258915.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258938.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@258941.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@258949.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258952.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258953.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258972.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258974.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258975.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258980.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258982.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258983.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258997.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259048.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259090.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259091.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@259092.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259094.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259095.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259101.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@259132.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259134.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259135.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259149.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259180.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259182.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259183.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259197.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@259247.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259249.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259250.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259267.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259276.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259278.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259279.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259309.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259367.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259557.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259567.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259568.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259569.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259570.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259586.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259587.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259589.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259591.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259592.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259597.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259599.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259600.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259605.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259607.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259608.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259613.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259615.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259616.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259621.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259623.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259624.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259631.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259639.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259648.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259649.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259650.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259651.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259668.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259669.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259671.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259673.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259674.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259687.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259689.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259690.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259695.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259697.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259698.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259721.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259741.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259742.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259743.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259744.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259764.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259766.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259767.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259782.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259785.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259787.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259788.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259789.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259791.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259792.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259784.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259803.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@259805.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259806.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259808.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@259810.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259811.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259812.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259814.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259815.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@259807.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@259822.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259823.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259828.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259829.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259830.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259831.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@259832.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259833.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259835.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259836.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@259842.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259846.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258800.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258872.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258955.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259014.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259065.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259115.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259163.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259211.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259281.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259322.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259380.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@258711.8]
        end
    `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@258712.8]
        end
    `ifdef STOP_COND
      end
    `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@258783.8]
        end
    `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@258784.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@258800.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@258801.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@258807.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@258808.10]
        end
    `ifdef STOP_COND
      end
    `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@258814.10]
        end
    `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@258815.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@258822.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@258823.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@258829.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@258830.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@258837.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@258838.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@258846.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@258847.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@258854.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@258855.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@258872.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@258873.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@258879.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@258880.10]
        end
    `ifdef STOP_COND
      end
    `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@258886.10]
        end
    `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@258887.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@258894.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@258895.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@258901.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@258902.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@258909.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@258910.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@258917.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@258918.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@258926.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@258927.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@258934.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@258935.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@258955.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@258956.10]
        end
    `ifdef STOP_COND
      end
    `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@258962.10]
        end
    `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@258963.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@258969.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@258970.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@258977.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@258978.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@258985.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@258986.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@258993.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@258994.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@259014.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@259015.10]
        end
    `ifdef STOP_COND
      end
    `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@259021.10]
        end
    `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@259022.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@259028.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@259029.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@259036.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@259037.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@259044.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@259045.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@259065.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@259066.10]
        end
    `ifdef STOP_COND
      end
    `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@259072.10]
        end
    `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@259073.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@259079.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@259080.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@259087.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@259088.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@259097.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@259098.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@259115.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@259116.10]
        end
    `ifdef STOP_COND
      end
    `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@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 98: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 (_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@259129.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@259130.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@259137.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@259138.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@259145.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@259146.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@259163.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@259164.10]
        end
    `ifdef STOP_COND
      end
    `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@259170.10]
        end
    `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@259171.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@259177.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@259178.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@259185.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@259186.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@259193.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@259194.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@259211.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@259212.10]
        end
    `ifdef STOP_COND
      end
    `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@259218.10]
        end
    `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@259219.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@259225.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@259226.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@259233.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@259234.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@259241.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@259242.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@259252.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@259253.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259273.10]
        end
    `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@259274.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@259281.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@259282.10]
        end
    `ifdef STOP_COND
      end
    `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@259289.10]
        end
    `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@259290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259297.10]
        end
    `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@259298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259305.10]
        end
    `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@259306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259315.10]
        end
    `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@259316.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@259322.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@259323.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@259330.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@259331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259338.10]
        end
    `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@259339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259346.10]
        end
    `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@259347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259354.10]
        end
    `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@259355.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259363.10]
        end
    `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@259364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259373.10]
        end
    `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@259374.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@259380.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@259381.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@259388.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@259389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259396.10]
        end
    `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@259397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259404.10]
        end
    `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@259405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@259413.10]
        end
    `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@259414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@259422.10]
        end
    `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@259423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259432.10]
        end
    `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@259433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259440.10]
        end
    `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@259441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259448.10]
        end
    `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@259449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259457.10]
        end
    `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@259458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259467.10]
        end
    `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@259468.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259475.10]
        end
    `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@259476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@259484.10]
        end
    `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@259485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@259493.10]
        end
    `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@259494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259503.10]
        end
    `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@259504.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@259511.10]
        end
    `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@259512.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259519.10]
        end
    `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@259520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@259528.10]
        end
    `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@259529.10]
        end
    `ifdef STOP_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@259538.6]
        end
    `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@259539.6]
        end
    `ifdef STOP_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@259546.6]
        end
    `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@259547.6]
        end
    `ifdef STOP_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@259554.6]
        end
    `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@259555.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@259594.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@259595.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@259602.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@259603.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@259610.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@259611.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@259618.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@259619.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@259626.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@259627.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@259676.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@259677.8]
        end
    `ifdef STOP_COND
      end
    `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@259684.8]
        end
    `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@259685.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@259692.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@259693.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@259700.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@259701.8]
        end
    `ifdef STOP_COND
      end
    `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@259708.8]
        end
    `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@259709.8]
        end
    `ifdef STOP_COND
      end
    `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@259716.8]
        end
    `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@259717.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@259794.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@259795.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@259817.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@259818.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@259838.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@259839.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259851.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259852.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259853.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259854.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.4]
  TLMonitor_69 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259861.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@259901.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259900.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259863.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259864.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259897.4]
endmodule
module TLMonitor_70( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259972.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259973.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259974.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@261102.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@260002.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@260003.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@260004.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260005.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260005.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260006.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260008.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260009.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@260011.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260012.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260013.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260014.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260017.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260018.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260020.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260021.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260022.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260023.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260024.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260025.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260026.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260027.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260028.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260029.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260030.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260031.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260032.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260033.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260034.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260035.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260036.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260037.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260038.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260039.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260062.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@260065.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260066.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260067.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260068.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@260069.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260074.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260095.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260096.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260102.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260103.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260108.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260110.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260111.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260116.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260117.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260119.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260120.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260125.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260127.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260128.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260134.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260188.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260190.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260191.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260214.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@260217.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@260225.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260228.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260229.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260248.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260250.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260251.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260256.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260258.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260259.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260273.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260324.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@260366.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260367.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@260368.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260370.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260371.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260377.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@260408.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260410.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260411.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260425.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@260456.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260458.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260459.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260473.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260523.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260525.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260526.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260543.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260552.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260554.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260555.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260585.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260643.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260833.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260842.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260843.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260844.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260845.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260846.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260857.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260858.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260859.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260860.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260861.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260862.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260863.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260865.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260867.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260868.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260873.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260875.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260876.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260881.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260883.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260884.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260889.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260892.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260897.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260899.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260900.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260907.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260915.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260923.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260924.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260925.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260926.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260927.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260938.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260940.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260941.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260944.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260945.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260947.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260949.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260963.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260965.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260966.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260971.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260973.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260974.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260997.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261006.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261016.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261017.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261018.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261019.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261020.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261039.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261040.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261041.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261042.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261043.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261058.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261061.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261063.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261064.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261065.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261067.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261068.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261060.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261079.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@261081.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261082.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261084.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261086.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261087.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261088.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261090.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261091.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@261083.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261097.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@261098.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261101.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261104.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261105.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261106.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261107.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@261108.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261109.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261111.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261112.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261118.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261122.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260076.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260148.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260231.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260290.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260341.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260391.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260439.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260487.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260557.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260598.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260656.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@261102.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@260002.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@260003.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@260004.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260005.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260005.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260006.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260008.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260009.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@260011.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260012.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260013.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260014.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260017.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260018.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260020.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260021.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260022.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260023.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260024.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260025.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260026.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260027.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260028.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260029.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260030.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260031.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260032.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260033.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260034.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260035.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260036.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260037.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260038.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260039.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260062.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@260065.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260066.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260067.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260068.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@260069.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260074.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260095.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260096.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260102.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260103.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260108.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260110.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260111.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260116.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260117.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260119.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260120.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260125.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260127.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260128.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260134.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260188.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260190.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260191.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260214.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@260217.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@260225.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260228.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260229.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260248.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260250.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260251.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260256.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260258.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260259.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260273.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260324.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@260366.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260367.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@260368.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260370.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260371.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260377.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@260408.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260410.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260411.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260425.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@260456.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260458.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260459.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260473.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260523.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260525.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260526.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260543.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260552.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260554.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260555.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260585.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260643.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260833.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260843.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260844.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260845.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260846.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260862.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260863.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260865.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260867.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260868.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260873.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260875.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260876.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260881.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260883.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260884.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260889.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260892.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260897.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260899.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260900.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260907.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260915.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260924.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260925.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260926.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260927.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260944.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260945.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260947.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260949.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260963.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260965.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260966.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260971.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260973.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260974.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260997.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261017.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261018.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261019.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261020.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261040.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261041.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261042.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261043.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261058.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261061.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261063.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261064.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261065.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261067.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261068.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261060.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261079.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@261081.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261082.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261084.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261086.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261087.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261088.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261090.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261091.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@261083.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261097.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@261098.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261104.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261105.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261106.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261107.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@261108.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261109.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261111.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261112.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261118.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261122.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260076.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260148.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260231.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260290.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260341.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260391.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260439.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260487.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260557.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260598.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260656.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@259987.8]
        end
    `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@259988.8]
        end
    `ifdef STOP_COND
      end
    `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@260059.8]
        end
    `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@260060.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@260076.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@260077.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@260083.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@260084.10]
        end
    `ifdef STOP_COND
      end
    `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@260090.10]
        end
    `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@260091.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@260098.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@260099.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@260105.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@260106.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@260113.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@260114.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@260122.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@260123.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@260130.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@260131.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@260148.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@260149.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@260155.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@260156.10]
        end
    `ifdef STOP_COND
      end
    `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@260162.10]
        end
    `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@260163.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@260170.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@260171.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@260177.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@260178.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@260185.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@260186.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@260193.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@260194.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@260202.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@260203.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@260210.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@260211.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@260231.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@260232.10]
        end
    `ifdef STOP_COND
      end
    `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@260238.10]
        end
    `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@260239.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@260245.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@260246.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@260253.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@260254.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@260261.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@260262.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@260269.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@260270.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@260290.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@260291.10]
        end
    `ifdef STOP_COND
      end
    `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@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 82: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 (_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@260304.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@260305.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@260312.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@260313.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@260320.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@260321.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@260341.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@260342.10]
        end
    `ifdef STOP_COND
      end
    `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@260348.10]
        end
    `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@260349.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@260355.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@260356.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@260363.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@260364.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@260373.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@260374.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@260391.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@260392.10]
        end
    `ifdef STOP_COND
      end
    `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@260398.10]
        end
    `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@260399.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@260405.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@260406.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@260413.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@260414.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@260421.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@260422.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@260439.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@260440.10]
        end
    `ifdef STOP_COND
      end
    `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@260446.10]
        end
    `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@260447.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@260453.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@260454.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@260461.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@260462.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@260469.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@260470.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@260487.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@260488.10]
        end
    `ifdef STOP_COND
      end
    `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@260494.10]
        end
    `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@260495.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@260501.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@260502.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@260509.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@260510.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@260517.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@260518.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@260528.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@260529.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260549.10]
        end
    `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@260550.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@260557.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@260558.10]
        end
    `ifdef STOP_COND
      end
    `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@260565.10]
        end
    `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@260566.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260573.10]
        end
    `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@260574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260581.10]
        end
    `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@260582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260591.10]
        end
    `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@260592.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@260598.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@260599.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@260606.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@260607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260614.10]
        end
    `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@260615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260622.10]
        end
    `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@260623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260630.10]
        end
    `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@260631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260639.10]
        end
    `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@260640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260649.10]
        end
    `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@260650.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@260656.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@260657.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@260664.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@260665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260672.10]
        end
    `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@260673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260680.10]
        end
    `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@260681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@260689.10]
        end
    `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@260690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@260698.10]
        end
    `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@260699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260708.10]
        end
    `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@260709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260716.10]
        end
    `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@260717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260724.10]
        end
    `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@260725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260733.10]
        end
    `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@260734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260743.10]
        end
    `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@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: '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@260751.10]
        end
    `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@260752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@260760.10]
        end
    `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@260761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@260769.10]
        end
    `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@260770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260779.10]
        end
    `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@260780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@260787.10]
        end
    `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@260788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260795.10]
        end
    `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@260796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@260804.10]
        end
    `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@260805.10]
        end
    `ifdef STOP_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@260814.6]
        end
    `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@260815.6]
        end
    `ifdef STOP_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@260822.6]
        end
    `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@260823.6]
        end
    `ifdef STOP_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@260830.6]
        end
    `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@260831.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@260870.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@260871.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@260878.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@260879.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@260886.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@260887.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@260894.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@260895.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@260902.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@260903.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@260952.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@260953.8]
        end
    `ifdef STOP_COND
      end
    `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@260960.8]
        end
    `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@260961.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@260968.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@260969.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@260976.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@260977.8]
        end
    `ifdef STOP_COND
      end
    `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@260984.8]
        end
    `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@260985.8]
        end
    `ifdef STOP_COND
      end
    `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@260992.8]
        end
    `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@260993.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@261070.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@261071.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@261093.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@261094.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@261114.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@261115.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261412.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261413.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261414.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261415.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261426.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261426.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261426.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261426.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261438.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261492.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261500.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@261508.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261509.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261510.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261511.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261512.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261513.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261532.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261532.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261535.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261537.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261539.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@261540.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261545.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261546.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261549.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@261551.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261555.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261547.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261552.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261563.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261565.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261587.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261588.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261589.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261590.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261592.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261594.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261596.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261598.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261599.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261600.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261601.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261617.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261618.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261620.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261621.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262081.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262080.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262089.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262079.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262090.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262109.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262110.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262091.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262092.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262196.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262197.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262200.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262201.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261629.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261680.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261681.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261682.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261686.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261687.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261689.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261632.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261700.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261703.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261706.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261707.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261717.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261728.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261731.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261732.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261742.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261752.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262093.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262123.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262124.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261779.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261805.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261806.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261832.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261835.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261838.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261839.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262098.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262257.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262258.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261847.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261849.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262094.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262221.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261875.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261903.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261918.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261921.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261924.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261925.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261933.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261935.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261947.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261948.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262095.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262230.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262231.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261963.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261991.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262005.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262006.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262096.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262239.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262240.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262021.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262049.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262064.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262483.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262484.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262485.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262486.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262487.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  TLBuffer_22 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.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@261426.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@261438.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@261492.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_15 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261496.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@261500.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_15 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.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@261535.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261537.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261539.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@261540.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261545.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261546.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261549.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@261551.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261555.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261547.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261552.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261563.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261565.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261587.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261588.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261589.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@261590.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261592.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261594.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261596.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261598.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261599.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261600.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261601.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261617.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261618.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261620.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261621.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262081.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262080.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262089.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262079.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262090.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262109.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262110.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262091.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262092.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262196.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262197.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262200.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262201.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261629.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@261436.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261680.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261681.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261682.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261686.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261687.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261689.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261632.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261700.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261703.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261706.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261707.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261717.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261728.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261731.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261732.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261742.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261752.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262093.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262123.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262124.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261779.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261805.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261806.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261832.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261835.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261838.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261839.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262098.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262257.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262258.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261847.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261849.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262094.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262221.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261875.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261903.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261918.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261921.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261924.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261925.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261933.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261935.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261947.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@261948.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262095.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262230.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262231.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261963.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261991.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262005.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262006.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262096.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262239.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262240.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262021.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262049.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262064.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262483.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262484.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262485.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262486.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262487.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@261491.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@261489.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261424.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261425.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261487.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261486.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261430.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261431.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@261485.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261440.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261441.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261494.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261495.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261514.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261515.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261515.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261516.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@261517.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261498.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261499.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261634.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261635.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261515.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261502.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261503.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261519.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261520.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261522.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261506.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261507.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261521.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261521.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261769.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_71( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262584.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262585.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262586.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@263714.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@262614.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@262616.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262617.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262617.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262618.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262621.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@262623.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262624.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262625.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262627.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262629.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262630.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262633.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262634.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262635.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262636.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262637.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262638.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262639.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262640.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262641.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262643.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262645.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262646.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262647.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262648.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262649.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262650.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262651.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262674.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262677.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262678.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262679.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262686.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262707.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262708.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262714.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262715.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262720.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262722.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262723.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262728.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262729.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262731.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262732.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262740.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262746.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262800.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262803.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262826.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262829.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@262837.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262840.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262841.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262860.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262862.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262863.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262868.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262870.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262871.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262885.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262936.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262978.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262979.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262980.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262982.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262983.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262989.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@263020.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263022.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263023.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263037.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@263068.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263070.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263071.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263085.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263135.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263137.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263138.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263155.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263164.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263166.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263167.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263197.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263255.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263445.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263454.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263455.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263456.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263457.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263458.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263469.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263470.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263471.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263472.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263473.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263474.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263475.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263477.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263479.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263480.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263485.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263487.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263488.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263493.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263495.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263496.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263501.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263503.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263504.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263509.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263511.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263512.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@263519.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263527.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263535.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263536.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263537.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263538.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263539.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263550.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263552.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263553.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263556.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263557.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263559.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263561.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263562.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263575.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263577.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263578.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263583.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263585.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263586.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@263609.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263618.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263628.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263629.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263630.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263631.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263632.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263651.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263652.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263653.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263654.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263655.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263670.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@263673.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@263675.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@263676.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263677.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263679.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263680.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@263672.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263691.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@263693.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@263694.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@263696.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@263698.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@263699.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@263700.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263702.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263703.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@263695.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263709.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@263710.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@263711.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263713.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@263716.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263717.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@263718.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263719.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@263720.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@263721.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263723.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263724.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@263730.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263734.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262688.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262760.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262843.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262902.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262953.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263003.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263051.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263099.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263169.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263210.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263268.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@263714.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@262614.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@262616.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262617.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262617.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262618.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262621.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@262623.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262624.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262625.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262627.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262629.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262630.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262633.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262634.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262635.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262636.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262637.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262638.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262639.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262640.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262641.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262643.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262645.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262646.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262647.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262648.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262649.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262650.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262651.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262674.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262677.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262678.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262679.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262686.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262707.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262708.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262714.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262715.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262720.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262722.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262723.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262728.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262729.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262731.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262732.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262740.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262746.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262800.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262803.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262826.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262829.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@262837.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262840.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262841.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262860.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262862.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262863.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262868.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262870.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262871.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262885.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262936.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262978.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262979.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262980.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262982.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262983.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262989.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@263020.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263022.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263023.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263037.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@263068.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263070.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263071.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263085.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263135.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263137.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263138.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263155.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263164.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263166.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263167.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263197.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263255.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263445.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263455.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263456.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263457.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263458.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263474.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263475.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263477.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263479.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263480.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263485.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263487.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263488.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263493.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263495.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263496.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263501.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263503.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263504.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263509.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263511.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263512.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@263519.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263527.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263536.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263537.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263538.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263539.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@263556.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263557.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263559.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263561.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263562.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263575.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263577.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263578.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@263583.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263585.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263586.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@263609.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263629.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263630.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263631.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263632.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263652.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263653.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263654.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263655.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263670.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@263673.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@263675.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@263676.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263677.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263679.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263680.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@263672.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263691.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@263693.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@263694.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@263696.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@263698.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@263699.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@263700.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263702.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263703.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@263695.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263709.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@263710.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@263711.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@263716.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@263717.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@263718.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263719.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@263720.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@263721.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263723.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@263724.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@263730.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263734.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262688.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262760.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262843.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262902.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262953.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263003.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263051.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263099.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263169.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263210.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263268.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@262599.8]
        end
    `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@262600.8]
        end
    `ifdef STOP_COND
      end
    `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@262671.8]
        end
    `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@262672.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@262688.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@262689.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@262695.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@262696.10]
        end
    `ifdef STOP_COND
      end
    `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@262702.10]
        end
    `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@262703.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@262710.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@262711.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@262717.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@262718.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@262725.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@262726.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@262734.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@262735.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@262742.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@262743.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@262760.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@262761.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@262767.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@262768.10]
        end
    `ifdef STOP_COND
      end
    `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@262774.10]
        end
    `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@262775.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@262782.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@262783.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@262789.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@262790.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@262797.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@262798.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@262805.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@262806.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@262814.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@262815.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@262822.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@262823.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@262843.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@262844.10]
        end
    `ifdef STOP_COND
      end
    `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@262850.10]
        end
    `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@262851.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@262857.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@262858.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@262865.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@262866.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@262873.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@262874.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@262881.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@262882.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@262902.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@262903.10]
        end
    `ifdef STOP_COND
      end
    `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@262909.10]
        end
    `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@262910.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@262916.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@262917.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@262924.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@262925.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@262932.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@262933.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@262953.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@262954.10]
        end
    `ifdef STOP_COND
      end
    `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@262960.10]
        end
    `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@262961.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@262967.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@262968.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@262975.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@262976.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@262985.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@262986.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@263003.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@263004.10]
        end
    `ifdef STOP_COND
      end
    `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@263010.10]
        end
    `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@263011.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@263017.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@263018.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@263025.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@263026.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@263033.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@263034.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@263051.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@263052.10]
        end
    `ifdef STOP_COND
      end
    `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@263058.10]
        end
    `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@263059.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@263065.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@263066.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@263073.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@263074.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@263081.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@263082.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@263099.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@263100.10]
        end
    `ifdef STOP_COND
      end
    `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@263106.10]
        end
    `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@263107.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@263113.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@263114.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@263121.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@263122.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@263129.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@263130.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@263140.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@263141.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263161.10]
        end
    `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@263162.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@263169.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@263170.10]
        end
    `ifdef STOP_COND
      end
    `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@263177.10]
        end
    `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@263178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263185.10]
        end
    `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@263186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263193.10]
        end
    `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@263194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263203.10]
        end
    `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@263204.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@263210.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@263211.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@263218.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@263219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263226.10]
        end
    `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@263227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263234.10]
        end
    `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@263235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263242.10]
        end
    `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@263243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263251.10]
        end
    `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@263252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263261.10]
        end
    `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@263262.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@263268.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@263269.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@263276.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@263277.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263284.10]
        end
    `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@263285.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263292.10]
        end
    `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@263293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@263301.10]
        end
    `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@263302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@263310.10]
        end
    `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@263311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263320.10]
        end
    `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@263321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263328.10]
        end
    `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@263329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263336.10]
        end
    `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@263337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263345.10]
        end
    `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@263346.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263355.10]
        end
    `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@263356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263363.10]
        end
    `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@263364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@263372.10]
        end
    `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@263373.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@263381.10]
        end
    `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@263382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263391.10]
        end
    `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@263392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@263399.10]
        end
    `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@263400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263407.10]
        end
    `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@263408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@263416.10]
        end
    `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@263417.10]
        end
    `ifdef STOP_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@263426.6]
        end
    `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@263427.6]
        end
    `ifdef STOP_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@263434.6]
        end
    `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@263435.6]
        end
    `ifdef STOP_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@263442.6]
        end
    `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@263443.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@263482.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@263483.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@263490.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@263491.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@263498.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@263499.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@263506.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@263507.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@263514.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@263515.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@263564.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@263565.8]
        end
    `ifdef STOP_COND
      end
    `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@263572.8]
        end
    `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@263573.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@263580.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@263581.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@263588.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@263589.8]
        end
    `ifdef STOP_COND
      end
    `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@263596.8]
        end
    `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@263597.8]
        end
    `ifdef STOP_COND
      end
    `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@263604.8]
        end
    `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@263605.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@263682.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@263683.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@263705.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@263706.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@263726.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@263727.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263739.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263740.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263741.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263742.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.4]
  TLMonitor_71 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263749.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@263789.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263789.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263789.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263789.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263789.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263789.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263788.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263751.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263752.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@263785.4]
endmodule
module TLMonitor_72( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263806.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263807.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263808.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@264861.4]
  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263859.6]
  wire [29:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263862.8]
  wire [30:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263863.8]
  wire [30:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@263864.8]
  wire [30:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@263865.8]
  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@263866.8]
  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263871.8]
  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263905.8]
  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263907.8]
  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263908.8]
  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@263913.8]
  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263914.8]
  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263916.8]
  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263917.8]
  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@263922.8]
  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263924.8]
  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263925.8]
  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263931.6]
  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263985.8]
  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263987.8]
  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263988.8]
  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264011.6]
  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@264013.8]
  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@264020.8]
  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264023.8]
  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264024.8]
  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264043.8]
  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264045.8]
  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264046.8]
  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264053.8]
  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264054.8]
  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264068.6]
  wire  _T_192; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264116.6]
  wire  _T_220; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264166.6]
  wire  _T_238; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@264197.8]
  wire  _T_240; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264199.8]
  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264200.8]
  wire  _T_246; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264214.6]
  wire  _T_264; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@264245.8]
  wire  _T_266; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264247.8]
  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264248.8]
  wire  _T_272; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264262.6]
  wire  _T_459; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264622.4]
  reg  _T_461; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264623.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_462; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264624.4]
  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264625.4]
  wire  _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264626.4]
  wire  _T_465; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264627.4]
  reg [2:0] _T_474; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264638.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_476; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264639.4]
  reg [31:0] _RAND_2;
  reg  _T_478; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264640.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_480; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264641.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_482; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264642.4]
  reg [31:0] _RAND_5;
  wire  _T_483; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264643.4]
  wire  _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264644.4]
  wire  _T_485; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264646.6]
  wire  _T_487; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264648.6]
  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264649.6]
  wire  _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264654.6]
  wire  _T_491; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264656.6]
  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264657.6]
  wire  _T_493; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264662.6]
  wire  _T_495; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264664.6]
  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264665.6]
  wire  _T_497; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264670.6]
  wire  _T_499; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264672.6]
  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264673.6]
  wire  _T_501; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264678.6]
  wire  _T_503; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264680.6]
  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264681.6]
  wire  _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@264688.4]
  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264696.4]
  reg  _T_509; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264697.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264698.4]
  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264699.4]
  wire  _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264700.4]
  wire  _T_513; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264701.4]
  reg  _T_526; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264714.4]
  reg [31:0] _RAND_7;
  reg [7:0] _T_528; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264715.4]
  reg [31:0] _RAND_8;
  wire  _T_533; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264718.4]
  wire  _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264719.4]
  wire  _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264737.6]
  wire  _T_545; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264739.6]
  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264740.6]
  wire  _T_547; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264745.6]
  wire  _T_549; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264747.6]
  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264748.6]
  wire  _T_560; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@264771.4]
  reg [255:0] _T_562; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264780.4]
  reg [255:0] _RAND_9;
  reg  _T_565; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264782.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264783.4]
  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264784.4]
  wire  _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264785.4]
  wire  _T_569; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264786.4]
  reg  _T_579; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264798.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_580; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264799.4]
  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264800.4]
  wire  _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264801.4]
  wire  _T_583; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264802.4]
  wire  _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264817.4]
  wire [255:0] _T_596; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264820.6]
  wire [255:0] _T_597; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@264822.6]
  wire  _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@264823.6]
  wire  _T_599; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264824.6]
  wire  _T_601; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264826.6]
  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264827.6]
  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@264819.4]
  wire  _T_607; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264838.4]
  wire [255:0] _T_611; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264843.6]
  wire [255:0] _T_612; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@264845.6]
  wire [255:0] _T_613; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@264846.6]
  wire  _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@264847.6]
  wire  _T_616; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264849.6]
  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264850.6]
  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@264842.4]
  wire [255:0] _T_618; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264856.4]
  wire [255:0] _T_619; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@264857.4]
  wire [255:0] _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@264858.4]
  reg [31:0] _T_622; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264860.4]
  reg [31:0] _RAND_12;
  wire  _T_623; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@264863.4]
  wire  _T_624; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264864.4]
  wire  _T_625; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@264865.4]
  wire  _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264866.4]
  wire  _T_627; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@264867.4]
  wire  _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@264868.4]
  wire  _T_630; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@264870.4]
  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@264871.4]
  wire [31:0] _T_633; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@264877.4]
  wire  _T_636; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264881.4]
  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263873.10]
  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263945.10]
  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264026.10]
  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264082.10]
  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264130.10]
  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264180.10]
  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264228.10]
  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264276.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@264861.4]
    .out(plusarg_reader_out)
  );
  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263859.6]
  assign _T_57 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@263862.8]
  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@263863.8]
  assign _T_59 = $signed(_T_58) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@263864.8]
  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@263865.8]
  assign _T_61 = $signed(_T_60) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@263866.8]
  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263871.8]
  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@263905.8]
  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263907.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263908.8]
  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@263913.8]
  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263914.8]
  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263916.8]
  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263917.8]
  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@263922.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263924.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263925.8]
  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@263931.6]
  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@263985.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263987.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263988.8]
  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264011.6]
  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@264013.8]
  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@264020.8]
  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264023.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264024.8]
  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264043.8]
  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264045.8]
  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264046.8]
  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264053.8]
  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264054.8]
  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264068.6]
  assign _T_192 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264116.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264166.6]
  assign _T_238 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@264197.8]
  assign _T_240 = _T_238 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264199.8]
  assign _T_241 = _T_240 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264200.8]
  assign _T_246 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264214.6]
  assign _T_264 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@264245.8]
  assign _T_266 = _T_264 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264247.8]
  assign _T_267 = _T_266 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264248.8]
  assign _T_272 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264262.6]
  assign _T_459 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264622.4]
  assign _T_462 = _T_461 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264624.4]
  assign _T_463 = $unsigned(_T_462); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264625.4]
  assign _T_464 = _T_463[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264626.4]
  assign _T_465 = _T_461 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264627.4]
  assign _T_483 = _T_465 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264643.4]
  assign _T_484 = io_in_a_valid & _T_483; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264644.4]
  assign _T_485 = io_in_a_bits_opcode == _T_474; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264646.6]
  assign _T_487 = _T_485 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264648.6]
  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264649.6]
  assign _T_489 = io_in_a_bits_param == _T_476; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264654.6]
  assign _T_491 = _T_489 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264656.6]
  assign _T_492 = _T_491 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264657.6]
  assign _T_493 = io_in_a_bits_size == _T_478; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264662.6]
  assign _T_495 = _T_493 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264664.6]
  assign _T_496 = _T_495 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264665.6]
  assign _T_497 = io_in_a_bits_source == _T_480; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264670.6]
  assign _T_499 = _T_497 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264672.6]
  assign _T_500 = _T_499 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264673.6]
  assign _T_501 = io_in_a_bits_address == _T_482; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264678.6]
  assign _T_503 = _T_501 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264680.6]
  assign _T_504 = _T_503 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264681.6]
  assign _T_506 = _T_459 & _T_465; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@264688.4]
  assign _T_507 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264696.4]
  assign _T_510 = _T_509 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264698.4]
  assign _T_511 = $unsigned(_T_510); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264699.4]
  assign _T_512 = _T_511[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264700.4]
  assign _T_513 = _T_509 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264701.4]
  assign _T_533 = _T_513 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@264718.4]
  assign _T_534 = io_in_d_valid & _T_533; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264719.4]
  assign _T_543 = io_in_d_bits_size == _T_526; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264737.6]
  assign _T_545 = _T_543 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264739.6]
  assign _T_546 = _T_545 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264740.6]
  assign _T_547 = io_in_d_bits_source == _T_528; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@264745.6]
  assign _T_549 = _T_547 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264747.6]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264748.6]
  assign _T_560 = _T_507 & _T_513; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@264771.4]
  assign _T_566 = _T_565 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264783.4]
  assign _T_567 = $unsigned(_T_566); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264784.4]
  assign _T_568 = _T_567[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264785.4]
  assign _T_569 = _T_565 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264786.4]
  assign _T_580 = _T_579 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264799.4]
  assign _T_581 = $unsigned(_T_580); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264800.4]
  assign _T_582 = _T_581[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@264801.4]
  assign _T_583 = _T_579 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264802.4]
  assign _T_594 = _T_459 & _T_569; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264817.4]
  assign _T_596 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264820.6]
  assign _T_597 = _T_562 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@264822.6]
  assign _T_598 = _T_597[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@264823.6]
  assign _T_599 = _T_598 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264824.6]
  assign _T_601 = _T_599 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264826.6]
  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264827.6]
  assign _GEN_15 = _T_594 ? _T_596 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@264819.4]
  assign _T_607 = _T_507 & _T_583; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264838.4]
  assign _T_611 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264843.6]
  assign _T_612 = _GEN_15 | _T_562; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@264845.6]
  assign _T_613 = _T_612 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@264846.6]
  assign _T_614 = _T_613[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@264847.6]
  assign _T_616 = _T_614 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264849.6]
  assign _T_617 = _T_616 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264850.6]
  assign _GEN_16 = _T_607 ? _T_611 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@264842.4]
  assign _T_618 = _T_562 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264856.4]
  assign _T_619 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@264857.4]
  assign _T_620 = _T_618 & _T_619; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@264858.4]
  assign _T_623 = _T_562 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@264863.4]
  assign _T_624 = _T_623 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@264864.4]
  assign _T_625 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@264865.4]
  assign _T_626 = _T_624 | _T_625; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264866.4]
  assign _T_627 = _T_622 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@264867.4]
  assign _T_628 = _T_626 | _T_627; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@264868.4]
  assign _T_630 = _T_628 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@264870.4]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@264871.4]
  assign _T_633 = _T_622 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@264877.4]
  assign _T_636 = _T_459 | _T_507; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@264881.4]
  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263873.10]
  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@263945.10]
  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264026.10]
  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264082.10]
  assign _GEN_54 = io_in_a_valid & _T_192; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264130.10]
  assign _GEN_58 = io_in_a_valid & _T_220; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264180.10]
  assign _GEN_64 = io_in_a_valid & _T_246; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264228.10]
  assign _GEN_70 = io_in_a_valid & _T_272; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@264276.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@263821.8]
        end
    `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@263822.8]
        end
    `ifdef STOP_COND
      end
    `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@263856.8]
        end
    `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@263857.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@263873.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@263874.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@263880.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@263881.10]
        end
    `ifdef STOP_COND
      end
    `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@263887.10]
        end
    `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@263888.10]
        end
    `ifdef STOP_COND
      end
    `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@263895.10]
        end
    `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@263896.10]
        end
    `ifdef STOP_COND
      end
    `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@263902.10]
        end
    `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@263903.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@263910.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@263911.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@263919.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@263920.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@263927.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@263928.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@263945.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@263946.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@263952.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@263953.10]
        end
    `ifdef STOP_COND
      end
    `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@263959.10]
        end
    `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@263960.10]
        end
    `ifdef STOP_COND
      end
    `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@263967.10]
        end
    `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@263968.10]
        end
    `ifdef STOP_COND
      end
    `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@263974.10]
        end
    `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@263975.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@263982.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@263983.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@263990.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@263991.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@263999.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@264000.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@264007.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@264008.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@264026.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@264027.10]
        end
    `ifdef STOP_COND
      end
    `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@264033.10]
        end
    `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@264034.10]
        end
    `ifdef STOP_COND
      end
    `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@264040.10]
        end
    `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@264041.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@264048.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@264049.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@264056.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@264057.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@264064.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@264065.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@264082.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@264083.10]
        end
    `ifdef STOP_COND
      end
    `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@264089.10]
        end
    `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@264090.10]
        end
    `ifdef STOP_COND
      end
    `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@264096.10]
        end
    `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@264097.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@264104.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@264105.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@264112.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@264113.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@264130.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@264131.10]
        end
    `ifdef STOP_COND
      end
    `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@264137.10]
        end
    `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@264138.10]
        end
    `ifdef STOP_COND
      end
    `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@264144.10]
        end
    `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@264145.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@264152.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@264153.10]
        end
    `ifdef STOP_COND
      end
    `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@264162.10]
        end
    `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@264163.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@264180.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@264181.10]
        end
    `ifdef STOP_COND
      end
    `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@264187.10]
        end
    `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@264188.10]
        end
    `ifdef STOP_COND
      end
    `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@264194.10]
        end
    `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@264195.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@264202.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@264203.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@264210.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@264211.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@264228.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@264229.10]
        end
    `ifdef STOP_COND
      end
    `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@264235.10]
        end
    `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@264236.10]
        end
    `ifdef STOP_COND
      end
    `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@264242.10]
        end
    `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@264243.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@264250.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@264251.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@264258.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@264259.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@264276.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@264277.10]
        end
    `ifdef STOP_COND
      end
    `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@264283.10]
        end
    `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@264284.10]
        end
    `ifdef STOP_COND
      end
    `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@264290.10]
        end
    `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@264291.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@264298.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@264299.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@264306.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@264307.10]
        end
    `ifdef STOP_COND
      end
    `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@264317.8]
        end
    `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@264318.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264338.10]
        end
    `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@264339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264346.10]
        end
    `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@264347.10]
        end
    `ifdef STOP_COND
      end
    `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@264354.10]
        end
    `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@264355.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264362.10]
        end
    `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@264363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264370.10]
        end
    `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@264371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264380.10]
        end
    `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@264381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264387.10]
        end
    `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@264388.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264395.10]
        end
    `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@264396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264403.10]
        end
    `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@264404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264411.10]
        end
    `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@264412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264419.10]
        end
    `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@264420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264428.10]
        end
    `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@264429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264438.10]
        end
    `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@264439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264445.10]
        end
    `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@264446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264453.10]
        end
    `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@264454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264461.10]
        end
    `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@264462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264469.10]
        end
    `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@264470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@264478.10]
        end
    `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@264479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@264487.10]
        end
    `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@264488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264497.10]
        end
    `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@264498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264505.10]
        end
    `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@264506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264513.10]
        end
    `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@264514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264522.10]
        end
    `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@264523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264532.10]
        end
    `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@264533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264540.10]
        end
    `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@264541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@264549.10]
        end
    `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@264550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@264558.10]
        end
    `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@264559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264568.10]
        end
    `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@264569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@264576.10]
        end
    `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@264577.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264584.10]
        end
    `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@264585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@264593.10]
        end
    `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@264594.10]
        end
    `ifdef STOP_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@264603.6]
        end
    `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@264604.6]
        end
    `ifdef STOP_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@264611.6]
        end
    `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@264612.6]
        end
    `ifdef STOP_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@264619.6]
        end
    `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@264620.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@264651.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@264652.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@264659.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@264660.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@264667.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@264668.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@264675.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@264676.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@264683.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@264684.8]
        end
    `ifdef STOP_COND
      end
    `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@264726.8]
        end
    `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@264727.8]
        end
    `ifdef STOP_COND
      end
    `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@264734.8]
        end
    `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@264735.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@264742.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@264743.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@264750.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@264751.8]
        end
    `ifdef STOP_COND
      end
    `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@264758.8]
        end
    `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@264759.8]
        end
    `ifdef STOP_COND
      end
    `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@264766.8]
        end
    `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@264767.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@264829.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@264830.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@264852.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@264853.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@264873.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@264874.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264886.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264887.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264888.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input  [7:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output [7:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264889.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.4]
  TLMonitor_72 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@264896.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@264936.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@264936.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@264936.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@264936.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@264936.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@264935.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264898.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@264899.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@264932.4]
endmodule
module TLMonitor_73( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265007.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265008.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265009.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265010.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@266062.4]
  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265060.6]
  wire [29:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@265063.8]
  wire [30:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265064.8]
  wire [30:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265065.8]
  wire [30:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265066.8]
  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@265067.8]
  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265072.8]
  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265106.8]
  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265108.8]
  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265109.8]
  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265114.8]
  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265115.8]
  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265117.8]
  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265118.8]
  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265123.8]
  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265125.8]
  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265126.8]
  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265132.6]
  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265186.8]
  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265188.8]
  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265189.8]
  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265212.6]
  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265214.8]
  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@265221.8]
  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265224.8]
  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265225.8]
  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265244.8]
  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265246.8]
  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265247.8]
  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265254.8]
  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265255.8]
  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265269.6]
  wire  _T_192; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265317.6]
  wire  _T_220; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265367.6]
  wire  _T_238; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@265398.8]
  wire  _T_240; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265400.8]
  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265401.8]
  wire  _T_246; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265415.6]
  wire  _T_264; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265446.8]
  wire  _T_266; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265448.8]
  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265449.8]
  wire  _T_272; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265463.6]
  wire  _T_459; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265823.4]
  reg  _T_461; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265824.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_462; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265825.4]
  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265826.4]
  wire  _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265827.4]
  wire  _T_465; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265828.4]
  reg [2:0] _T_474; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265839.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_476; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265840.4]
  reg [31:0] _RAND_2;
  reg  _T_478; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265841.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_480; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265842.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_482; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265843.4]
  reg [31:0] _RAND_5;
  wire  _T_483; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265844.4]
  wire  _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.4]
  wire  _T_485; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265847.6]
  wire  _T_487; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265849.6]
  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265850.6]
  wire  _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265855.6]
  wire  _T_491; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265857.6]
  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265858.6]
  wire  _T_493; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265863.6]
  wire  _T_495; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265865.6]
  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265866.6]
  wire  _T_497; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265871.6]
  wire  _T_499; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265873.6]
  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265874.6]
  wire  _T_501; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265879.6]
  wire  _T_503; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265881.6]
  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265882.6]
  wire  _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265889.4]
  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265897.4]
  reg  _T_509; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265898.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265899.4]
  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265900.4]
  wire  _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265901.4]
  wire  _T_513; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265902.4]
  reg  _T_526; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265915.4]
  reg [31:0] _RAND_7;
  reg [7:0] _T_528; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265916.4]
  reg [31:0] _RAND_8;
  wire  _T_533; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265919.4]
  wire  _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@265920.4]
  wire  _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265938.6]
  wire  _T_545; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265940.6]
  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265941.6]
  wire  _T_547; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265946.6]
  wire  _T_549; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265948.6]
  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265949.6]
  wire  _T_560; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265972.4]
  reg [255:0] _T_562; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265981.4]
  reg [255:0] _RAND_9;
  reg  _T_565; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265983.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265984.4]
  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265985.4]
  wire  _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265986.4]
  wire  _T_569; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265987.4]
  reg  _T_579; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265999.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_580; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266000.4]
  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266001.4]
  wire  _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266002.4]
  wire  _T_583; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266003.4]
  wire  _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266018.4]
  wire [255:0] _T_596; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266021.6]
  wire [255:0] _T_597; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266023.6]
  wire  _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266024.6]
  wire  _T_599; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266025.6]
  wire  _T_601; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266027.6]
  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266028.6]
  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266020.4]
  wire  _T_607; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266039.4]
  wire [255:0] _T_611; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266044.6]
  wire [255:0] _T_612; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266046.6]
  wire [255:0] _T_613; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266047.6]
  wire  _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266048.6]
  wire  _T_616; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266050.6]
  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266051.6]
  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@266043.4]
  wire [255:0] _T_618; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266057.4]
  wire [255:0] _T_619; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266058.4]
  wire [255:0] _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266059.4]
  reg [31:0] _T_622; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.4]
  reg [31:0] _RAND_12;
  wire  _T_623; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266064.4]
  wire  _T_624; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266065.4]
  wire  _T_625; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266066.4]
  wire  _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266067.4]
  wire  _T_627; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@266068.4]
  wire  _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@266069.4]
  wire  _T_630; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266071.4]
  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266072.4]
  wire [31:0] _T_633; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266078.4]
  wire  _T_636; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266082.4]
  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265074.10]
  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265146.10]
  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265227.10]
  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265283.10]
  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265331.10]
  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.10]
  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265429.10]
  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265477.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@266062.4]
    .out(plusarg_reader_out)
  );
  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265060.6]
  assign _T_57 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@265063.8]
  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265064.8]
  assign _T_59 = $signed(_T_58) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265065.8]
  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265066.8]
  assign _T_61 = $signed(_T_60) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@265067.8]
  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265072.8]
  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265106.8]
  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265108.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265109.8]
  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265114.8]
  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265115.8]
  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265117.8]
  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265118.8]
  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265123.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265125.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265126.8]
  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265132.6]
  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265186.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265188.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265189.8]
  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265212.6]
  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265214.8]
  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@265221.8]
  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265224.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265225.8]
  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265244.8]
  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265246.8]
  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265247.8]
  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265254.8]
  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265255.8]
  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265269.6]
  assign _T_192 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265317.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265367.6]
  assign _T_238 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@265398.8]
  assign _T_240 = _T_238 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265400.8]
  assign _T_241 = _T_240 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265401.8]
  assign _T_246 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265415.6]
  assign _T_264 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265446.8]
  assign _T_266 = _T_264 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265448.8]
  assign _T_267 = _T_266 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265449.8]
  assign _T_272 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265463.6]
  assign _T_459 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265823.4]
  assign _T_462 = _T_461 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265825.4]
  assign _T_463 = $unsigned(_T_462); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265826.4]
  assign _T_464 = _T_463[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265827.4]
  assign _T_465 = _T_461 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265828.4]
  assign _T_483 = _T_465 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265844.4]
  assign _T_484 = io_in_a_valid & _T_483; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.4]
  assign _T_485 = io_in_a_bits_opcode == _T_474; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265847.6]
  assign _T_487 = _T_485 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265849.6]
  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265850.6]
  assign _T_489 = io_in_a_bits_param == _T_476; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265855.6]
  assign _T_491 = _T_489 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265857.6]
  assign _T_492 = _T_491 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265858.6]
  assign _T_493 = io_in_a_bits_size == _T_478; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265863.6]
  assign _T_495 = _T_493 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265865.6]
  assign _T_496 = _T_495 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265866.6]
  assign _T_497 = io_in_a_bits_source == _T_480; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265871.6]
  assign _T_499 = _T_497 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265873.6]
  assign _T_500 = _T_499 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265874.6]
  assign _T_501 = io_in_a_bits_address == _T_482; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265879.6]
  assign _T_503 = _T_501 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265881.6]
  assign _T_504 = _T_503 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265882.6]
  assign _T_506 = _T_459 & _T_465; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265889.4]
  assign _T_507 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265897.4]
  assign _T_510 = _T_509 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265899.4]
  assign _T_511 = $unsigned(_T_510); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265900.4]
  assign _T_512 = _T_511[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265901.4]
  assign _T_513 = _T_509 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265902.4]
  assign _T_533 = _T_513 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@265919.4]
  assign _T_534 = io_in_d_valid & _T_533; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@265920.4]
  assign _T_543 = io_in_d_bits_size == _T_526; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265938.6]
  assign _T_545 = _T_543 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265940.6]
  assign _T_546 = _T_545 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265941.6]
  assign _T_547 = io_in_d_bits_source == _T_528; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265946.6]
  assign _T_549 = _T_547 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265948.6]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265949.6]
  assign _T_560 = _T_507 & _T_513; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265972.4]
  assign _T_566 = _T_565 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265984.4]
  assign _T_567 = $unsigned(_T_566); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265985.4]
  assign _T_568 = _T_567[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265986.4]
  assign _T_569 = _T_565 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265987.4]
  assign _T_580 = _T_579 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266000.4]
  assign _T_581 = $unsigned(_T_580); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266001.4]
  assign _T_582 = _T_581[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266002.4]
  assign _T_583 = _T_579 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266003.4]
  assign _T_594 = _T_459 & _T_569; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266018.4]
  assign _T_596 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266021.6]
  assign _T_597 = _T_562 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266023.6]
  assign _T_598 = _T_597[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266024.6]
  assign _T_599 = _T_598 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266025.6]
  assign _T_601 = _T_599 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266027.6]
  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266028.6]
  assign _GEN_15 = _T_594 ? _T_596 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266020.4]
  assign _T_607 = _T_507 & _T_583; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266039.4]
  assign _T_611 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266044.6]
  assign _T_612 = _GEN_15 | _T_562; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266046.6]
  assign _T_613 = _T_612 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266047.6]
  assign _T_614 = _T_613[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266048.6]
  assign _T_616 = _T_614 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266050.6]
  assign _T_617 = _T_616 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266051.6]
  assign _GEN_16 = _T_607 ? _T_611 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@266043.4]
  assign _T_618 = _T_562 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266057.4]
  assign _T_619 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266058.4]
  assign _T_620 = _T_618 & _T_619; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266059.4]
  assign _T_623 = _T_562 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266064.4]
  assign _T_624 = _T_623 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266065.4]
  assign _T_625 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266066.4]
  assign _T_626 = _T_624 | _T_625; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266067.4]
  assign _T_627 = _T_622 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@266068.4]
  assign _T_628 = _T_626 | _T_627; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@266069.4]
  assign _T_630 = _T_628 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266071.4]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266072.4]
  assign _T_633 = _T_622 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266078.4]
  assign _T_636 = _T_459 | _T_507; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266082.4]
  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265074.10]
  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265146.10]
  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265227.10]
  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265283.10]
  assign _GEN_54 = io_in_a_valid & _T_192; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265331.10]
  assign _GEN_58 = io_in_a_valid & _T_220; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.10]
  assign _GEN_64 = io_in_a_valid & _T_246; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265429.10]
  assign _GEN_70 = io_in_a_valid & _T_272; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265477.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@265022.8]
        end
    `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@265023.8]
        end
    `ifdef STOP_COND
      end
    `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@265057.8]
        end
    `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@265058.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@265074.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@265075.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@265081.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@265082.10]
        end
    `ifdef STOP_COND
      end
    `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@265088.10]
        end
    `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@265089.10]
        end
    `ifdef STOP_COND
      end
    `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@265096.10]
        end
    `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@265097.10]
        end
    `ifdef STOP_COND
      end
    `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@265103.10]
        end
    `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@265104.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@265111.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@265112.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@265120.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@265121.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@265128.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@265129.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@265146.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@265147.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@265153.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@265154.10]
        end
    `ifdef STOP_COND
      end
    `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@265160.10]
        end
    `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@265161.10]
        end
    `ifdef STOP_COND
      end
    `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@265168.10]
        end
    `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@265169.10]
        end
    `ifdef STOP_COND
      end
    `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@265175.10]
        end
    `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@265176.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@265183.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@265184.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@265191.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@265192.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@265200.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@265201.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@265208.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@265209.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@265227.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@265228.10]
        end
    `ifdef STOP_COND
      end
    `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@265234.10]
        end
    `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@265235.10]
        end
    `ifdef STOP_COND
      end
    `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@265241.10]
        end
    `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@265242.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@265249.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@265250.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@265257.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@265258.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@265265.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@265266.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@265283.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@265284.10]
        end
    `ifdef STOP_COND
      end
    `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@265290.10]
        end
    `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@265291.10]
        end
    `ifdef STOP_COND
      end
    `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@265297.10]
        end
    `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@265298.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@265305.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@265306.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@265313.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@265314.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@265331.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@265332.10]
        end
    `ifdef STOP_COND
      end
    `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@265338.10]
        end
    `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@265339.10]
        end
    `ifdef STOP_COND
      end
    `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@265345.10]
        end
    `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@265346.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@265353.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@265354.10]
        end
    `ifdef STOP_COND
      end
    `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@265363.10]
        end
    `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@265364.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@265381.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@265382.10]
        end
    `ifdef STOP_COND
      end
    `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@265388.10]
        end
    `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@265389.10]
        end
    `ifdef STOP_COND
      end
    `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@265395.10]
        end
    `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@265396.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@265403.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@265404.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@265411.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@265412.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@265429.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@265430.10]
        end
    `ifdef STOP_COND
      end
    `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@265436.10]
        end
    `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@265437.10]
        end
    `ifdef STOP_COND
      end
    `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@265443.10]
        end
    `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@265444.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@265451.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@265452.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@265459.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@265460.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@265477.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@265478.10]
        end
    `ifdef STOP_COND
      end
    `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@265484.10]
        end
    `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@265485.10]
        end
    `ifdef STOP_COND
      end
    `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@265491.10]
        end
    `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@265492.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@265499.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@265500.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@265507.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@265508.10]
        end
    `ifdef STOP_COND
      end
    `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@265518.8]
        end
    `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@265519.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265539.10]
        end
    `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@265540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265547.10]
        end
    `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@265548.10]
        end
    `ifdef STOP_COND
      end
    `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@265555.10]
        end
    `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@265556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265563.10]
        end
    `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@265564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265571.10]
        end
    `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@265572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265581.10]
        end
    `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@265582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265588.10]
        end
    `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@265589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265596.10]
        end
    `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@265597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265604.10]
        end
    `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@265605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265612.10]
        end
    `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@265613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265620.10]
        end
    `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@265621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265629.10]
        end
    `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@265630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265639.10]
        end
    `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@265640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265646.10]
        end
    `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@265647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265654.10]
        end
    `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@265655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265662.10]
        end
    `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@265663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265670.10]
        end
    `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@265671.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@265679.10]
        end
    `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@265680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@265688.10]
        end
    `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@265689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265698.10]
        end
    `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@265699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265706.10]
        end
    `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@265707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265714.10]
        end
    `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@265715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265723.10]
        end
    `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@265724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265733.10]
        end
    `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@265734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265741.10]
        end
    `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@265742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@265750.10]
        end
    `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@265751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@265759.10]
        end
    `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@265760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265769.10]
        end
    `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@265770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@265777.10]
        end
    `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@265778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265785.10]
        end
    `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@265786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@265794.10]
        end
    `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@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: '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@265804.6]
        end
    `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@265805.6]
        end
    `ifdef STOP_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@265812.6]
        end
    `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@265813.6]
        end
    `ifdef STOP_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@265820.6]
        end
    `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@265821.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@265852.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@265853.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@265860.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@265861.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@265868.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@265869.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@265876.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@265877.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@265884.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@265885.8]
        end
    `ifdef STOP_COND
      end
    `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@265927.8]
        end
    `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@265928.8]
        end
    `ifdef STOP_COND
      end
    `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@265935.8]
        end
    `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@265936.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@265943.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@265944.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@265951.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@265952.8]
        end
    `ifdef STOP_COND
      end
    `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@265959.8]
        end
    `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@265960.8]
        end
    `ifdef STOP_COND
      end
    `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@265967.8]
        end
    `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@265968.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@266030.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@266031.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@266053.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@266054.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@266074.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@266075.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_74( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266094.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266095.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266096.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266097.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@267224.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@266124.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@266125.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@266126.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266127.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266127.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266128.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266130.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266131.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@266133.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266134.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266135.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266136.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266137.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266139.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266140.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266142.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266143.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266144.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266145.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266146.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266147.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266148.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266149.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266150.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266151.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266152.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266153.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266154.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266155.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266156.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266157.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266158.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266159.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266161.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266184.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266187.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266188.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266189.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266190.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@266191.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266196.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266217.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266218.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266224.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266225.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266230.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266232.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266233.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266238.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266239.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266241.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266242.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266247.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266249.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266250.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266256.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266310.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266312.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266313.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266336.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266339.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@266347.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266350.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266351.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266370.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266372.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266373.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266378.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266380.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266381.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266395.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266446.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@266488.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266489.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@266490.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266492.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266493.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266499.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@266530.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266532.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266533.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266547.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@266578.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266580.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266581.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266595.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266645.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266647.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266648.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266665.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266674.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266676.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266707.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266765.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266955.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266964.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266965.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266966.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266967.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266968.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266979.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266980.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266981.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266982.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266983.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266984.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266985.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266987.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266989.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266990.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266995.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266997.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266998.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267003.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267005.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267006.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267013.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267014.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267019.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267021.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267022.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267029.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267037.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267045.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267046.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267047.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267048.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267049.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267060.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267062.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267063.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267066.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267067.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267069.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267071.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267072.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267085.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267087.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267088.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267093.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267095.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267096.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267119.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267128.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267138.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267139.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267140.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267141.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267142.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267161.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267162.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267163.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267164.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267165.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267180.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267183.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267185.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267186.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267187.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267189.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267190.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267182.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267201.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@267203.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267204.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267206.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267208.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267209.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267210.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267212.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267213.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@267205.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267220.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267221.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267223.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267226.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267227.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267228.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267229.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@267230.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267231.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267233.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267234.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267240.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267244.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266198.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266270.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266353.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266412.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266463.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266513.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266561.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266609.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266679.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266720.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266778.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@267224.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@266124.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@266125.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@266126.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266127.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266127.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266128.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266130.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266131.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@266133.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266134.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266135.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266136.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266137.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266139.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266140.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266142.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266143.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266144.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266145.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266146.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266147.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266148.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266149.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266150.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266151.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266152.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266153.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266154.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266155.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266156.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266157.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266158.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266159.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266161.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266184.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266187.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266188.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266189.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266190.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@266191.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266196.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266217.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266218.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266224.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266225.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266230.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266232.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266233.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266238.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266239.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266241.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266242.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266247.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266249.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266250.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266256.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266310.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266312.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266313.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266336.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266339.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@266347.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266350.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266351.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266370.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266372.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266373.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266378.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266380.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266381.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266395.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266446.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@266488.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266489.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@266490.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266492.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266493.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266499.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@266530.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266532.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266533.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266547.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@266578.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266580.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266581.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266595.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266645.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266647.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266648.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266665.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266674.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266676.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266707.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266765.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266955.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266965.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266966.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266967.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266968.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266984.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266985.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266987.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266989.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266990.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266995.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266997.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266998.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267003.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267005.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267006.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267013.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267014.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267019.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267021.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267022.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267029.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267037.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267046.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267047.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267048.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267049.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267066.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267067.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267069.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267071.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267072.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267085.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267087.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267088.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267093.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267095.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267096.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267119.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267139.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267140.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267141.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267142.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267162.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267163.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267164.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267165.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267180.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267183.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267185.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267186.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267187.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267189.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267190.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267182.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267201.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@267203.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267204.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267206.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267208.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267209.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267210.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267212.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267213.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@267205.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267220.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267221.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267226.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267227.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267228.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267229.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@267230.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267231.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267233.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267234.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267240.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267244.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266198.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266270.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266353.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266412.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266463.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266513.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266561.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266609.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266679.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266720.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266778.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@266109.8]
        end
    `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@266110.8]
        end
    `ifdef STOP_COND
      end
    `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@266181.8]
        end
    `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@266182.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@266198.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@266199.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@266205.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@266206.10]
        end
    `ifdef STOP_COND
      end
    `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@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 51: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 (_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@266220.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@266221.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@266227.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@266228.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@266235.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@266236.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@266244.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@266245.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@266252.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@266253.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@266270.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@266271.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@266277.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@266278.10]
        end
    `ifdef STOP_COND
      end
    `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@266284.10]
        end
    `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@266285.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@266292.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@266293.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@266299.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@266300.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@266307.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@266308.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@266315.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@266316.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@266324.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@266325.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@266332.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@266333.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@266353.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@266354.10]
        end
    `ifdef STOP_COND
      end
    `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@266360.10]
        end
    `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@266361.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@266367.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@266368.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@266375.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@266376.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@266383.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@266384.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@266391.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@266392.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@266412.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@266413.10]
        end
    `ifdef STOP_COND
      end
    `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@266419.10]
        end
    `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@266420.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@266426.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@266427.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@266434.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@266435.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@266442.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@266443.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@266463.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@266464.10]
        end
    `ifdef STOP_COND
      end
    `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@266470.10]
        end
    `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@266471.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@266477.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@266478.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@266485.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@266486.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@266495.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@266496.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@266513.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@266514.10]
        end
    `ifdef STOP_COND
      end
    `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@266520.10]
        end
    `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@266521.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@266527.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@266528.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@266535.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@266536.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@266543.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@266544.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@266561.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@266562.10]
        end
    `ifdef STOP_COND
      end
    `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@266568.10]
        end
    `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@266569.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@266575.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@266576.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@266583.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@266584.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@266591.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@266592.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@266609.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@266610.10]
        end
    `ifdef STOP_COND
      end
    `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@266616.10]
        end
    `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@266617.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@266623.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@266624.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@266631.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@266632.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@266639.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@266640.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@266650.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@266651.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266671.10]
        end
    `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@266672.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@266679.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@266680.10]
        end
    `ifdef STOP_COND
      end
    `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@266687.10]
        end
    `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@266688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266695.10]
        end
    `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@266696.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266703.10]
        end
    `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@266704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266713.10]
        end
    `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@266714.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@266720.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@266721.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@266728.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@266729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266736.10]
        end
    `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@266737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266744.10]
        end
    `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@266745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266752.10]
        end
    `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@266753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266761.10]
        end
    `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@266762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266771.10]
        end
    `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@266772.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@266778.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@266779.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@266786.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@266787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266794.10]
        end
    `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@266795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266802.10]
        end
    `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@266803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@266811.10]
        end
    `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@266812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@266820.10]
        end
    `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@266821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266830.10]
        end
    `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@266831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266838.10]
        end
    `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@266839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266846.10]
        end
    `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@266847.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266855.10]
        end
    `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@266856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266865.10]
        end
    `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@266866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266873.10]
        end
    `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@266874.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@266882.10]
        end
    `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@266883.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@266891.10]
        end
    `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@266892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266901.10]
        end
    `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@266902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@266909.10]
        end
    `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@266910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266917.10]
        end
    `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@266918.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@266926.10]
        end
    `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@266927.10]
        end
    `ifdef STOP_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@266936.6]
        end
    `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@266937.6]
        end
    `ifdef STOP_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@266944.6]
        end
    `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@266945.6]
        end
    `ifdef STOP_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@266952.6]
        end
    `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@266953.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@266992.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@266993.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@267000.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@267001.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@267008.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@267009.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@267016.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@267017.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@267024.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@267025.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@267074.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@267075.8]
        end
    `ifdef STOP_COND
      end
    `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@267082.8]
        end
    `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@267083.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@267090.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@267091.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@267098.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@267099.8]
        end
    `ifdef STOP_COND
      end
    `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@267106.8]
        end
    `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@267107.8]
        end
    `ifdef STOP_COND
      end
    `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@267114.8]
        end
    `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@267115.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@267192.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@267193.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@267215.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@267216.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@267236.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@267237.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SPIFIFO( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267359.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267360.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267361.4]
  input  [1:0] io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input        io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input        io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input  [3:0] io_ctrl_fmt_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input  [1:0] io_ctrl_cs_mode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input  [3:0] io_ctrl_wm_tx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input  [3:0] io_ctrl_wm_rx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output [7:0] io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input  [7:0] io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output [7:0] io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output [1:0] io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_link_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input        io_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input  [7:0] io_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  input        io_rx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output [7:0] io_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_ip_txwm, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
  output       io_ip_rxwm // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.4]
);
  wire  txq_clock; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire  txq_reset; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire  txq_io_enq_ready; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire  txq_io_enq_valid; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire [7:0] txq_io_enq_bits; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire  txq_io_deq_ready; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire  txq_io_deq_valid; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire [7:0] txq_io_deq_bits; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire [3:0] txq_io_count; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.4]
  wire  rxq_clock; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire  rxq_reset; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire  rxq_io_enq_ready; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire  rxq_io_enq_valid; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire [7:0] rxq_io_enq_bits; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire  rxq_io_deq_ready; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire  rxq_io_deq_valid; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire [7:0] rxq_io_deq_bits; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire [3:0] rxq_io_count; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.4]
  wire  fire_tx; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267377.4]
  reg  rxen; // @[SPIFIFO.scala 29:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.4]
  reg [31:0] _RAND_0;
  wire  _T_31; // @[SPIFIFO.scala 39:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267387.6]
  wire  _T_32; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267390.4]
  wire  _T_33; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267391.4]
  wire  _T_34; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267392.4]
  wire [2:0] _T_36; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@267394.4]
  wire [1:0] _T_37; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@267395.4]
  wire [3:0] _T_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267396.4]
  wire [2:0] _T_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267397.4]
  wire [1:0] _T_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267398.4]
  wire [3:0] _GEN_2; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267399.4]
  wire [3:0] _T_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267399.4]
  wire [3:0] _GEN_3; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267400.4]
  wire [3:0] cnt_quot; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267400.4]
  wire  _T_45; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@267403.4]
  wire [1:0] _T_47; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@267405.4]
  wire  _T_48; // @[SPIFIFO.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@267406.4]
  wire  _T_51; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267408.4]
  wire  _T_52; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267409.4]
  wire  cnt_rmdr; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267411.4]
  wire [3:0] _GEN_4; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267415.4]
  wire [3:0] _T_57; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267416.4]
  reg [1:0] cs_mode; // @[SPIFIFO.scala 48:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267418.4]
  reg [31:0] _RAND_1;
  wire  cs_mode_hold; // @[SPIFIFO.scala 49:31:shc.marmotcaravel.MarmotCaravelConfig.fir@267420.4]
  wire  cs_mode_off; // @[SPIFIFO.scala 50:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267421.4]
  wire  cs_update; // @[SPIFIFO.scala 51:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267422.4]
  wire  _T_59; // @[SPIFIFO.scala 52:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267423.4]
  wire  cs_clear; // @[SPIFIFO.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267424.4]
  wire  _T_61; // @[SPIFIFO.scala 55:45:shc.marmotcaravel.MarmotCaravelConfig.fir@267427.4]
  Queue_15 txq ( // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267367.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_15 rxq ( // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.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@267377.4]
  assign _T_31 = io_link_fmt_iodir == 1'h0; // @[SPIFIFO.scala 39:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267387.6]
  assign _T_32 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267390.4]
  assign _T_33 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267391.4]
  assign _T_34 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267392.4]
  assign _T_36 = io_ctrl_fmt_len[3:1]; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@267394.4]
  assign _T_37 = io_ctrl_fmt_len[3:2]; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@267395.4]
  assign _T_39 = _T_32 ? io_ctrl_fmt_len : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267396.4]
  assign _T_40 = _T_33 ? _T_36 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267397.4]
  assign _T_41 = _T_34 ? _T_37 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267398.4]
  assign _GEN_2 = {{1'd0}, _T_40}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267399.4]
  assign _T_42 = _T_39 | _GEN_2; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267399.4]
  assign _GEN_3 = {{2'd0}, _T_41}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267400.4]
  assign cnt_quot = _T_42 | _GEN_3; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267400.4]
  assign _T_45 = io_ctrl_fmt_len[0]; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@267403.4]
  assign _T_47 = io_ctrl_fmt_len[1:0]; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@267405.4]
  assign _T_48 = _T_47 != 2'h0; // @[SPIFIFO.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@267406.4]
  assign _T_51 = _T_33 ? _T_45 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267408.4]
  assign _T_52 = _T_34 ? _T_48 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267409.4]
  assign cnt_rmdr = _T_51 | _T_52; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267411.4]
  assign _GEN_4 = {{3'd0}, cnt_rmdr}; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267415.4]
  assign _T_57 = cnt_quot + _GEN_4; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267416.4]
  assign cs_mode_hold = cs_mode == 2'h2; // @[SPIFIFO.scala 49:31:shc.marmotcaravel.MarmotCaravelConfig.fir@267420.4]
  assign cs_mode_off = cs_mode == 2'h3; // @[SPIFIFO.scala 50:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267421.4]
  assign cs_update = cs_mode != io_ctrl_cs_mode; // @[SPIFIFO.scala 51:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267422.4]
  assign _T_59 = cs_mode_hold | cs_mode_off; // @[SPIFIFO.scala 52:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267423.4]
  assign cs_clear = _T_59 == 1'h0; // @[SPIFIFO.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267424.4]
  assign _T_61 = fire_tx & cs_clear; // @[SPIFIFO.scala 55:45:shc.marmotcaravel.MarmotCaravelConfig.fir@267427.4]
  assign io_link_tx_valid = txq_io_deq_valid; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267376.4]
  assign io_link_tx_bits = txq_io_deq_bits; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267376.4]
  assign io_link_cnt = {{4'd0}, _T_57}; // @[SPIFIFO.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267417.4]
  assign io_link_fmt_proto = io_ctrl_fmt_proto; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267414.4]
  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267414.4]
  assign io_link_fmt_iodir = io_ctrl_fmt_iodir; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267414.4]
  assign io_link_cs_set = cs_mode_off == 1'h0; // @[SPIFIFO.scala 54:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267426.4]
  assign io_link_cs_clear = cs_update | _T_61; // @[SPIFIFO.scala 55:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267429.4]
  assign io_link_lock = io_link_tx_valid | rxen; // @[SPIFIFO.scala 58:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267432.4]
  assign io_tx_ready = txq_io_enq_ready; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267375.4]
  assign io_rx_valid = rxq_io_deq_valid; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@267382.4]
  assign io_rx_bits = rxq_io_deq_bits; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@267382.4]
  assign io_ip_txwm = txq_io_count < io_ctrl_wm_tx; // @[SPIFIFO.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267434.4]
  assign io_ip_rxwm = rxq_io_count > io_ctrl_wm_rx; // @[SPIFIFO.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267369.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267370.4]
  assign txq_io_enq_valid = io_tx_valid; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267375.4]
  assign txq_io_enq_bits = io_tx_bits; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267375.4]
  assign txq_io_deq_ready = io_link_tx_ready; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267376.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267373.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267374.4]
  assign rxq_io_enq_valid = io_link_rx_valid & rxen; // @[SPIFIFO.scala 31:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267380.4]
  assign rxq_io_enq_bits = io_link_rx_bits; // @[SPIFIFO.scala 32:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267381.4]
  assign rxq_io_deq_ready = io_rx_ready; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@267382.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@267438.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267439.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267440.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input  [1:0]  io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_op_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_op_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_op_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input         io_op_bits_stb, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input  [7:0]  io_op_bits_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  input  [7:0]  io_op_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output        io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
  output [7:0]  io_rx_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267441.4]
);
  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267446.4]
  reg [31:0] _RAND_0;
  reg  ctrl_sck_pol; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267446.4]
  reg [31:0] _RAND_1;
  reg  ctrl_sck_pha; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267446.4]
  reg [31:0] _RAND_2;
  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267446.4]
  reg [31:0] _RAND_3;
  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267446.4]
  reg [31:0] _RAND_4;
  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267446.4]
  reg [31:0] _RAND_5;
  wire  proto_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267447.4]
  wire  proto_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267448.4]
  wire  proto_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267449.4]
  reg  setup_d; // @[SPIPhysical.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267462.4]
  reg [31:0] _RAND_6;
  reg [7:0] scnt; // @[SPIPhysical.scala 61:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267464.4]
  reg [31:0] _RAND_7;
  reg [11:0] tcnt; // @[SPIPhysical.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267465.4]
  reg [31:0] _RAND_8;
  wire  stop; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267466.4]
  wire  beat; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267467.4]
  wire [11:0] _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267468.4]
  wire [11:0] totalCoarseDel; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267469.4]
  reg [11:0] del_cntr; // @[SPIPhysical.scala 69:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267470.4]
  reg [31:0] _RAND_9;
  reg  sample_d; // @[SPIPhysical.scala 70:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267471.4]
  reg [31:0] _RAND_10;
  reg  xfr; // @[SPIPhysical.scala 171:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267659.4]
  reg [31:0] _RAND_11;
  reg  cref; // @[SPIPhysical.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267520.4]
  reg [31:0] _RAND_12;
  wire  _GEN_8; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267668.8]
  wire  _GEN_13; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  wire  sample; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  wire  _T_46; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267472.4]
  wire  _T_47; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267476.4]
  wire [12:0] _T_48; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267478.6]
  wire [12:0] _T_49; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267479.6]
  wire [11:0] _T_50; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267480.6]
  wire  _T_51; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267483.4]
  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267490.4]
  reg [31:0] _RAND_13;
  reg  last_d; // @[SPIPhysical.scala 87:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267491.4]
  reg [31:0] _RAND_14;
  wire  _T_178; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267681.4]
  wire  _T_179; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267683.6]
  wire  _T_180; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267684.6]
  wire  last; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.4]
  wire  _T_54; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267492.4]
  wire  _T_55; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267496.4]
  wire [12:0] _T_56; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267498.6]
  wire [12:0] _T_57; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267499.6]
  wire [11:0] _T_58; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267500.6]
  wire  _T_59; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267503.4]
  wire [11:0] _T_60; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267510.4]
  wire [12:0] _T_61; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267511.4]
  wire [12:0] _T_62; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267512.4]
  wire [11:0] decr; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267513.4]
  wire  sched; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  reg  sck; // @[SPIPhysical.scala 107:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267519.4]
  reg [31:0] _RAND_15;
  wire  cinv; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267521.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267522.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267523.4]
  wire [3:0] rxd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267524.4]
  wire  rxd_delayed_0; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267531.4]
  wire  rxd_delayed_1; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267532.4]
  wire  rxd_delayed_2; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267533.4]
  wire  rxd_delayed_3; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267534.4]
  wire [1:0] _T_82; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267539.4]
  wire [1:0] _T_83; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267540.4]
  wire [3:0] rxd_fin; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267541.4]
  wire  samples_0; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267542.4]
  wire [1:0] samples_1; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@267543.4]
  reg [7:0] buffer; // @[SPIPhysical.scala 132:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267544.4]
  reg [31:0] _RAND_16;
  wire  _T_84; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267545.4]
  wire  _T_85; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267546.4]
  wire  _T_86; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267547.4]
  wire  _T_87; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267548.4]
  wire  _T_88; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267549.4]
  wire  _T_89; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267550.4]
  wire  _T_90; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267551.4]
  wire  _T_91; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267552.4]
  wire  _T_92; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267553.4]
  wire [1:0] _T_93; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267554.4]
  wire [1:0] _T_94; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267555.4]
  wire [3:0] _T_95; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267556.4]
  wire [1:0] _T_96; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267557.4]
  wire [1:0] _T_97; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267558.4]
  wire [3:0] _T_98; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267559.4]
  wire [7:0] _T_99; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267560.4]
  wire [7:0] buffer_in; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@267561.4]
  wire  _T_100; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267562.4]
  wire  _T_101; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@267563.4]
  wire  _T_102; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@267564.4]
  wire  shift; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267565.4]
  wire [6:0] _T_103; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267566.4]
  wire [6:0] _T_104; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267567.4]
  wire [6:0] _T_105; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267568.4]
  wire  _T_106; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267569.4]
  wire  _T_107; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267570.4]
  wire [7:0] _T_108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267571.4]
  wire [5:0] _T_109; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267572.4]
  wire [5:0] _T_110; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267573.4]
  wire [5:0] _T_111; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267574.4]
  wire [1:0] _T_112; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267575.4]
  wire [1:0] _T_113; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267576.4]
  wire [7:0] _T_114; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267577.4]
  wire [3:0] _T_115; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267578.4]
  wire [3:0] _T_116; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267579.4]
  wire [3:0] _T_117; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267580.4]
  wire [3:0] _T_119; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267582.4]
  wire [7:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267583.4]
  wire [7:0] _T_122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267584.4]
  wire [7:0] _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267585.4]
  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267586.4]
  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267587.4]
  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267588.4]
  reg [3:0] txd; // @[SPIPhysical.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267592.4]
  reg [31:0] _RAND_17;
  wire [3:0] _T_130; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@267593.4]
  wire  _T_181; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267686.6]
  wire  _T_182; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267687.6]
  wire  _GEN_23; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267688.6]
  wire  accept; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.4]
  wire [3:0] txd_in; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267595.4]
  wire [1:0] _T_132; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@267596.4]
  wire  txd_sel_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267597.4]
  wire  txd_sel_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267598.4]
  wire  txd_sel_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267599.4]
  wire  txd_shf_0; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@267600.4]
  wire [1:0] txd_shf_1; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@267601.4]
  wire  _T_134; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267604.6]
  wire [1:0] _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267605.6]
  wire [3:0] _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267606.6]
  wire [1:0] _GEN_75; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267607.6]
  wire [1:0] _T_137; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267607.6]
  wire [3:0] _GEN_76; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267608.6]
  wire [3:0] _T_138; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267608.6]
  reg  done; // @[SPIPhysical.scala 165:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267637.4]
  reg [31:0] _RAND_18;
  wire  _T_183; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267694.4]
  wire  _T_184; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267703.8]
  wire  _GEN_9; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267668.8]
  wire  _GEN_14; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  wire  _GEN_21; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  wire  _GEN_24; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267688.6]
  wire  _GEN_28; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.4]
  wire  _GEN_43; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267704.8]
  wire  _GEN_56; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267697.6]
  wire  setup; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
  wire  _T_141; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@267614.4]
  wire  txen_2; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@267615.4]
  wire  txen_1; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@267617.4]
  wire  _T_155; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267638.4]
  wire  _T_156; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267641.4]
  wire  _T_158; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267643.4]
  wire  _T_159; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267644.4]
  wire  _T_160; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267645.4]
  wire  _T_161; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267646.4]
  wire  _T_162; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267647.4]
  wire  _T_163; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267648.4]
  wire  _T_164; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267649.4]
  wire [1:0] _T_165; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267650.4]
  wire [1:0] _T_166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267651.4]
  wire [3:0] _T_167; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267652.4]
  wire [1:0] _T_168; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267653.4]
  wire [1:0] _T_169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267654.4]
  wire [3:0] _T_170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267655.4]
  wire [7:0] _T_171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267656.4]
  wire  _T_175; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267669.10]
  wire  _GEN_7; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267668.8]
  wire [11:0] _GEN_10; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267676.8]
  wire  _GEN_12; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  wire [11:0] _GEN_15; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  wire  _GEN_19; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  wire [11:0] _GEN_22; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  wire  _T_185; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267708.10]
  wire [11:0] _GEN_49; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267697.6]
  wire [11:0] _GEN_62; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
  assign proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267447.4]
  assign proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267448.4]
  assign proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267449.4]
  assign stop = scnt == 8'h0; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267466.4]
  assign beat = tcnt == 12'h0; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267467.4]
  assign _GEN_74 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267468.4]
  assign totalCoarseDel = io_ctrl_extradel_coarse + _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267469.4]
  assign _GEN_8 = xfr ? cref : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267668.8]
  assign _GEN_13 = beat ? _GEN_8 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  assign sample = stop ? 1'h0 : _GEN_13; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  assign _T_46 = beat & sample; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267472.4]
  assign _T_47 = del_cntr != 12'h0; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267476.4]
  assign _T_48 = del_cntr - 12'h1; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267478.6]
  assign _T_49 = $unsigned(_T_48); // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267479.6]
  assign _T_50 = _T_49[11:0]; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267480.6]
  assign _T_51 = del_cntr == 12'h1; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267483.4]
  assign _T_178 = scnt == 8'h1; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267681.4]
  assign _T_179 = beat & cref; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267683.6]
  assign _T_180 = _T_179 & xfr; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267684.6]
  assign last = _T_178 ? _T_180 : 1'h0; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.4]
  assign _T_54 = beat & last; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267492.4]
  assign _T_55 = del_cntr_last != 12'h0; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267496.4]
  assign _T_56 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267498.6]
  assign _T_57 = $unsigned(_T_56); // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267499.6]
  assign _T_58 = _T_57[11:0]; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267500.6]
  assign _T_59 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267503.4]
  assign _T_60 = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267510.4]
  assign _T_61 = _T_60 - 12'h1; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267511.4]
  assign _T_62 = $unsigned(_T_61); // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267512.4]
  assign decr = _T_62[11:0]; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267513.4]
  assign sched = stop ? 1'h1 : beat; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  assign cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267521.4]
  assign _T_67 = {io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267522.4]
  assign _T_68 = {io_port_dq_3_i,io_port_dq_2_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267523.4]
  assign rxd = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267524.4]
  assign rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267531.4]
  assign rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267532.4]
  assign rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267533.4]
  assign rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267534.4]
  assign _T_82 = {rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267539.4]
  assign _T_83 = {rxd_delayed_3,rxd_delayed_2}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267540.4]
  assign rxd_fin = {_T_83,_T_82}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267541.4]
  assign samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267542.4]
  assign samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@267543.4]
  assign _T_84 = io_ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267545.4]
  assign _T_85 = io_op_bits_data[0]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267546.4]
  assign _T_86 = io_op_bits_data[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267547.4]
  assign _T_87 = io_op_bits_data[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267548.4]
  assign _T_88 = io_op_bits_data[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267549.4]
  assign _T_89 = io_op_bits_data[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267550.4]
  assign _T_90 = io_op_bits_data[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267551.4]
  assign _T_91 = io_op_bits_data[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267552.4]
  assign _T_92 = io_op_bits_data[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267553.4]
  assign _T_93 = {_T_91,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267554.4]
  assign _T_94 = {_T_89,_T_90}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267555.4]
  assign _T_95 = {_T_94,_T_93}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267556.4]
  assign _T_96 = {_T_87,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267557.4]
  assign _T_97 = {_T_85,_T_86}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267558.4]
  assign _T_98 = {_T_97,_T_96}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267559.4]
  assign _T_99 = {_T_98,_T_95}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267560.4]
  assign buffer_in = _T_84 ? io_op_bits_data : _T_99; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@267561.4]
  assign _T_100 = totalCoarseDel > 12'h0; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267562.4]
  assign _T_101 = sample_d & stop; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@267563.4]
  assign _T_102 = setup_d | _T_101; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@267564.4]
  assign shift = _T_100 ? _T_102 : sample_d; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267565.4]
  assign _T_103 = buffer[6:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267566.4]
  assign _T_104 = buffer[7:1]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267567.4]
  assign _T_105 = shift ? _T_103 : _T_104; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267568.4]
  assign _T_106 = buffer[0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267569.4]
  assign _T_107 = sample_d ? samples_0 : _T_106; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267570.4]
  assign _T_108 = {_T_105,_T_107}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267571.4]
  assign _T_109 = buffer[5:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267572.4]
  assign _T_110 = buffer[7:2]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267573.4]
  assign _T_111 = shift ? _T_109 : _T_110; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267574.4]
  assign _T_112 = buffer[1:0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267575.4]
  assign _T_113 = sample_d ? samples_1 : _T_112; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267576.4]
  assign _T_114 = {_T_111,_T_113}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267577.4]
  assign _T_115 = buffer[3:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267578.4]
  assign _T_116 = buffer[7:4]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267579.4]
  assign _T_117 = shift ? _T_115 : _T_116; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267580.4]
  assign _T_119 = sample_d ? rxd_fin : _T_115; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267582.4]
  assign _T_120 = {_T_117,_T_119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267583.4]
  assign _T_122 = proto_0 ? _T_108 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267584.4]
  assign _T_123 = proto_1 ? _T_114 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267585.4]
  assign _T_124 = proto_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267586.4]
  assign _T_125 = _T_122 | _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267587.4]
  assign _T_126 = _T_125 | _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267588.4]
  assign _T_130 = buffer_in[7:4]; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@267593.4]
  assign _T_181 = cref == 1'h0; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267686.6]
  assign _T_182 = beat & _T_181; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267687.6]
  assign _GEN_23 = _T_182 ? 1'h1 : stop; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267688.6]
  assign accept = _T_178 ? _GEN_23 : stop; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.4]
  assign txd_in = accept ? _T_130 : _T_116; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267595.4]
  assign _T_132 = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@267596.4]
  assign txd_sel_0 = 2'h0 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267597.4]
  assign txd_sel_1 = 2'h1 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267598.4]
  assign txd_sel_2 = 2'h2 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267599.4]
  assign txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@267600.4]
  assign txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@267601.4]
  assign _T_134 = txd_sel_0 ? txd_shf_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267604.6]
  assign _T_135 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267605.6]
  assign _T_136 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267606.6]
  assign _GEN_75 = {{1'd0}, _T_134}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267607.6]
  assign _T_137 = _GEN_75 | _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267607.6]
  assign _GEN_76 = {{2'd0}, _T_137}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267608.6]
  assign _T_138 = _GEN_76 | _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267608.6]
  assign _T_183 = accept & done; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267694.4]
  assign _T_184 = 1'h0 == io_op_bits_fn; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267703.8]
  assign _GEN_9 = xfr ? _T_181 : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267668.8]
  assign _GEN_14 = beat ? _GEN_9 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  assign _GEN_21 = stop ? 1'h0 : _GEN_14; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  assign _GEN_24 = _T_182 ? 1'h0 : _GEN_21; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267688.6]
  assign _GEN_28 = _T_178 ? _GEN_24 : _GEN_21; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.4]
  assign _GEN_43 = _T_184 ? 1'h1 : _GEN_28; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267704.8]
  assign _GEN_56 = io_op_valid ? _GEN_43 : _GEN_28; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267697.6]
  assign setup = _T_183 ? _GEN_56 : _GEN_28; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
  assign _T_141 = proto_1 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@267614.4]
  assign txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@267615.4]
  assign txen_1 = _T_141 | txen_2; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@267617.4]
  assign _T_155 = done | last_d; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267638.4]
  assign _T_156 = ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267641.4]
  assign _T_158 = buffer[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267643.4]
  assign _T_159 = buffer[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267644.4]
  assign _T_160 = buffer[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267645.4]
  assign _T_161 = buffer[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267646.4]
  assign _T_162 = buffer[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267647.4]
  assign _T_163 = buffer[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267648.4]
  assign _T_164 = buffer[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@267649.4]
  assign _T_165 = {_T_163,_T_164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267650.4]
  assign _T_166 = {_T_161,_T_162}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267651.4]
  assign _T_167 = {_T_166,_T_165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267652.4]
  assign _T_168 = {_T_159,_T_160}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267653.4]
  assign _T_169 = {_T_106,_T_158}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267654.4]
  assign _T_170 = {_T_169,_T_168}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267655.4]
  assign _T_171 = {_T_170,_T_167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267656.4]
  assign _T_175 = cref ^ cinv; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267669.10]
  assign _GEN_7 = xfr ? _T_175 : sck; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267668.8]
  assign _GEN_10 = _T_181 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267676.8]
  assign _GEN_12 = beat ? _GEN_7 : sck; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  assign _GEN_15 = beat ? _GEN_10 : {{4'd0}, scnt}; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267665.6]
  assign _GEN_19 = stop ? sck : _GEN_12; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  assign _GEN_22 = stop ? {{4'd0}, scnt} : _GEN_15; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267660.4]
  assign _T_185 = io_op_bits_cnt == 8'h0; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267708.10]
  assign _GEN_49 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_22; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267697.6]
  assign _GEN_62 = _T_183 ? _GEN_49 : _GEN_22; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
  assign io_port_sck = sck; // @[SPIPhysical.scala 156:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267619.4]
  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267628.4]
  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267629.4]
  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267630.4]
  assign io_port_dq_1_oe = _T_141 | txen_2; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267631.4]
  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267632.4]
  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267633.4]
  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267634.4]
  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267635.4]
  assign io_op_ready = accept & done; // @[SPIPhysical.scala 163:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267636.4 SPIPhysical.scala 200:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267696.6]
  assign io_rx_valid = done; // @[SPIPhysical.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267640.4]
  assign io_rx_bits = _T_156 ? buffer : _T_171; // @[SPIPhysical.scala 169:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267658.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@267723.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267724.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267725.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_port_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [7:0]  io_ctrl_dla_cssck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [7:0]  io_ctrl_dla_sckcs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [7:0]  io_ctrl_dla_intercs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [7:0]  io_ctrl_dla_interxfr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_ctrl_cs_id, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_ctrl_cs_dflt_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input  [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  input         io_link_cs_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
  output        io_link_active // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267726.4]
);
  wire  phy_clock; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_reset; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_sck; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_op_ready; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_op_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire  phy_io_rx_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.4]
  reg  cs_id; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267744.4]
  reg [31:0] _RAND_0;
  reg  cs_dflt_0; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267744.4]
  reg [31:0] _RAND_1;
  reg  cs_set; // @[SPIMedia.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267745.4]
  reg [31:0] _RAND_2;
  wire [1:0] _GEN_54; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.4]
  wire [1:0] _T_67; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.4]
  wire [1:0] _GEN_55; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267747.4]
  wire [1:0] _T_68; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267747.4]
  wire  cs_active_0; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267748.4]
  wire  cs_update; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267752.4]
  reg  clear; // @[SPIMedia.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267753.4]
  reg [31:0] _RAND_3;
  reg  cs_assert; // @[SPIMedia.scala 52:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267754.4]
  reg [31:0] _RAND_4;
  wire  _T_78; // @[SPIMedia.scala 53:44:shc.marmotcaravel.MarmotCaravelConfig.fir@267755.4]
  wire  _T_79; // @[SPIMedia.scala 53:41:shc.marmotcaravel.MarmotCaravelConfig.fir@267756.4]
  wire  cs_deassert; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267757.4]
  wire  _T_80; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@267758.4]
  wire  _T_81; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267759.4]
  wire  continuous; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267761.4]
  reg [1:0] state; // @[SPIMedia.scala 68:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267768.4]
  reg [31:0] _RAND_5;
  wire  _T_84; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267769.4]
  wire  _T_85; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267783.10]
  wire [7:0] _GEN_2; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  wire  _GEN_5; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  wire  _GEN_6; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  wire  _GEN_7; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  wire [7:0] _GEN_11; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267790.8]
  wire  _GEN_15; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267790.8]
  wire [7:0] _GEN_17; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  wire  _GEN_19; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  wire  _GEN_20; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  wire  _GEN_21; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  wire  _GEN_22; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  wire  _T_86; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267805.6]
  wire  _T_87; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267807.8]
  wire  _T_88; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267810.8]
  wire  _T_89; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267816.8]
  wire [1:0] _GEN_56; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.12]
  wire [1:0] _T_90; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.12]
  wire [1:0] _GEN_57; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267824.12]
  wire [1:0] _T_91; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267824.12]
  wire  _T_92; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267825.12]
  wire [7:0] _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267817.8]
  wire  _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267806.6]
  wire [7:0] _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267806.6]
  wire  _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267806.6]
  SPIPhysical phy ( // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267731.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@267746.4]
  assign _T_67 = _GEN_54 << io_ctrl_cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.4]
  assign _GEN_55 = {{1'd0}, io_ctrl_cs_dflt_0}; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267747.4]
  assign _T_68 = _GEN_55 ^ _T_67; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267747.4]
  assign cs_active_0 = _T_68[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267748.4]
  assign cs_update = cs_active_0 != cs_dflt_0; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267752.4]
  assign _T_78 = io_link_cs_hold == 1'h0; // @[SPIMedia.scala 53:44:shc.marmotcaravel.MarmotCaravelConfig.fir@267755.4]
  assign _T_79 = cs_update & _T_78; // @[SPIMedia.scala 53:41:shc.marmotcaravel.MarmotCaravelConfig.fir@267756.4]
  assign cs_deassert = clear | _T_79; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267757.4]
  assign _T_80 = io_link_cs_clear & cs_assert; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@267758.4]
  assign _T_81 = clear | _T_80; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267759.4]
  assign continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@267761.4]
  assign _T_84 = 2'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267769.4]
  assign _T_85 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267783.10]
  assign _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  assign _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  assign _GEN_6 = cs_deassert ? 1'h1 : io_link_tx_valid; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  assign _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
  assign _GEN_11 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267790.8]
  assign _GEN_15 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267790.8]
  assign _GEN_17 = cs_assert ? _GEN_2 : _GEN_11; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  assign _GEN_19 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  assign _GEN_20 = cs_assert ? _GEN_5 : _GEN_15; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  assign _GEN_21 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  assign _GEN_22 = cs_assert ? _GEN_7 : 1'h0; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267771.6]
  assign _T_86 = 2'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267805.6]
  assign _T_87 = continuous == 1'h0; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267807.8]
  assign _T_88 = phy_io_op_ready | continuous; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267810.8]
  assign _T_89 = 2'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267816.8]
  assign _GEN_56 = {{1'd0}, cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.12]
  assign _T_90 = _GEN_56 << cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.12]
  assign _GEN_57 = {{1'd0}, cs_dflt_0}; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267824.12]
  assign _T_91 = _GEN_57 ^ _T_90; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267824.12]
  assign _T_92 = _T_91[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267825.12]
  assign _GEN_30 = _T_89 ? io_ctrl_dla_intercs : io_link_cnt; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267817.8]
  assign _GEN_36 = _T_86 ? _T_87 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267806.6]
  assign _GEN_37 = _T_86 ? io_ctrl_dla_interxfr : _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267806.6]
  assign _GEN_39 = _T_86 ? 1'h0 : _T_89; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267806.6]
  assign io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 59:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267762.4]
  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267764.4]
  assign io_link_tx_ready = _T_84 ? _GEN_22 : 1'h0; // @[SPIMedia.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267766.4 SPIMedia.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267782.10]
  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267765.4]
  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267765.4]
  assign io_link_active = cs_assert; // @[SPIMedia.scala 65:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267767.4]
  assign phy_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267733.4]
  assign phy_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267734.4]
  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267763.4]
  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267735.4]
  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267735.4]
  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267735.4]
  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267736.4]
  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267736.4]
  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267736.4]
  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267737.4]
  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 37:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267738.4]
  assign phy_io_op_valid = _T_84 ? _GEN_21 : _GEN_36; // @[SPIMedia.scala 40:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267739.4 SPIMedia.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267781.10 SPIMedia.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267808.8]
  assign phy_io_op_bits_fn = _T_84 ? _GEN_19 : 1'h1; // @[SPIMedia.scala 41:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267740.4 SPIMedia.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267779.10]
  assign phy_io_op_bits_stb = _T_84 ? _GEN_20 : _GEN_39; // @[SPIMedia.scala 42:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267741.4 SPIMedia.scala 80:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267780.10 SPIMedia.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267800.10 SPIMedia.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267819.10]
  assign phy_io_op_bits_cnt = _T_84 ? _GEN_17 : _GEN_37; // @[SPIMedia.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267742.4 SPIMedia.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267773.10 SPIMedia.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267791.10 SPIMedia.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267799.10 SPIMedia.scala 107:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267809.8 SPIMedia.scala 115:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267818.10]
  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 44:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267743.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@267834.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267835.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267836.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [1:0]  io_ctrl_insn_cmd_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [7:0]  io_ctrl_insn_cmd_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_ctrl_insn_cmd_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [1:0]  io_ctrl_insn_addr_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [2:0]  io_ctrl_insn_addr_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [7:0]  io_ctrl_insn_pad_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [3:0]  io_ctrl_insn_pad_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [1:0]  io_ctrl_insn_data_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_addr_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_addr_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [31:0] io_addr_bits_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [31:0] io_addr_bits_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_data_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_data_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output [7:0]  io_data_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input  [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  input         io_link_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
  output        io_link_lock // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267837.4]
);
  wire [31:0] addr; // @[SPIFlash.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267843.4]
  wire  _T_30; // @[SPIFlash.scala 56:52:shc.marmotcaravel.MarmotCaravelConfig.fir@267844.4]
  wire  merge; // @[SPIFlash.scala 56:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267845.4]
  wire  _T_31; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267850.4]
  wire  _T_32; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267851.4]
  wire  _T_33; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267852.4]
  wire [3:0] _T_35; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267853.4]
  wire [2:0] _T_36; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267854.4]
  wire [1:0] _T_37; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267855.4]
  wire [3:0] _GEN_73; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267856.4]
  wire [3:0] _T_38; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267856.4]
  wire [3:0] _GEN_74; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267857.4]
  wire [3:0] _T_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267857.4]
  reg [3:0] cnt; // @[SPIFlash.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267868.4]
  reg [31:0] _RAND_0;
  wire  cnt_cmp_0; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267872.4]
  wire  cnt_cmp_1; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267873.4]
  wire  cnt_cmp_2; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267874.4]
  wire  cnt_cmp_3; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267875.4]
  wire  cnt_cmp_4; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267876.4]
  wire  cnt_last; // @[SPIFlash.scala 80:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267877.4]
  wire  cnt_done; // @[SPIFlash.scala 81:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267878.4]
  wire  _T_44; // @[SPIFlash.scala 83:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267880.6]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267882.6]
  wire [4:0] _T_46; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267884.8]
  wire [4:0] _T_47; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267885.8]
  wire [3:0] _T_48; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267886.8]
  reg [2:0] state; // @[SPIFlash.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267890.4]
  reg [31:0] _RAND_1;
  wire  _T_51; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267891.4]
  wire  _T_53; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267919.6]
  wire  _T_54; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267929.8]
  wire  _GEN_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire  cnt_en; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
  wire  _GEN_1; // @[SPIFlash.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267879.4]
  wire  _GEN_4; // @[SPIFlash.scala 98:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267897.10]
  wire  _GEN_6; // @[SPIFlash.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267896.8]
  wire  _GEN_11; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267894.6]
  wire  _GEN_12; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267894.6]
  wire [7:0] _T_55; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267931.10]
  wire [7:0] _T_56; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267932.10]
  wire [7:0] _T_57; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267933.10]
  wire [7:0] _T_58; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267934.10]
  wire [7:0] _T_60; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267935.10]
  wire [7:0] _T_61; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267936.10]
  wire [7:0] _T_62; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267937.10]
  wire [7:0] _T_63; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267938.10]
  wire [7:0] _T_64; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267939.10]
  wire [7:0] _T_65; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267940.10]
  wire [7:0] _T_66; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267941.10]
  wire  _T_69; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267951.10]
  wire  _T_70; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267960.12]
  wire  _T_71; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267969.14]
  wire  _T_72; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267973.16]
  wire  _T_73; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267979.16]
  wire [7:0] _GEN_21; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267980.16]
  wire  _GEN_23; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267970.14]
  wire  _GEN_24; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267970.14]
  wire [7:0] _GEN_26; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267970.14]
  wire [1:0] _GEN_27; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  wire  _GEN_28; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  wire  _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  wire  _GEN_31; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  wire [7:0] _GEN_32; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  wire [3:0] _GEN_33; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  wire [1:0] _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  wire  _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  wire  _GEN_38; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  wire  _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  wire [7:0] _GEN_40; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  wire [7:0] _GEN_41; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire [3:0] _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire [1:0] _GEN_45; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire  _GEN_46; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire  _GEN_47; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire  _GEN_48; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire [7:0] _GEN_49; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  wire [1:0] _GEN_50; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire [3:0] _GEN_55; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire  _GEN_56; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire  _GEN_57; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire  _GEN_58; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire [7:0] _GEN_59; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  wire [3:0] _GEN_69; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
  assign addr = io_addr_bits_hold + 32'h1; // @[SPIFlash.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267843.4]
  assign _T_30 = io_addr_bits_next == addr; // @[SPIFlash.scala 56:52:shc.marmotcaravel.MarmotCaravelConfig.fir@267844.4]
  assign merge = io_link_active & _T_30; // @[SPIFlash.scala 56:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267845.4]
  assign _T_31 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267850.4]
  assign _T_32 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267851.4]
  assign _T_33 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267852.4]
  assign _T_35 = _T_31 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267853.4]
  assign _T_36 = _T_32 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267854.4]
  assign _T_37 = _T_33 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267855.4]
  assign _GEN_73 = {{1'd0}, _T_36}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267856.4]
  assign _T_38 = _T_35 | _GEN_73; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267856.4]
  assign _GEN_74 = {{2'd0}, _T_37}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267857.4]
  assign _T_39 = _T_38 | _GEN_74; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267857.4]
  assign cnt_cmp_0 = cnt == 4'h0; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267872.4]
  assign cnt_cmp_1 = cnt == 4'h1; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267873.4]
  assign cnt_cmp_2 = cnt == 4'h2; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267874.4]
  assign cnt_cmp_3 = cnt == 4'h3; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267875.4]
  assign cnt_cmp_4 = cnt == 4'h4; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267876.4]
  assign cnt_last = cnt_cmp_1 & io_link_tx_ready; // @[SPIFlash.scala 80:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267877.4]
  assign cnt_done = cnt_last | cnt_cmp_0; // @[SPIFlash.scala 81:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267878.4]
  assign _T_44 = cnt_cmp_0 == 1'h0; // @[SPIFlash.scala 83:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267880.6]
  assign _T_45 = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267882.6]
  assign _T_46 = cnt - 4'h1; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267884.8]
  assign _T_47 = $unsigned(_T_46); // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267885.8]
  assign _T_48 = _T_47[3:0]; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@267886.8]
  assign _T_51 = 3'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267891.4]
  assign _T_53 = 3'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267919.6]
  assign _T_54 = 3'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267929.8]
  assign _GEN_54 = _T_53 ? 1'h0 : _T_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign cnt_en = _T_51 ? 1'h0 : _GEN_54; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
  assign _GEN_1 = cnt_en ? _T_44 : 1'h1; // @[SPIFlash.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267879.4]
  assign _GEN_4 = merge ? 1'h0 : 1'h1; // @[SPIFlash.scala 98:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267897.10]
  assign _GEN_6 = io_addr_valid ? _GEN_4 : 1'h0; // @[SPIFlash.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267896.8]
  assign _GEN_11 = io_en ? _GEN_6 : 1'h0; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267894.6]
  assign _GEN_12 = io_en ? io_addr_valid : 1'h0; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267894.6]
  assign _T_55 = io_addr_bits_hold[7:0]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267931.10]
  assign _T_56 = io_addr_bits_hold[15:8]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267932.10]
  assign _T_57 = io_addr_bits_hold[23:16]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267933.10]
  assign _T_58 = io_addr_bits_hold[31:24]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267934.10]
  assign _T_60 = cnt_cmp_1 ? _T_55 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267935.10]
  assign _T_61 = cnt_cmp_2 ? _T_56 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267936.10]
  assign _T_62 = cnt_cmp_3 ? _T_57 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267937.10]
  assign _T_63 = cnt_cmp_4 ? _T_58 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267938.10]
  assign _T_64 = _T_60 | _T_61; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267939.10]
  assign _T_65 = _T_64 | _T_62; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267940.10]
  assign _T_66 = _T_65 | _T_63; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267941.10]
  assign _T_69 = 3'h3 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267951.10]
  assign _T_70 = 3'h4 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267960.12]
  assign _T_71 = 3'h5 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267969.14]
  assign _T_72 = io_data_ready & io_data_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267973.16]
  assign _T_73 = 3'h6 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267979.16]
  assign _GEN_21 = _T_73 ? 8'h0 : io_link_rx_bits; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267980.16]
  assign _GEN_23 = _T_71 ? 1'h0 : _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267970.14]
  assign _GEN_24 = _T_71 ? io_link_rx_valid : _T_73; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267970.14]
  assign _GEN_26 = _T_71 ? io_link_rx_bits : _GEN_21; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267970.14]
  assign _GEN_27 = _T_70 ? io_ctrl_insn_data_proto : io_ctrl_insn_addr_proto; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  assign _GEN_28 = _T_70 ? 1'h0 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  assign _GEN_30 = _T_70 ? _GEN_1 : _GEN_23; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  assign _GEN_31 = _T_70 ? 1'h0 : _GEN_24; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  assign _GEN_32 = _T_70 ? io_link_rx_bits : _GEN_26; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267961.12]
  assign _GEN_33 = _T_69 ? io_ctrl_insn_pad_cnt : _T_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  assign _GEN_36 = _T_69 ? io_ctrl_insn_addr_proto : _GEN_27; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  assign _GEN_37 = _T_69 ? 1'h1 : _GEN_28; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  assign _GEN_38 = _T_69 ? _GEN_1 : _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  assign _GEN_39 = _T_69 ? 1'h0 : _GEN_31; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  assign _GEN_40 = _T_69 ? io_link_rx_bits : _GEN_32; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267952.10]
  assign _GEN_41 = _T_54 ? _T_66 : io_ctrl_insn_pad_code; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_44 = _T_54 ? _T_39 : _GEN_33; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_45 = _T_54 ? io_ctrl_insn_addr_proto : _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_46 = _T_54 ? 1'h1 : _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_47 = _T_54 ? _GEN_1 : _GEN_38; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_48 = _T_54 ? 1'h0 : _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_49 = _T_54 ? io_link_rx_bits : _GEN_40; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267930.8]
  assign _GEN_50 = _T_53 ? io_ctrl_insn_cmd_proto : _GEN_45; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign _GEN_55 = _T_53 ? _T_39 : _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign _GEN_56 = _T_53 ? 1'h1 : _GEN_46; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign _GEN_57 = _T_53 ? _GEN_1 : _GEN_47; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign _GEN_58 = _T_53 ? 1'h0 : _GEN_48; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign _GEN_59 = _T_53 ? io_link_rx_bits : _GEN_49; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@267920.6]
  assign _GEN_69 = _T_51 ? _T_39 : _GEN_55; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
  assign io_addr_ready = 3'h0 == state; // @[SPIFlash.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267865.4 SPIFlash.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267895.8 SPIFlash.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267911.8]
  assign io_data_valid = _T_51 ? 1'h0 : _GEN_58; // @[SPIFlash.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@267866.4 SPIFlash.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267972.16 SPIFlash.scala 164:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267981.18]
  assign io_data_bits = _T_51 ? io_link_rx_bits : _GEN_59; // @[SPIFlash.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267867.4 SPIFlash.scala 165:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267982.18]
  assign io_link_tx_valid = _T_51 ? 1'h0 : _GEN_57; // @[SPIFlash.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267846.4 SPIFlash.scala 83:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267881.6 SPIFlash.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267893.6 SPIFlash.scala 156:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267971.16]
  assign io_link_tx_bits = _T_53 ? io_ctrl_insn_cmd_code : _GEN_41; // @[SPIFlash.scala 118:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267922.8 SPIFlash.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267944.10 SPIFlash.scala 141:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267954.12]
  assign io_link_cnt = {{4'd0}, _GEN_69}; // @[SPIFlash.scala 63:15:shc.marmotcaravel.MarmotCaravelConfig.fir@267860.4 SPIFlash.scala 140:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267953.12]
  assign io_link_fmt_proto = _T_51 ? io_ctrl_insn_addr_proto : _GEN_50; // @[SPIFlash.scala 60:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267847.4 SPIFlash.scala 117:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267921.8 SPIFlash.scala 148:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267962.14]
  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFlash.scala 62:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267849.4]
  assign io_link_fmt_iodir = _T_51 ? 1'h1 : _GEN_56; // @[SPIFlash.scala 61:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267848.4 SPIFlash.scala 149:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267963.14]
  assign io_link_cs_clear = _T_51 ? _GEN_11 : 1'h0; // @[SPIFlash.scala 68:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267862.4 SPIFlash.scala 102:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267903.12]
  assign io_link_lock = _T_51 ? _GEN_12 : 1'h1; // @[SPIFlash.scala 70:16:shc.marmotcaravel.MarmotCaravelConfig.fir@267864.4 SPIFlash.scala 105:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267907.10 SPIFlash.scala 109:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267912.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@267988.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267989.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267990.4]
  output       io_inner_0_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_0_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [7:0] io_inner_0_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_inner_0_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output [7:0] io_inner_0_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [7:0] io_inner_0_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [1:0] io_inner_0_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_0_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_0_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_0_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_inner_0_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_0_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_inner_1_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_1_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [7:0] io_inner_1_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_inner_1_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output [7:0] io_inner_1_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [7:0] io_inner_1_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [1:0] io_inner_1_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_1_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_1_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_1_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_1_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_inner_1_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_outer_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_outer_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output [7:0] io_outer_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_outer_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input  [7:0] io_outer_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output [7:0] io_outer_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output [1:0] io_outer_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_outer_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_outer_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_outer_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_outer_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  output       io_outer_cs_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_outer_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
  input        io_sel // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@267991.4]
);
  reg  sel_0; // @[SPIArbiter.scala 17:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268000.4]
  reg [31:0] _RAND_0;
  reg  sel_1; // @[SPIArbiter.scala 17:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268000.4]
  reg [31:0] _RAND_1;
  wire  _T_192; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268001.4]
  wire  _T_193; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268002.4]
  wire [7:0] _T_198; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268007.4]
  wire [7:0] _T_199; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268008.4]
  wire [7:0] _T_204; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268013.4]
  wire [7:0] _T_205; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268014.4]
  wire [2:0] _T_210; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268019.4]
  wire [3:0] _T_211; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268020.4]
  wire [3:0] _T_212; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268021.4]
  wire [2:0] _T_213; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268022.4]
  wire [3:0] _T_214; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268023.4]
  wire [3:0] _T_215; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268024.4]
  wire [3:0] _T_216; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268025.4]
  wire  _T_224_clear; // @[SPIArbiter.scala 24:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268036.4]
  wire  nsel_0; // @[SPIArbiter.scala 34:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268052.4]
  wire  _T_244; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268058.4]
  wire  _T_245; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268059.4]
  wire  lock; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268060.4]
  wire  _T_248; // @[SPIArbiter.scala 36:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268063.4]
  wire [1:0] _T_249; // @[SPIArbiter.scala 38:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268066.6]
  wire [1:0] _T_250; // @[SPIArbiter.scala 38:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268067.6]
  wire  _T_251; // @[SPIArbiter.scala 38:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268068.6]
  wire  _GEN_0; // @[SPIArbiter.scala 38:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268069.6]
  assign _T_192 = sel_0 ? io_inner_0_tx_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268001.4]
  assign _T_193 = sel_1 ? io_inner_1_tx_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268002.4]
  assign _T_198 = sel_0 ? io_inner_0_tx_bits : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268007.4]
  assign _T_199 = sel_1 ? io_inner_1_tx_bits : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268008.4]
  assign _T_204 = sel_0 ? io_inner_0_cnt : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268013.4]
  assign _T_205 = sel_1 ? io_inner_1_cnt : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268014.4]
  assign _T_210 = {io_inner_0_fmt_proto,io_inner_0_fmt_endian}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268019.4]
  assign _T_211 = {_T_210,io_inner_0_fmt_iodir}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268020.4]
  assign _T_212 = sel_0 ? _T_211 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268021.4]
  assign _T_213 = {io_inner_1_fmt_proto,io_inner_1_fmt_endian}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268022.4]
  assign _T_214 = {_T_213,io_inner_1_fmt_iodir}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268023.4]
  assign _T_215 = sel_1 ? _T_214 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268024.4]
  assign _T_216 = _T_212 | _T_215; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268025.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@268036.4]
  assign nsel_0 = io_sel == 1'h0; // @[SPIArbiter.scala 34:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268052.4]
  assign _T_244 = sel_0 ? io_inner_0_lock : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268058.4]
  assign _T_245 = sel_1 ? io_inner_1_lock : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268059.4]
  assign lock = _T_244 | _T_245; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268060.4]
  assign _T_248 = lock == 1'h0; // @[SPIArbiter.scala 36:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268063.4]
  assign _T_249 = {sel_1,sel_0}; // @[SPIArbiter.scala 38:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268066.6]
  assign _T_250 = {io_sel,nsel_0}; // @[SPIArbiter.scala 38:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268067.6]
  assign _T_251 = _T_249 != _T_250; // @[SPIArbiter.scala 38:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268068.6]
  assign _GEN_0 = _T_251 ? 1'h1 : _T_224_clear; // @[SPIArbiter.scala 38:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268069.6]
  assign io_inner_0_tx_ready = io_outer_tx_ready & sel_0; // @[SPIArbiter.scala 28:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268039.4]
  assign io_inner_0_rx_valid = io_outer_rx_valid & sel_0; // @[SPIArbiter.scala 29:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268041.4]
  assign io_inner_0_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 30:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268042.4]
  assign io_inner_0_active = io_outer_active & sel_0; // @[SPIArbiter.scala 31:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268044.4]
  assign io_inner_1_tx_ready = io_outer_tx_ready & sel_1; // @[SPIArbiter.scala 28:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268046.4]
  assign io_inner_1_rx_valid = io_outer_rx_valid & sel_1; // @[SPIArbiter.scala 29:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268048.4]
  assign io_inner_1_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 30:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268049.4]
  assign io_outer_tx_valid = _T_192 | _T_193; // @[SPIArbiter.scala 19:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268006.4]
  assign io_outer_tx_bits = _T_198 | _T_199; // @[SPIArbiter.scala 20:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268012.4]
  assign io_outer_cnt = _T_204 | _T_205; // @[SPIArbiter.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268018.4]
  assign io_outer_fmt_proto = _T_216[3:2]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268035.4]
  assign io_outer_fmt_endian = _T_216[1]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268035.4]
  assign io_outer_fmt_iodir = _T_216[0]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268035.4]
  assign io_outer_cs_set = sel_0 ? 1'h1 : io_inner_1_cs_set; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268037.4]
  assign io_outer_cs_clear = _T_248 ? _GEN_0 : _T_224_clear; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268037.4 SPIArbiter.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268070.8]
  assign io_outer_cs_hold = sel_0; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268037.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@268074.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268075.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268076.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_mem_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_mem_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [2:0]  auto_mem_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [2:0]  auto_mem_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_mem_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [7:0]  auto_mem_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [29:0] auto_mem_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_mem_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_mem_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_mem_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_mem_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_mem_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output [7:0]  auto_mem_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output [7:0]  auto_mem_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
  output        auto_io_out_cs_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268077.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [7:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [7:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [7:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [7:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [7:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire [7:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268094.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268094.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268094.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268094.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [28:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.4]
  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_cs_hold; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  mac_io_link_active; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire  flash_clock; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_reset; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_en; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [1:0] flash_io_ctrl_insn_cmd_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [7:0] flash_io_ctrl_insn_cmd_code; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_ctrl_insn_cmd_en; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [1:0] flash_io_ctrl_insn_addr_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [2:0] flash_io_ctrl_insn_addr_len; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [7:0] flash_io_ctrl_insn_pad_code; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [3:0] flash_io_ctrl_insn_pad_cnt; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [1:0] flash_io_ctrl_insn_data_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_ctrl_fmt_endian; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_addr_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_addr_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [31:0] flash_io_addr_bits_next; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [31:0] flash_io_addr_bits_hold; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_data_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_data_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [7:0] flash_io_data_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_tx_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_tx_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [7:0] flash_io_link_tx_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_rx_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [7:0] flash_io_link_rx_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [7:0] flash_io_link_cnt; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire [1:0] flash_io_link_fmt_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_fmt_endian; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_cs_clear; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_active; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  flash_io_link_lock; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.4]
  wire  arb_clock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_reset; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_inner_0_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_inner_0_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [1:0] arb_io_inner_0_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_active; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_0_lock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_inner_1_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_inner_1_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [1:0] arb_io_inner_1_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_cs_set; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_inner_1_lock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_outer_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_outer_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [7:0] arb_io_outer_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire [1:0] arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_cs_set; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_cs_hold; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_outer_active; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  wire  arb_io_sel; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268268.4]
  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_0;
  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_1;
  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_2;
  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_3;
  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_4;
  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_5;
  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_6;
  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_7;
  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_8;
  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_9;
  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_10;
  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_11;
  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_12;
  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_13;
  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_14;
  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_15;
  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_16;
  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  reg [31:0] _RAND_17;
  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268255.4]
  reg [31:0] _RAND_18;
  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268255.4]
  reg [31:0] _RAND_19;
  wire  _T_650; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268256.4]
  wire  _T_651; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@268257.4]
  wire  _T_655; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268262.4]
  wire  _T_656; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268263.4]
  reg  a_size; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
  reg [31:0] _RAND_20;
  reg [7:0] a_source; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
  reg [31:0] _RAND_21;
  reg [29:0] a_address; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
  reg [31:0] _RAND_22;
  wire  _T_108_a_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 TLSPIFlash.scala 70:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268285.4]
  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  wire  _T_657; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268276.4]
  wire  _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  wire [7:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  wire [29:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  wire [28:0] _T_658; // @[TLSPIFlash.scala 67:46:shc.marmotcaravel.MarmotCaravelConfig.fir@268280.4]
  wire [28:0] _T_659; // @[TLSPIFlash.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268282.4]
  reg [1:0] insn_cmd_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_23;
  reg [7:0] insn_cmd_code; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_24;
  reg  insn_cmd_en; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_25;
  reg [1:0] insn_addr_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_26;
  reg [2:0] insn_addr_len; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_27;
  reg [7:0] insn_pad_code; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_28;
  reg [3:0] insn_pad_cnt; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_29;
  reg [1:0] insn_data_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  reg [31:0] _RAND_30;
  reg  flash_en; // @[TLSPIFlash.scala 77:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268310.4]
  reg [31:0] _RAND_31;
  wire [2:0] _T_174_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire  _T_674; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268321.4]
  wire [28:0] _T_174_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire [26:0] _T_675; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@268323.4]
  wire [5:0] _T_174_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire [1:0] _T_174_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire [7:0] _T_676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.4]
  wire [9:0] _T_671_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.4]
  wire [9:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268335.4]
  wire  _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268337.4]
  wire [3:0] _T_174_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire  _T_902; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268381.4]
  wire  _T_903; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268382.4]
  wire  _T_904; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268383.4]
  wire  _T_905; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268384.4]
  wire [7:0] _T_907; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268386.4]
  wire [7:0] _T_909; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268388.4]
  wire [7:0] _T_911; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [7:0] _T_913; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268392.4]
  wire [15:0] _T_914; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268393.4]
  wire [15:0] _T_915; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
  wire [31:0] _T_916; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
  wire [11:0] _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268411.4]
  wire [11:0] _T_935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268414.4]
  wire  _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268415.4]
  wire  _T_174_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire  _T_174_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire  _T_1917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269487.4]
  wire  _T_1916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269486.4]
  wire [1:0] _T_1924; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269494.4]
  wire  _T_1915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269485.4]
  wire [2:0] _T_1925; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269495.4]
  wire  _T_1914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269484.4]
  wire  _T_1913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269483.4]
  wire [1:0] _T_1923; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269493.4]
  wire [4:0] _T_1926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269496.4]
  wire  _T_1993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269563.4]
  wire  _T_1994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269564.4]
  wire [31:0] _T_1927; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@269497.4]
  wire  _T_1928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269498.4]
  wire  _T_2229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269863.4]
  wire  _T_2230; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269864.4]
  wire  _T_2233; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269867.4]
  wire  _T_2234; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269868.4]
  wire  _T_944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268423.4]
  wire [31:0] _T_174_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire [11:0] _T_946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268425.4]
  wire  _T_957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268439.4]
  wire  _T_960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268442.4]
  wire  _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268443.4]
  wire  _T_1933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269503.4]
  wire  _T_2263; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269906.4]
  wire  _T_2264; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269907.4]
  wire  _T_969; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268451.4]
  wire  _T_971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268453.4]
  wire [7:0] _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268467.4]
  wire  _T_983; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268468.4]
  wire [7:0] _T_985; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.4]
  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268471.4]
  wire  _T_1938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269508.4]
  wire  _T_2293; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269943.4]
  wire  _T_2294; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269944.4]
  wire  _T_994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268479.4]
  wire [7:0] _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268481.4]
  wire [7:0] _T_1007; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268495.4]
  wire [7:0] _T_1010; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268498.4]
  wire  _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268499.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268507.4]
  wire [7:0] _T_1021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [15:0] _T_1030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268521.4]
  wire [23:0] _T_1031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268522.4]
  wire  _T_1952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269522.4]
  wire  _T_2377; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270059.4]
  wire  _T_2378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270060.4]
  wire  _T_1046; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268537.4]
  wire  _T_1953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269523.4]
  wire  _T_2383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270067.4]
  wire  _T_2384; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270068.4]
  wire  _T_1071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268565.4]
  wire [2:0] _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268581.4]
  wire [2:0] _T_1087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268584.4]
  wire  _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268585.4]
  wire  _T_1096; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268593.4]
  wire [2:0] _T_1098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268595.4]
  wire [3:0] _T_1108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [3:0] _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268611.4]
  wire [3:0] _T_1114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268614.4]
  wire  _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268615.4]
  wire  _T_1123; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268623.4]
  wire [3:0] _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268625.4]
  wire [7:0] _T_1135; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268638.4]
  wire [1:0] _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268641.4]
  wire [1:0] _T_1141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268644.4]
  wire  _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268645.4]
  wire  _T_1150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268653.4]
  wire [1:0] _T_1152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268655.4]
  wire [9:0] _T_1162; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268668.4]
  wire [1:0] _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268671.4]
  wire [1:0] _T_1168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268674.4]
  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268675.4]
  wire  _T_1177; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268683.4]
  wire [1:0] _T_1179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268685.4]
  wire [11:0] _T_1189; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268698.4]
  wire [1:0] _T_1192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268701.4]
  wire [1:0] _T_1195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268704.4]
  wire  _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268705.4]
  wire  _T_1204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268713.4]
  wire [1:0] _T_1206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268715.4]
  wire [13:0] _T_1216; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268728.4]
  wire  _T_1231; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268743.4]
  wire [15:0] _T_1242; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268757.4]
  wire [23:0] _T_1243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268758.4]
  wire [7:0] _T_1246; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268761.4]
  wire [7:0] _T_1249; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268764.4]
  wire  _T_1250; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268765.4]
  wire  _T_1258; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268773.4]
  wire [7:0] _T_1260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268775.4]
  wire [31:0] _T_1270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268788.4]
  wire  _T_1942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269512.4]
  wire  _T_2317; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269975.4]
  wire  _T_2318; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269976.4]
  wire  _T_1285; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268803.4]
  wire [3:0] _T_1298; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268819.4]
  wire [3:0] _T_1301; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268822.4]
  wire  _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268823.4]
  wire  _T_1948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269518.4]
  wire  _T_2353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270029.4]
  wire  _T_2354; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270030.4]
  wire  _T_1310; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268831.4]
  wire [3:0] _T_1312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268833.4]
  wire  _T_1346; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268870.4]
  wire  _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268872.4]
  wire  _T_1351; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268875.4]
  wire  _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268876.4]
  wire  _T_1362; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268886.4]
  wire [1:0] _T_1372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268896.4]
  wire  _T_1929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269499.4]
  wire  _T_2239; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269875.4]
  wire  _T_2240; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269876.4]
  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268911.4]
  wire  _T_1412; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268939.4]
  wire [1:0] _T_1424; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268954.4]
  wire [1:0] _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268957.4]
  wire [1:0] _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268960.4]
  wire  _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268961.4]
  wire  _T_1934; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269504.4]
  wire  _T_2269; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269914.4]
  wire  _T_2270; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269915.4]
  wire  _T_1439; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268969.4]
  wire [1:0] _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268971.4]
  wire  _T_1956; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269526.4]
  wire  _T_2401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270096.4]
  wire  _T_2402; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270097.4]
  wire  _T_1464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268997.4]
  wire  _T_1489; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269025.4]
  wire [1:0] _T_1501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269040.4]
  wire  _T_1949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269519.4]
  wire  _T_2359; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270037.4]
  wire  _T_2360; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270038.4]
  wire  _T_1516; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269055.4]
  wire  _T_1946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269516.4]
  wire  _T_2341; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270009.4]
  wire  _T_2342; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270010.4]
  wire  _T_1541; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269083.4]
  wire  _T_1590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269134.4]
  wire  _T_1591; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269135.4]
  wire  _T_1592; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269136.4]
  wire  _T_1596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269140.4]
  wire  _T_1597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269141.4]
  wire  _T_1599; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@269143.4]
  wire  _T_1544; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@269086.4]
  wire [31:0] _T_1609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269154.4]
  wire  _T_1944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269514.4]
  wire  _T_2329; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269991.4]
  wire  _T_2330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269992.4]
  wire  _T_1624; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269169.4]
  wire  _T_1637; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269185.4]
  wire  _T_1640; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269188.4]
  wire  _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269189.4]
  wire  _T_1649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269197.4]
  wire  _T_1651; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269199.4]
  wire [2:0] _T_1661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269212.4]
  wire  _T_1664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269215.4]
  wire  _T_1667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269218.4]
  wire  _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269219.4]
  wire  _T_1676; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269227.4]
  wire  _T_1678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269229.4]
  wire [3:0] _T_1688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269242.4]
  wire [3:0] _T_1691; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269245.4]
  wire [3:0] _T_1694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269248.4]
  wire  _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269249.4]
  wire  _T_1703; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269257.4]
  wire [3:0] _T_1705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269259.4]
  wire [15:0] _T_1714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269271.4]
  wire [19:0] _T_1715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269272.4]
  wire  _T_1939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269509.4]
  wire  _T_2299; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269952.4]
  wire  _T_2300; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269953.4]
  wire  _T_1730; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269287.4]
  wire  _T_1755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269315.4]
  wire [15:0] _T_1766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269329.4]
  wire [23:0] _T_1767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269330.4]
  wire  _T_1947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269517.4]
  wire  _T_2111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269719.4]
  wire  _T_2112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269720.4]
  wire [7:0] _T_1793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269357.4]
  wire [8:0] _T_1819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269383.4]
  wire [30:0] _T_1820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269384.4]
  wire [31:0] _T_1846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269410.4]
  wire  _T_1932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269502.4]
  wire  _T_2257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269898.4]
  wire  _T_2258; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269899.4]
  wire  _T_1861; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269425.4]
  wire [4:0] _T_1874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269441.4]
  wire [4:0] _T_1877; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269444.4]
  wire  _T_1878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269445.4]
  wire  _T_1943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269513.4]
  wire  _T_2323; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269983.4]
  wire  _T_2324; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269984.4]
  wire  _T_1886; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269453.4]
  wire [4:0] _T_1888; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269455.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire  _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  wire [31:0] _T_2986_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270811.4]
  wire [31:0] _T_2986_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270812.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270815.4]
  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270816.4]
  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270817.4]
  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270821.4]
  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270822.4]
  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270825.4]
  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270826.4]
  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270827.4]
  wire [31:0] _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270831.4]
  wire [31:0] _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270832.4]
  wire [31:0] _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_24; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270835.4]
  wire [31:0] _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270839.4]
  wire [31:0] _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _T_2986_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270840.4]
  wire [31:0] _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  wire [31:0] _GEN_228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  TLBuffer_23 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268082.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_24 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268088.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@268094.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@268106.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_74 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268145.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@268229.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@268233.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@268264.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@268268.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@268256.4]
  assign _T_651 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@268257.4]
  assign _T_655 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268262.4]
  assign _T_656 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268263.4]
  assign _T_108_a_ready = flash_io_addr_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 TLSPIFlash.scala 70:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268285.4]
  assign _T_108_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign _T_657 = _T_108_a_ready & _T_108_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268276.4]
  assign _T_108_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign _T_108_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign _T_108_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign _T_658 = _T_108_a_bits_address[28:0]; // @[TLSPIFlash.scala 67:46:shc.marmotcaravel.MarmotCaravelConfig.fir@268280.4]
  assign _T_659 = a_address[28:0]; // @[TLSPIFlash.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268282.4]
  assign _T_174_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_674 = _T_174_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268321.4]
  assign _T_174_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_675 = _T_174_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@268323.4]
  assign _T_174_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_174_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_676 = {_T_174_a_bits_source,_T_174_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.4]
  assign _T_671_bits_index = _T_675[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.4]
  assign _T_692 = _T_671_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268335.4]
  assign _T_694 = _T_692 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268337.4]
  assign _T_174_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_902 = _T_174_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268381.4]
  assign _T_903 = _T_174_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268382.4]
  assign _T_904 = _T_174_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268383.4]
  assign _T_905 = _T_174_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268384.4]
  assign _T_907 = _T_902 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268386.4]
  assign _T_909 = _T_903 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268388.4]
  assign _T_911 = _T_904 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  assign _T_913 = _T_905 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268392.4]
  assign _T_914 = {_T_909,_T_907}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268393.4]
  assign _T_915 = {_T_913,_T_911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
  assign _T_916 = {_T_915,_T_914}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
  assign _T_932 = _T_916[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268411.4]
  assign _T_935 = ~ _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268414.4]
  assign _T_936 = _T_935 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268415.4]
  assign _T_174_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_174_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_1917 = _T_671_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269487.4]
  assign _T_1916 = _T_671_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269486.4]
  assign _T_1924 = {_T_1917,_T_1916}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269494.4]
  assign _T_1915 = _T_671_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269485.4]
  assign _T_1925 = {_T_1924,_T_1915}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269495.4]
  assign _T_1914 = _T_671_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269484.4]
  assign _T_1913 = _T_671_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269483.4]
  assign _T_1923 = {_T_1914,_T_1913}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269493.4]
  assign _T_1926 = {_T_1925,_T_1923}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269496.4]
  assign _T_1993 = _T_174_a_valid & _T_174_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269563.4]
  assign _T_1994 = _T_1993 & _T_674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269564.4]
  assign _T_1927 = 32'h1 << _T_1926; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@269497.4]
  assign _T_1928 = _T_1927[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269498.4]
  assign _T_2229 = _T_674 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269863.4]
  assign _T_2230 = _T_1993 & _T_2229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269864.4]
  assign _T_2233 = _T_2230 & _T_1928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269867.4]
  assign _T_2234 = _T_2233 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269868.4]
  assign _T_944 = _T_2234 & _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268423.4]
  assign _T_174_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268143.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign _T_946 = _T_174_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268425.4]
  assign _T_957 = _T_916[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268439.4]
  assign _T_960 = ~ _T_957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268442.4]
  assign _T_961 = _T_960 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268443.4]
  assign _T_1933 = _T_1927[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269503.4]
  assign _T_2263 = _T_2230 & _T_1933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269906.4]
  assign _T_2264 = _T_2263 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269907.4]
  assign _T_969 = _T_2264 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268451.4]
  assign _T_971 = _T_174_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268453.4]
  assign _T_982 = _T_916[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268467.4]
  assign _T_983 = _T_982 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268468.4]
  assign _T_985 = ~ _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.4]
  assign _T_986 = _T_985 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268471.4]
  assign _T_1938 = _T_1927[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269508.4]
  assign _T_2293 = _T_2230 & _T_1938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269943.4]
  assign _T_2294 = _T_2293 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269944.4]
  assign _T_994 = _T_2294 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268479.4]
  assign _T_996 = _T_174_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268481.4]
  assign _T_1007 = _T_916[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268495.4]
  assign _T_1010 = ~ _T_1007; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268498.4]
  assign _T_1011 = _T_1010 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268499.4]
  assign _T_1019 = _T_2294 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268507.4]
  assign _T_1021 = _T_174_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  assign _T_1030 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268521.4]
  assign _T_1031 = {ctrl_dla_sckcs,_T_1030}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268522.4]
  assign _T_1952 = _T_1927[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269522.4]
  assign _T_2377 = _T_2230 & _T_1952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270059.4]
  assign _T_2378 = _T_2377 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270060.4]
  assign _T_1046 = _T_2378 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268537.4]
  assign _T_1953 = _T_1927[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269523.4]
  assign _T_2383 = _T_2230 & _T_1953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270067.4]
  assign _T_2384 = _T_2383 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270068.4]
  assign _T_1071 = _T_2384 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268565.4]
  assign _T_1084 = _T_916[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268581.4]
  assign _T_1087 = ~ _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268584.4]
  assign _T_1088 = _T_1087 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268585.4]
  assign _T_1096 = _T_2384 & _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268593.4]
  assign _T_1098 = _T_174_a_bits_data[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268595.4]
  assign _T_1108 = {insn_addr_len,insn_cmd_en}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  assign _T_1111 = _T_916[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268611.4]
  assign _T_1114 = ~ _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268614.4]
  assign _T_1115 = _T_1114 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268615.4]
  assign _T_1123 = _T_2384 & _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268623.4]
  assign _T_1125 = _T_174_a_bits_data[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268625.4]
  assign _T_1135 = {insn_pad_cnt,_T_1108}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268638.4]
  assign _T_1138 = _T_916[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268641.4]
  assign _T_1141 = ~ _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268644.4]
  assign _T_1142 = _T_1141 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268645.4]
  assign _T_1150 = _T_2384 & _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268653.4]
  assign _T_1152 = _T_174_a_bits_data[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268655.4]
  assign _T_1162 = {insn_cmd_proto,_T_1135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268668.4]
  assign _T_1165 = _T_916[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268671.4]
  assign _T_1168 = ~ _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268674.4]
  assign _T_1169 = _T_1168 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268675.4]
  assign _T_1177 = _T_2384 & _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268683.4]
  assign _T_1179 = _T_174_a_bits_data[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268685.4]
  assign _T_1189 = {insn_addr_proto,_T_1162}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268698.4]
  assign _T_1192 = _T_916[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268701.4]
  assign _T_1195 = ~ _T_1192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268704.4]
  assign _T_1196 = _T_1195 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268705.4]
  assign _T_1204 = _T_2384 & _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268713.4]
  assign _T_1206 = _T_174_a_bits_data[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268715.4]
  assign _T_1216 = {insn_data_proto,_T_1189}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268728.4]
  assign _T_1231 = _T_2384 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268743.4]
  assign _T_1242 = {{2'd0}, _T_1216}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268757.4]
  assign _T_1243 = {insn_cmd_code,_T_1242}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268758.4]
  assign _T_1246 = _T_916[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268761.4]
  assign _T_1249 = ~ _T_1246; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268764.4]
  assign _T_1250 = _T_1249 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268765.4]
  assign _T_1258 = _T_2384 & _T_1250; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268773.4]
  assign _T_1260 = _T_174_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268775.4]
  assign _T_1270 = {insn_pad_code,_T_1243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268788.4]
  assign _T_1942 = _T_1927[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269512.4]
  assign _T_2317 = _T_2230 & _T_1942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269975.4]
  assign _T_2318 = _T_2317 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269976.4]
  assign _T_1285 = _T_2318 & _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268803.4]
  assign _T_1298 = _T_916[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268819.4]
  assign _T_1301 = ~ _T_1298; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268822.4]
  assign _T_1302 = _T_1301 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268823.4]
  assign _T_1948 = _T_1927[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269518.4]
  assign _T_2353 = _T_2230 & _T_1948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270029.4]
  assign _T_2354 = _T_2353 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270030.4]
  assign _T_1310 = _T_2354 & _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268831.4]
  assign _T_1312 = _T_174_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268833.4]
  assign _T_1346 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268870.4]
  assign _T_1348 = _T_916[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268872.4]
  assign _T_1351 = ~ _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268875.4]
  assign _T_1352 = _T_1351 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268876.4]
  assign _T_1362 = _T_174_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268886.4]
  assign _T_1372 = {fifo_io_ip_rxwm,_T_1346}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268896.4]
  assign _T_1929 = _T_1927[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269499.4]
  assign _T_2239 = _T_2230 & _T_1929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269875.4]
  assign _T_2240 = _T_2239 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269876.4]
  assign _T_1387 = _T_2240 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268911.4]
  assign _T_1412 = _T_2240 & _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268939.4]
  assign _T_1424 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268954.4]
  assign _T_1427 = _T_916[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268957.4]
  assign _T_1430 = ~ _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268960.4]
  assign _T_1431 = _T_1430 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268961.4]
  assign _T_1934 = _T_1927[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269504.4]
  assign _T_2269 = _T_2230 & _T_1934; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269914.4]
  assign _T_2270 = _T_2269 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269915.4]
  assign _T_1439 = _T_2270 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268969.4]
  assign _T_1441 = _T_174_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268971.4]
  assign _T_1956 = _T_1927[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269526.4]
  assign _T_2401 = _T_2230 & _T_1956; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270096.4]
  assign _T_2402 = _T_2401 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270097.4]
  assign _T_1464 = _T_2402 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268997.4]
  assign _T_1489 = _T_2402 & _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269025.4]
  assign _T_1501 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269040.4]
  assign _T_1949 = _T_1927[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269519.4]
  assign _T_2359 = _T_2230 & _T_1949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270037.4]
  assign _T_2360 = _T_2359 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270038.4]
  assign _T_1516 = _T_2360 & _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269055.4]
  assign _T_1946 = _T_1927[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269516.4]
  assign _T_2341 = _T_2230 & _T_1946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270009.4]
  assign _T_2342 = _T_2341 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270010.4]
  assign _T_1541 = _T_2342 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269083.4]
  assign _T_1590 = _T_916[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269134.4]
  assign _T_1591 = ~ _T_1590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269135.4]
  assign _T_1592 = _T_1591 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269136.4]
  assign _T_1596 = _T_2342 & _T_1592; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269140.4]
  assign _T_1597 = _T_174_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269141.4]
  assign _T_1599 = _T_1596 & _T_1597; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@269143.4]
  assign _T_1544 = _T_1599 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@269086.4]
  assign _T_1609 = {_T_655,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269154.4]
  assign _T_1944 = _T_1927[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269514.4]
  assign _T_2329 = _T_2230 & _T_1944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269991.4]
  assign _T_2330 = _T_2329 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269992.4]
  assign _T_1624 = _T_2330 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269169.4]
  assign _T_1637 = _T_916[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269185.4]
  assign _T_1640 = ~ _T_1637; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269188.4]
  assign _T_1641 = _T_1640 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269189.4]
  assign _T_1649 = _T_2330 & _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269197.4]
  assign _T_1651 = _T_174_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269199.4]
  assign _T_1661 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269212.4]
  assign _T_1664 = _T_916[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269215.4]
  assign _T_1667 = ~ _T_1664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269218.4]
  assign _T_1668 = _T_1667 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269219.4]
  assign _T_1676 = _T_2330 & _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269227.4]
  assign _T_1678 = _T_174_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269229.4]
  assign _T_1688 = {ctrl_fmt_iodir,_T_1661}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269242.4]
  assign _T_1691 = _T_916[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269245.4]
  assign _T_1694 = ~ _T_1691; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269248.4]
  assign _T_1695 = _T_1694 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269249.4]
  assign _T_1703 = _T_2330 & _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269257.4]
  assign _T_1705 = _T_174_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269259.4]
  assign _T_1714 = {{12'd0}, _T_1688}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269271.4]
  assign _T_1715 = {ctrl_fmt_len,_T_1714}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269272.4]
  assign _T_1939 = _T_1927[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269509.4]
  assign _T_2299 = _T_2230 & _T_1939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269952.4]
  assign _T_2300 = _T_2299 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269953.4]
  assign _T_1730 = _T_2300 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269287.4]
  assign _T_1755 = _T_2300 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269315.4]
  assign _T_1766 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269329.4]
  assign _T_1767 = {ctrl_dla_interxfr,_T_1766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269330.4]
  assign _T_1947 = _T_1927[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269517.4]
  assign _T_2111 = _T_1994 & _T_1947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269719.4]
  assign _T_2112 = _T_2111 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269720.4]
  assign _T_1793 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269357.4]
  assign _T_1819 = {1'h0,_T_1793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269383.4]
  assign _T_1820 = {{22'd0}, _T_1819}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269384.4]
  assign _T_1846 = {_T_656,_T_1820}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269410.4]
  assign _T_1932 = _T_1927[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269502.4]
  assign _T_2257 = _T_2230 & _T_1932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269898.4]
  assign _T_2258 = _T_2257 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269899.4]
  assign _T_1861 = _T_2258 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269425.4]
  assign _T_1874 = _T_916[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269441.4]
  assign _T_1877 = ~ _T_1874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269444.4]
  assign _T_1878 = _T_1877 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269445.4]
  assign _T_1943 = _T_1927[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269513.4]
  assign _T_2323 = _T_2230 & _T_1943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269983.4]
  assign _T_2324 = _T_2323 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269984.4]
  assign _T_1886 = _T_2324 & _T_1878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269453.4]
  assign _T_1888 = _T_174_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269455.4]
  assign _GEN_166 = 5'h1 == _T_1926 ? _T_694 : _T_694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_167 = 5'h2 == _T_1926 ? 1'h1 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_168 = 5'h3 == _T_1926 ? 1'h1 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_169 = 5'h4 == _T_1926 ? _T_694 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_170 = 5'h5 == _T_1926 ? _T_694 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_171 = 5'h6 == _T_1926 ? _T_694 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_172 = 5'h7 == _T_1926 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_173 = 5'h8 == _T_1926 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_174 = 5'h9 == _T_1926 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_175 = 5'ha == _T_1926 ? _T_694 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_176 = 5'hb == _T_1926 ? _T_694 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_177 = 5'hc == _T_1926 ? 1'h1 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_178 = 5'hd == _T_1926 ? 1'h1 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_179 = 5'he == _T_1926 ? _T_694 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_180 = 5'hf == _T_1926 ? _T_694 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_181 = 5'h10 == _T_1926 ? _T_694 : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_182 = 5'h11 == _T_1926 ? 1'h1 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_183 = 5'h12 == _T_1926 ? _T_694 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_184 = 5'h13 == _T_1926 ? _T_694 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_185 = 5'h14 == _T_1926 ? _T_694 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_186 = 5'h15 == _T_1926 ? _T_694 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_187 = 5'h16 == _T_1926 ? 1'h1 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_188 = 5'h17 == _T_1926 ? 1'h1 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_189 = 5'h18 == _T_1926 ? _T_694 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_190 = 5'h19 == _T_1926 ? _T_694 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_191 = 5'h1a == _T_1926 ? 1'h1 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_192 = 5'h1b == _T_1926 ? 1'h1 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_193 = 5'h1c == _T_1926 ? _T_694 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_194 = 5'h1d == _T_1926 ? _T_694 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_195 = 5'h1e == _T_1926 ? 1'h1 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _GEN_196 = 5'h1f == _T_1926 ? 1'h1 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270807.4]
  assign _T_2986_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270811.4]
  assign _T_2986_1 = {{30'd0}, _T_1424}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270812.4]
  assign _GEN_198 = 5'h1 == _T_1926 ? _T_2986_1 : _T_2986_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_199 = 5'h2 == _T_1926 ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_200 = 5'h3 == _T_1926 ? 32'h0 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270815.4]
  assign _GEN_201 = 5'h4 == _T_1926 ? _T_2986_4 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270816.4]
  assign _GEN_202 = 5'h5 == _T_1926 ? _T_2986_5 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270817.4]
  assign _GEN_203 = 5'h6 == _T_1926 ? _T_2986_6 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_204 = 5'h7 == _T_1926 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_205 = 5'h8 == _T_1926 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_206 = 5'h9 == _T_1926 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_10 = {{8'd0}, _T_1031}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270821.4]
  assign _GEN_207 = 5'ha == _T_1926 ? _T_2986_10 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_11 = {{8'd0}, _T_1767}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270822.4]
  assign _GEN_208 = 5'hb == _T_1926 ? _T_2986_11 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_209 = 5'hc == _T_1926 ? 32'h0 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_210 = 5'hd == _T_1926 ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270825.4]
  assign _GEN_211 = 5'he == _T_1926 ? _T_2986_14 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270826.4]
  assign _GEN_212 = 5'hf == _T_1926 ? _T_2986_15 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_16 = {{12'd0}, _T_1715}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270827.4]
  assign _GEN_213 = 5'h10 == _T_1926 ? _T_2986_16 : _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_214 = 5'h11 == _T_1926 ? 32'h0 : _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_215 = 5'h12 == _T_1926 ? _T_1609 : _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_216 = 5'h13 == _T_1926 ? _T_1846 : _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270831.4]
  assign _GEN_217 = 5'h14 == _T_1926 ? _T_2986_20 : _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270832.4]
  assign _GEN_218 = 5'h15 == _T_1926 ? _T_2986_21 : _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_219 = 5'h16 == _T_1926 ? 32'h0 : _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_220 = 5'h17 == _T_1926 ? 32'h0 : _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_24 = {{31'd0}, flash_en}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270835.4]
  assign _GEN_221 = 5'h18 == _T_1926 ? _T_2986_24 : _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_222 = 5'h19 == _T_1926 ? _T_1270 : _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_223 = 5'h1a == _T_1926 ? 32'h0 : _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_224 = 5'h1b == _T_1926 ? 32'h0 : _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_28 = {{30'd0}, _T_1501}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270839.4]
  assign _GEN_225 = 5'h1c == _T_1926 ? _T_2986_28 : _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _T_2986_29 = {{30'd0}, _T_1372}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270809.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270840.4]
  assign _GEN_226 = 5'h1d == _T_1926 ? _T_2986_29 : _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_227 = 5'h1e == _T_1926 ? 32'h0 : _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign _GEN_228 = 5'h1f == _T_1926 ? 32'h0 : _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270843.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268206.4]
  assign auto_mem_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  assign auto_mem_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  assign auto_mem_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  assign auto_mem_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  assign auto_mem_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268086.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268087.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_674}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign buffer_auto_out_d_bits_size = _T_676[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign buffer_auto_out_d_bits_source = _T_676[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign buffer_auto_out_d_bits_data = _GEN_196 ? _GEN_228 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268092.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268093.4]
  assign buffer_1_auto_in_a_valid = auto_mem_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_mem_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_param = auto_mem_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_size = auto_mem_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_source = auto_mem_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_address = auto_mem_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_mask = auto_mem_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_mem_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_in_d_ready = auto_mem_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign buffer_1_auto_out_a_ready = flash_io_addr_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign buffer_1_auto_out_d_valid = flash_io_data_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign buffer_1_auto_out_d_bits_size = a_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign buffer_1_auto_out_d_bits_source = a_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign buffer_1_auto_out_d_bits_data = flash_io_data_bits; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268098.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  assign intsource_auto_in_0 = _T_650 | _T_651; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268197.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268108.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268109.4]
  assign TLMonitor_io_in_a_ready = flash_io_addr_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_d_valid = flash_io_data_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_d_bits_size = a_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_io_in_d_bits_source = a_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268142.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268147.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268148.4]
  assign TLMonitor_1_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_674}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_d_bits_size = _T_676[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign TLMonitor_1_io_in_d_bits_source = _T_676[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268231.4]
  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268232.4]
  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268239.4]
  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268240.4]
  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268240.4]
  assign fifo_io_link_tx_ready = arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign fifo_io_link_rx_valid = arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign fifo_io_link_rx_bits = arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign fifo_io_tx_valid = _T_1541 & _T_1544; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@269088.4]
  assign fifo_io_tx_bits = _T_174_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@269089.4]
  assign fifo_io_rx_ready = _T_2112 & _T_983; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@269347.4]
  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268235.4]
  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268236.4]
  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268245.4]
  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268245.4]
  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268242.4]
  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268243.4]
  assign mac_io_link_tx_valid = arb_io_outer_tx_valid; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_tx_bits = arb_io_outer_tx_bits; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_cnt = arb_io_outer_cnt; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_fmt_proto = arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_fmt_endian = arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_fmt_iodir = arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_cs_set = arb_io_outer_cs_set; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_cs_clear = arb_io_outer_cs_clear; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign mac_io_link_cs_hold = arb_io_outer_cs_hold; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign flash_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.4]
  assign flash_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268267.4]
  assign flash_io_en = flash_en; // @[TLSPIFlash.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268313.4]
  assign flash_io_ctrl_insn_cmd_proto = insn_cmd_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_cmd_code = insn_cmd_code; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_cmd_en = insn_cmd_en; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_addr_proto = insn_addr_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_addr_len = insn_addr_len; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_pad_code = insn_pad_code; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_pad_cnt = insn_pad_cnt; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_insn_data_proto = insn_data_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign flash_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPIFlash.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268312.4]
  assign flash_io_addr_valid = buffer_1_auto_out_a_valid; // @[TLSPIFlash.scala 69:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268284.4]
  assign flash_io_addr_bits_next = {{3'd0}, _T_658}; // @[TLSPIFlash.scala 67:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268281.4]
  assign flash_io_addr_bits_hold = {{3'd0}, _T_659}; // @[TLSPIFlash.scala 68:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268283.4]
  assign flash_io_data_ready = buffer_1_auto_out_d_ready; // @[TLSPIFlash.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268298.4]
  assign flash_io_link_tx_ready = arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign flash_io_link_rx_valid = arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign flash_io_link_rx_bits = arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign flash_io_link_active = arb_io_inner_0_active; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268270.4]
  assign arb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268271.4]
  assign arb_io_inner_0_tx_valid = flash_io_link_tx_valid; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_tx_bits = flash_io_link_tx_bits; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_cnt = flash_io_link_cnt; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_fmt_proto = flash_io_link_fmt_proto; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_fmt_endian = flash_io_link_fmt_endian; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_fmt_iodir = flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_cs_clear = flash_io_link_cs_clear; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_0_lock = flash_io_link_lock; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268316.4]
  assign arb_io_inner_1_tx_valid = fifo_io_link_tx_valid; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_tx_bits = fifo_io_link_tx_bits; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_cnt = fifo_io_link_cnt; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_cs_set = fifo_io_link_cs_set; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_cs_clear = fifo_io_link_cs_clear; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_inner_1_lock = fifo_io_link_lock; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
  assign arb_io_outer_tx_ready = mac_io_link_tx_ready; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign arb_io_outer_rx_valid = mac_io_link_rx_valid; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign arb_io_outer_rx_bits = mac_io_link_rx_bits; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign arb_io_outer_active = mac_io_link_active; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  assign arb_io_sel = flash_en == 1'h0; // @[TLSPIFlash.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268315.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_75( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270938.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270939.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270940.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270941.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@272068.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@270968.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@270969.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@270970.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@270971.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@270971.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270972.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@270974.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@270975.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@270977.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@270978.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270979.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270980.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@270981.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270983.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270984.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270986.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270987.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270988.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270989.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@270991.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270992.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270993.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@270994.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270995.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270996.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@270997.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270998.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270999.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271000.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271001.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271002.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271003.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271004.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271005.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271028.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@271031.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271032.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271033.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271034.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@271035.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271040.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271061.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271062.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271068.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271069.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271074.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271076.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271077.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271082.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271083.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271085.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271086.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271093.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271094.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271100.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271154.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271156.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271157.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271180.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271183.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@271191.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271194.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271195.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271214.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271216.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271217.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271222.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271224.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271225.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271239.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271290.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271332.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271333.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@271334.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271336.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271337.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271343.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@271374.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271376.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271377.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271391.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271422.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271424.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271425.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271439.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271489.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271491.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271492.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271509.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271518.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271520.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271521.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271551.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271609.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271799.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271808.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271809.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271810.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271811.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271812.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271823.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271824.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271825.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271826.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271827.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271828.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271829.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271831.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271833.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271834.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271839.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271841.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271842.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271847.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271849.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271850.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271855.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271857.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271858.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271863.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271865.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271866.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271873.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271881.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271889.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271890.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271891.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271892.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271893.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271904.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271906.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271907.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271910.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271911.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271913.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271915.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271916.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271929.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271931.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271932.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271937.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271939.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271940.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271963.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271972.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271982.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271983.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271984.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271985.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271986.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272005.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272006.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272007.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272008.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272009.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272024.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272027.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272029.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272030.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272031.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272033.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272034.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272026.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272045.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@272047.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272048.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272050.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272052.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272053.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272054.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272056.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272057.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@272049.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272063.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272064.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272065.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272067.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272070.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272071.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272072.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272073.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@272074.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272075.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272077.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272078.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272084.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272088.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271042.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271114.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271197.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271256.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271307.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271357.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271405.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271453.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271523.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271564.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271622.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@272068.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@270968.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@270969.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@270970.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@270971.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@270971.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270972.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@270974.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@270975.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@270977.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@270978.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270979.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270980.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@270981.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270983.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270984.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270986.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270987.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270988.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@270989.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@270991.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270992.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270993.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@270994.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270995.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270996.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@270997.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@270998.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@270999.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271000.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271001.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271002.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271003.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271004.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271005.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271028.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@271031.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271032.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271033.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271034.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@271035.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271040.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271061.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271062.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271068.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271069.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271074.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271076.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271077.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271082.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271083.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271085.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271086.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271093.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271094.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271100.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271154.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271156.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271157.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271180.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271183.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@271191.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271194.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271195.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271214.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271216.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271217.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271222.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271224.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271225.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271239.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271290.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271332.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271333.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@271334.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271336.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271337.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271343.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@271374.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271376.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271377.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271391.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271422.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271424.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271425.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271439.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271489.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271491.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271492.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271509.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271518.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271520.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271521.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271551.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271609.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271799.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271809.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271810.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271811.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271812.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271828.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271829.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271831.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271833.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271834.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271839.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271841.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271842.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271847.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271849.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271850.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271855.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271857.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271858.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271863.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271865.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271866.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271873.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271881.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271890.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271891.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271892.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271893.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271910.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271911.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271913.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271915.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271916.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271929.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271931.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271932.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271937.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271939.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271940.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271963.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271983.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271984.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271985.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271986.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272006.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272007.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272008.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272009.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272024.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272027.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272029.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272030.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272031.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272033.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272034.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272026.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272045.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@272047.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272048.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272050.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272052.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272053.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272054.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272056.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272057.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@272049.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272063.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272064.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272065.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272070.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272071.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272072.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272073.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@272074.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272075.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272077.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272078.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272084.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272088.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271042.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271114.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271197.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271256.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271307.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271357.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271405.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271453.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271523.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271564.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271622.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@270953.8]
        end
    `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@270954.8]
        end
    `ifdef STOP_COND
      end
    `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@271025.8]
        end
    `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@271026.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@271042.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@271043.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@271049.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@271050.10]
        end
    `ifdef STOP_COND
      end
    `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@271056.10]
        end
    `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@271057.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@271064.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@271065.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@271071.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@271072.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@271079.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@271080.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@271088.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@271089.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@271096.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@271097.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@271114.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@271115.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@271121.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@271122.10]
        end
    `ifdef STOP_COND
      end
    `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@271128.10]
        end
    `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@271129.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@271136.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@271137.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@271143.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@271144.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@271151.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@271152.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@271159.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@271160.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@271168.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@271169.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@271176.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@271177.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@271197.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@271198.10]
        end
    `ifdef STOP_COND
      end
    `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@271204.10]
        end
    `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@271205.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@271211.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@271212.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@271219.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@271220.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@271227.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@271228.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@271235.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@271236.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@271256.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@271257.10]
        end
    `ifdef STOP_COND
      end
    `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@271263.10]
        end
    `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@271264.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@271270.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@271271.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@271278.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@271279.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@271286.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@271287.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@271307.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@271308.10]
        end
    `ifdef STOP_COND
      end
    `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@271314.10]
        end
    `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@271315.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@271321.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@271322.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@271329.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@271330.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@271339.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@271340.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@271357.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@271358.10]
        end
    `ifdef STOP_COND
      end
    `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@271364.10]
        end
    `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@271365.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@271371.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@271372.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@271379.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@271380.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@271387.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@271388.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@271405.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@271406.10]
        end
    `ifdef STOP_COND
      end
    `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@271412.10]
        end
    `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@271413.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@271419.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@271420.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@271427.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@271428.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@271435.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@271436.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@271453.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@271454.10]
        end
    `ifdef STOP_COND
      end
    `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@271460.10]
        end
    `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@271461.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@271467.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@271468.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@271475.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@271476.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@271483.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@271484.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@271494.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@271495.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271515.10]
        end
    `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@271516.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@271523.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@271524.10]
        end
    `ifdef STOP_COND
      end
    `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@271531.10]
        end
    `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@271532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271539.10]
        end
    `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@271540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271547.10]
        end
    `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@271548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271557.10]
        end
    `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@271558.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@271564.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@271565.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@271572.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@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 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@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 287: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 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@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 288: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 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@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 289: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 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@271605.10]
        end
    `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@271606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271615.10]
        end
    `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@271616.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@271622.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@271623.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@271630.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@271631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271638.10]
        end
    `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@271639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271646.10]
        end
    `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@271647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@271655.10]
        end
    `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@271656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@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 300: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 (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@271674.10]
        end
    `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@271675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271682.10]
        end
    `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@271683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271690.10]
        end
    `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@271691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271699.10]
        end
    `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@271700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271709.10]
        end
    `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@271710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271717.10]
        end
    `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@271718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@271726.10]
        end
    `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@271727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@271735.10]
        end
    `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@271736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271745.10]
        end
    `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@271746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@271753.10]
        end
    `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@271754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271761.10]
        end
    `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@271762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@271770.10]
        end
    `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@271771.10]
        end
    `ifdef STOP_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@271780.6]
        end
    `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@271781.6]
        end
    `ifdef STOP_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@271788.6]
        end
    `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@271789.6]
        end
    `ifdef STOP_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@271796.6]
        end
    `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@271797.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@271836.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@271837.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@271844.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@271845.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@271852.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@271853.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@271860.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@271861.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@271868.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@271869.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@271918.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@271919.8]
        end
    `ifdef STOP_COND
      end
    `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@271926.8]
        end
    `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@271927.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@271934.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@271935.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@271942.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@271943.8]
        end
    `ifdef STOP_COND
      end
    `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@271950.8]
        end
    `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@271951.8]
        end
    `ifdef STOP_COND
      end
    `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@271958.8]
        end
    `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@271959.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@272036.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@272037.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@272059.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@272060.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@272080.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@272081.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272093.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272094.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272095.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.4]
  TLMonitor_75 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.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@272143.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272105.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272106.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272139.4]
endmodule
module TLMonitor_76( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272160.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272161.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272162.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272163.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@273216.4]
  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272213.6]
  wire [30:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272216.8]
  wire [31:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272217.8]
  wire [31:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272218.8]
  wire [31:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272219.8]
  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@272220.8]
  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272225.8]
  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272259.8]
  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272261.8]
  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272262.8]
  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272267.8]
  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272268.8]
  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272270.8]
  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272271.8]
  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272276.8]
  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272278.8]
  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272279.8]
  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272285.6]
  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272339.8]
  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272341.8]
  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272342.8]
  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272365.6]
  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.8]
  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@272374.8]
  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272377.8]
  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272378.8]
  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272397.8]
  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272399.8]
  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272400.8]
  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272407.8]
  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272408.8]
  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272422.6]
  wire  _T_193; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272471.6]
  wire  _T_221; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272521.6]
  wire  _T_239; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@272552.8]
  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272554.8]
  wire  _T_242; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272555.8]
  wire  _T_247; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272569.6]
  wire  _T_265; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272600.8]
  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272602.8]
  wire  _T_268; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272603.8]
  wire  _T_273; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272617.6]
  wire  _T_299; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272667.6]
  wire  _T_301; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272669.6]
  wire  _T_302; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272670.6]
  wire  _T_319; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272687.6]
  wire  _T_339; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272729.6]
  wire  _T_367; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272787.6]
  wire  _T_460; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272977.4]
  reg  _T_462; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272978.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272979.4]
  wire [1:0] _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272980.4]
  wire  _T_465; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272981.4]
  wire  _T_466; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272982.4]
  reg [2:0] _T_475; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272993.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_477; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272994.4]
  reg [31:0] _RAND_2;
  reg  _T_479; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272995.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_481; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272996.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_483; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272997.4]
  reg [31:0] _RAND_5;
  wire  _T_484; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272998.4]
  wire  _T_485; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272999.4]
  wire  _T_486; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273001.6]
  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273003.6]
  wire  _T_489; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273004.6]
  wire  _T_490; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273009.6]
  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273011.6]
  wire  _T_493; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273012.6]
  wire  _T_494; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273017.6]
  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273019.6]
  wire  _T_497; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273020.6]
  wire  _T_498; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273025.6]
  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273027.6]
  wire  _T_501; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273028.6]
  wire  _T_502; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273033.6]
  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273035.6]
  wire  _T_505; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273036.6]
  wire  _T_507; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273043.4]
  wire  _T_508; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273051.4]
  reg  _T_510; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273052.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273053.4]
  wire [1:0] _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273054.4]
  wire  _T_513; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273055.4]
  wire  _T_514; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273056.4]
  reg [2:0] _T_523; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273067.4]
  reg [31:0] _RAND_7;
  reg  _T_527; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273069.4]
  reg [31:0] _RAND_8;
  reg [7:0] _T_529; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273070.4]
  reg [31:0] _RAND_9;
  wire  _T_534; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273073.4]
  wire  _T_535; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273074.4]
  wire  _T_536; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273076.6]
  wire  _T_538; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273078.6]
  wire  _T_539; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273079.6]
  wire  _T_544; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273092.6]
  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273094.6]
  wire  _T_547; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273095.6]
  wire  _T_548; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273100.6]
  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273102.6]
  wire  _T_551; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273103.6]
  wire  _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273126.4]
  reg [255:0] _T_563; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273135.4]
  reg [255:0] _RAND_10;
  reg  _T_566; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273137.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273138.4]
  wire [1:0] _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273139.4]
  wire  _T_569; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273140.4]
  wire  _T_570; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273141.4]
  reg  _T_580; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273153.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273154.4]
  wire [1:0] _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273155.4]
  wire  _T_583; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273156.4]
  wire  _T_584; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273157.4]
  wire  _T_595; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273172.4]
  wire [255:0] _T_597; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273175.6]
  wire [255:0] _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273177.6]
  wire  _T_599; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273178.6]
  wire  _T_600; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273179.6]
  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273181.6]
  wire  _T_603; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273182.6]
  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273174.4]
  wire  _T_608; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273193.4]
  wire  _T_610; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@273195.4]
  wire  _T_611; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273196.4]
  wire [255:0] _T_612; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273198.6]
  wire [255:0] _T_613; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@273200.6]
  wire [255:0] _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273201.6]
  wire  _T_615; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273202.6]
  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273204.6]
  wire  _T_618; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273205.6]
  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@273197.4]
  wire [255:0] _T_619; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273211.4]
  wire [255:0] _T_620; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@273212.4]
  wire [255:0] _T_621; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273213.4]
  reg [31:0] _T_623; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273215.4]
  reg [31:0] _RAND_13;
  wire  _T_624; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273218.4]
  wire  _T_625; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273219.4]
  wire  _T_626; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273220.4]
  wire  _T_627; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273221.4]
  wire  _T_628; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@273222.4]
  wire  _T_629; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273223.4]
  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273225.4]
  wire  _T_632; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273226.4]
  wire [31:0] _T_634; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@273232.4]
  wire  _T_637; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273236.4]
  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272227.10]
  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272299.10]
  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272380.10]
  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272437.10]
  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272485.10]
  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272535.10]
  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272583.10]
  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272631.10]
  wire  _GEN_76; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272742.10]
  wire  _GEN_78; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272800.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@273216.4]
    .out(plusarg_reader_out)
  );
  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272213.6]
  assign _T_57 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272216.8]
  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272217.8]
  assign _T_59 = $signed(_T_58) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272218.8]
  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272219.8]
  assign _T_61 = $signed(_T_60) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@272220.8]
  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272225.8]
  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272259.8]
  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272261.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272262.8]
  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272267.8]
  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272268.8]
  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272270.8]
  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272271.8]
  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272276.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272278.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272279.8]
  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272285.6]
  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272339.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272341.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272342.8]
  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272365.6]
  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.8]
  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@272374.8]
  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272377.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272378.8]
  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272397.8]
  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272399.8]
  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272400.8]
  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272407.8]
  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272408.8]
  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272422.6]
  assign _T_193 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272471.6]
  assign _T_221 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272521.6]
  assign _T_239 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@272552.8]
  assign _T_241 = _T_239 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272554.8]
  assign _T_242 = _T_241 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272555.8]
  assign _T_247 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272569.6]
  assign _T_265 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272600.8]
  assign _T_267 = _T_265 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272602.8]
  assign _T_268 = _T_267 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272603.8]
  assign _T_273 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272617.6]
  assign _T_299 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272667.6]
  assign _T_301 = _T_299 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272669.6]
  assign _T_302 = _T_301 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272670.6]
  assign _T_319 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272687.6]
  assign _T_339 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272729.6]
  assign _T_367 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272787.6]
  assign _T_460 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272977.4]
  assign _T_463 = _T_462 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272979.4]
  assign _T_464 = $unsigned(_T_463); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272980.4]
  assign _T_465 = _T_464[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272981.4]
  assign _T_466 = _T_462 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272982.4]
  assign _T_484 = _T_466 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@272998.4]
  assign _T_485 = io_in_a_valid & _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272999.4]
  assign _T_486 = io_in_a_bits_opcode == _T_475; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273001.6]
  assign _T_488 = _T_486 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273003.6]
  assign _T_489 = _T_488 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273004.6]
  assign _T_490 = io_in_a_bits_param == _T_477; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273009.6]
  assign _T_492 = _T_490 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273011.6]
  assign _T_493 = _T_492 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273012.6]
  assign _T_494 = io_in_a_bits_size == _T_479; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273017.6]
  assign _T_496 = _T_494 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273019.6]
  assign _T_497 = _T_496 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273020.6]
  assign _T_498 = io_in_a_bits_source == _T_481; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273025.6]
  assign _T_500 = _T_498 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273027.6]
  assign _T_501 = _T_500 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273028.6]
  assign _T_502 = io_in_a_bits_address == _T_483; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273033.6]
  assign _T_504 = _T_502 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273035.6]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273036.6]
  assign _T_507 = _T_460 & _T_466; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273043.4]
  assign _T_508 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273051.4]
  assign _T_511 = _T_510 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273053.4]
  assign _T_512 = $unsigned(_T_511); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273054.4]
  assign _T_513 = _T_512[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273055.4]
  assign _T_514 = _T_510 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273056.4]
  assign _T_534 = _T_514 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273073.4]
  assign _T_535 = io_in_d_valid & _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273074.4]
  assign _T_536 = io_in_d_bits_opcode == _T_523; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273076.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273078.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273079.6]
  assign _T_544 = io_in_d_bits_size == _T_527; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273092.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273094.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273095.6]
  assign _T_548 = io_in_d_bits_source == _T_529; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273100.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273102.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273103.6]
  assign _T_561 = _T_508 & _T_514; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273126.4]
  assign _T_567 = _T_566 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273138.4]
  assign _T_568 = $unsigned(_T_567); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273139.4]
  assign _T_569 = _T_568[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273140.4]
  assign _T_570 = _T_566 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273141.4]
  assign _T_581 = _T_580 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273154.4]
  assign _T_582 = $unsigned(_T_581); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273155.4]
  assign _T_583 = _T_582[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273156.4]
  assign _T_584 = _T_580 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273157.4]
  assign _T_595 = _T_460 & _T_570; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273172.4]
  assign _T_597 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273175.6]
  assign _T_598 = _T_563 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273177.6]
  assign _T_599 = _T_598[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273178.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273179.6]
  assign _T_602 = _T_600 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273181.6]
  assign _T_603 = _T_602 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273182.6]
  assign _GEN_15 = _T_595 ? _T_597 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273174.4]
  assign _T_608 = _T_508 & _T_584; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273193.4]
  assign _T_610 = _T_319 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@273195.4]
  assign _T_611 = _T_608 & _T_610; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273196.4]
  assign _T_612 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273198.6]
  assign _T_613 = _GEN_15 | _T_563; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@273200.6]
  assign _T_614 = _T_613 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273201.6]
  assign _T_615 = _T_614[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273202.6]
  assign _T_617 = _T_615 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273204.6]
  assign _T_618 = _T_617 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273205.6]
  assign _GEN_16 = _T_611 ? _T_612 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@273197.4]
  assign _T_619 = _T_563 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273211.4]
  assign _T_620 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@273212.4]
  assign _T_621 = _T_619 & _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273213.4]
  assign _T_624 = _T_563 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273218.4]
  assign _T_625 = _T_624 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273219.4]
  assign _T_626 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273220.4]
  assign _T_627 = _T_625 | _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273221.4]
  assign _T_628 = _T_623 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@273222.4]
  assign _T_629 = _T_627 | _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273223.4]
  assign _T_631 = _T_629 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273225.4]
  assign _T_632 = _T_631 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273226.4]
  assign _T_634 = _T_623 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@273232.4]
  assign _T_637 = _T_460 | _T_508; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273236.4]
  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272227.10]
  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272299.10]
  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272380.10]
  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272437.10]
  assign _GEN_54 = io_in_a_valid & _T_193; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272485.10]
  assign _GEN_58 = io_in_a_valid & _T_221; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272535.10]
  assign _GEN_64 = io_in_a_valid & _T_247; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272583.10]
  assign _GEN_70 = io_in_a_valid & _T_273; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272631.10]
  assign _GEN_76 = io_in_d_valid & _T_339; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272742.10]
  assign _GEN_78 = io_in_d_valid & _T_367; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272800.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_462 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_475 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_477 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_479 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_481 = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_483 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_510 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_523 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_527 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_529 = _RAND_9[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {8{`RANDOM}};
  _T_563 = _RAND_10[255:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_566 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_580 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_623 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_462 <= 1'h0;
    end else begin
      if (_T_460) begin
        if (_T_466) begin
          _T_462 <= 1'h0;
        end else begin
          _T_462 <= _T_465;
        end
      end
    end
    if (_T_507) begin
      _T_475 <= io_in_a_bits_opcode;
    end
    if (_T_507) begin
      _T_477 <= io_in_a_bits_param;
    end
    if (_T_507) begin
      _T_479 <= io_in_a_bits_size;
    end
    if (_T_507) begin
      _T_481 <= io_in_a_bits_source;
    end
    if (_T_507) begin
      _T_483 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_510 <= 1'h0;
    end else begin
      if (_T_508) begin
        if (_T_514) begin
          _T_510 <= 1'h0;
        end else begin
          _T_510 <= _T_513;
        end
      end
    end
    if (_T_561) begin
      _T_523 <= io_in_d_bits_opcode;
    end
    if (_T_561) begin
      _T_527 <= io_in_d_bits_size;
    end
    if (_T_561) begin
      _T_529 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_563 <= 256'h0;
    end else begin
      _T_563 <= _T_621;
    end
    if (reset) begin
      _T_566 <= 1'h0;
    end else begin
      if (_T_460) begin
        if (_T_570) begin
          _T_566 <= 1'h0;
        end else begin
          _T_566 <= _T_569;
        end
      end
    end
    if (reset) begin
      _T_580 <= 1'h0;
    end else begin
      if (_T_508) begin
        if (_T_584) begin
          _T_580 <= 1'h0;
        end else begin
          _T_580 <= _T_583;
        end
      end
    end
    if (reset) begin
      _T_623 <= 32'h0;
    end else begin
      if (_T_637) begin
        _T_623 <= 32'h0;
      end else begin
        _T_623 <= _T_634;
      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@272175.8]
        end
    `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@272176.8]
        end
    `ifdef STOP_COND
      end
    `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@272210.8]
        end
    `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@272211.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@272227.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@272228.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@272234.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@272235.10]
        end
    `ifdef STOP_COND
      end
    `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@272241.10]
        end
    `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@272242.10]
        end
    `ifdef STOP_COND
      end
    `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@272249.10]
        end
    `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@272250.10]
        end
    `ifdef STOP_COND
      end
    `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@272256.10]
        end
    `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@272257.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@272264.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@272265.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@272273.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@272274.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@272281.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@272282.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@272299.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@272300.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@272306.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@272307.10]
        end
    `ifdef STOP_COND
      end
    `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@272313.10]
        end
    `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@272314.10]
        end
    `ifdef STOP_COND
      end
    `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@272321.10]
        end
    `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@272322.10]
        end
    `ifdef STOP_COND
      end
    `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@272328.10]
        end
    `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@272329.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@272336.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@272337.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@272344.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@272345.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@272353.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@272354.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@272361.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@272362.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@272380.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@272381.10]
        end
    `ifdef STOP_COND
      end
    `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@272387.10]
        end
    `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@272388.10]
        end
    `ifdef STOP_COND
      end
    `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@272394.10]
        end
    `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@272395.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@272402.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@272403.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@272410.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@272411.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@272418.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@272419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_147) 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@272437.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_147) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272438.10]
        end
    `ifdef STOP_COND
      end
    `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@272444.10]
        end
    `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@272445.10]
        end
    `ifdef STOP_COND
      end
    `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@272451.10]
        end
    `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@272452.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@272459.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@272460.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@272467.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@272468.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@272485.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@272486.10]
        end
    `ifdef STOP_COND
      end
    `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@272492.10]
        end
    `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@272493.10]
        end
    `ifdef STOP_COND
      end
    `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@272499.10]
        end
    `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@272500.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@272507.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@272508.10]
        end
    `ifdef STOP_COND
      end
    `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@272517.10]
        end
    `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@272518.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@272535.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@272536.10]
        end
    `ifdef STOP_COND
      end
    `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@272542.10]
        end
    `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@272543.10]
        end
    `ifdef STOP_COND
      end
    `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@272549.10]
        end
    `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@272550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_242) 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@272557.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_242) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272558.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@272565.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@272566.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@272583.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@272584.10]
        end
    `ifdef STOP_COND
      end
    `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@272590.10]
        end
    `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@272591.10]
        end
    `ifdef STOP_COND
      end
    `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@272597.10]
        end
    `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@272598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_268) 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@272605.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_268) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272606.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@272613.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@272614.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@272631.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@272632.10]
        end
    `ifdef STOP_COND
      end
    `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@272638.10]
        end
    `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@272639.10]
        end
    `ifdef STOP_COND
      end
    `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@272645.10]
        end
    `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@272646.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@272653.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@272654.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@272661.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@272662.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_302) 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@272672.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_302) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272673.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272693.10]
        end
    `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@272694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272701.10]
        end
    `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@272702.10]
        end
    `ifdef STOP_COND
      end
    `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@272709.10]
        end
    `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@272710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272717.10]
        end
    `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@272718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272725.10]
        end
    `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@272726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272735.10]
        end
    `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@272736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_76 & _T_66) 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@272742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_76 & _T_66) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272750.10]
        end
    `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@272751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272758.10]
        end
    `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@272759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272766.10]
        end
    `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@272767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272774.10]
        end
    `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@272775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272783.10]
        end
    `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@272784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272793.10]
        end
    `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@272794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_78 & _T_66) 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@272800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_78 & _T_66) begin
          $fatal; // @[Monitor.scala 295: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 (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@272808.10]
        end
    `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@272809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272816.10]
        end
    `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@272817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272824.10]
        end
    `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@272825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@272833.10]
        end
    `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@272834.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@272842.10]
        end
    `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@272843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272852.10]
        end
    `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@272853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272860.10]
        end
    `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@272861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272868.10]
        end
    `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@272869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272877.10]
        end
    `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@272878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272887.10]
        end
    `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@272888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272895.10]
        end
    `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@272896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@272904.10]
        end
    `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@272905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@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 316: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 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@272923.10]
        end
    `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@272924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@272931.10]
        end
    `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@272932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272939.10]
        end
    `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@272940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@272948.10]
        end
    `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@272949.10]
        end
    `ifdef STOP_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@272958.6]
        end
    `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@272959.6]
        end
    `ifdef STOP_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@272966.6]
        end
    `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@272967.6]
        end
    `ifdef STOP_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@272974.6]
        end
    `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@272975.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_489) 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@273006.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_489) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273007.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_493) 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@273014.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_493) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273015.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_497) 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@273022.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_497) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273023.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_501) 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@273030.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_501) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273031.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_505) 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@273038.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_505) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273039.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_535 & _T_539) 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@273081.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_535 & _T_539) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273082.8]
        end
    `ifdef STOP_COND
      end
    `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@273089.8]
        end
    `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@273090.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_535 & _T_547) 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@273097.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_535 & _T_547) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273098.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_535 & _T_551) 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@273105.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_535 & _T_551) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273106.8]
        end
    `ifdef STOP_COND
      end
    `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@273113.8]
        end
    `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@273114.8]
        end
    `ifdef STOP_COND
      end
    `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@273121.8]
        end
    `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@273122.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_595 & _T_603) 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@273184.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_595 & _T_603) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273185.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & _T_618) 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@273207.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_611 & _T_618) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273208.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_632) 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@273228.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_632) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273229.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_26( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273241.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273242.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273243.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [7:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [30:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [7:0]  auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [7:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [30:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output [7:0]  auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.4]
  TLMonitor_76 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.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@273291.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273291.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273291.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273291.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273291.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273291.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273290.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273253.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273254.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273287.4]
endmodule
module TLMonitor_77( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273362.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273363.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273364.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input  [30:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@273365.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@274418.4]
  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273415.6]
  wire [30:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273418.8]
  wire [31:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273419.8]
  wire [31:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@273420.8]
  wire [31:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@273421.8]
  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@273422.8]
  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273427.8]
  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273461.8]
  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273463.8]
  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273464.8]
  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@273469.8]
  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273470.8]
  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273472.8]
  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273473.8]
  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@273478.8]
  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273480.8]
  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273481.8]
  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273487.6]
  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273541.8]
  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273543.8]
  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273544.8]
  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273567.6]
  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273569.8]
  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@273576.8]
  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273579.8]
  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273580.8]
  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273599.8]
  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273601.8]
  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273602.8]
  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273609.8]
  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273610.8]
  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273624.6]
  wire  _T_193; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273673.6]
  wire  _T_221; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273723.6]
  wire  _T_239; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@273754.8]
  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273756.8]
  wire  _T_242; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273757.8]
  wire  _T_247; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273771.6]
  wire  _T_265; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@273802.8]
  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273804.8]
  wire  _T_268; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273805.8]
  wire  _T_273; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273819.6]
  wire  _T_299; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@273869.6]
  wire  _T_301; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273871.6]
  wire  _T_302; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273872.6]
  wire  _T_319; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273889.6]
  wire  _T_339; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273931.6]
  wire  _T_367; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273989.6]
  wire  _T_460; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274179.4]
  reg  _T_462; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274180.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274181.4]
  wire [1:0] _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274182.4]
  wire  _T_465; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274183.4]
  wire  _T_466; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274184.4]
  reg [2:0] _T_475; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274195.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_477; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274196.4]
  reg [31:0] _RAND_2;
  reg  _T_479; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274197.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_481; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274198.4]
  reg [31:0] _RAND_4;
  reg [30:0] _T_483; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274199.4]
  reg [31:0] _RAND_5;
  wire  _T_484; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274200.4]
  wire  _T_485; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274201.4]
  wire  _T_486; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274203.6]
  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274205.6]
  wire  _T_489; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274206.6]
  wire  _T_490; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274211.6]
  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274213.6]
  wire  _T_493; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274214.6]
  wire  _T_494; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274219.6]
  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274221.6]
  wire  _T_497; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274222.6]
  wire  _T_498; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274227.6]
  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274229.6]
  wire  _T_501; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274230.6]
  wire  _T_502; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274235.6]
  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274237.6]
  wire  _T_505; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274238.6]
  wire  _T_507; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274245.4]
  wire  _T_508; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274253.4]
  reg  _T_510; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274254.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274255.4]
  wire [1:0] _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274256.4]
  wire  _T_513; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274257.4]
  wire  _T_514; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274258.4]
  reg [2:0] _T_523; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274269.4]
  reg [31:0] _RAND_7;
  reg  _T_527; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274271.4]
  reg [31:0] _RAND_8;
  reg [7:0] _T_529; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274272.4]
  reg [31:0] _RAND_9;
  wire  _T_534; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274275.4]
  wire  _T_535; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274276.4]
  wire  _T_536; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274278.6]
  wire  _T_538; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274280.6]
  wire  _T_539; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274281.6]
  wire  _T_544; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274294.6]
  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274296.6]
  wire  _T_547; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274297.6]
  wire  _T_548; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274302.6]
  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274304.6]
  wire  _T_551; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274305.6]
  wire  _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274328.4]
  reg [255:0] _T_563; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274337.4]
  reg [255:0] _RAND_10;
  reg  _T_566; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274339.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274340.4]
  wire [1:0] _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274341.4]
  wire  _T_569; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274342.4]
  wire  _T_570; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274343.4]
  reg  _T_580; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274355.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274356.4]
  wire [1:0] _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274357.4]
  wire  _T_583; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274358.4]
  wire  _T_584; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274359.4]
  wire  _T_595; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274374.4]
  wire [255:0] _T_597; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274377.6]
  wire [255:0] _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@274379.6]
  wire  _T_599; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@274380.6]
  wire  _T_600; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274381.6]
  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274383.6]
  wire  _T_603; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274384.6]
  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@274376.4]
  wire  _T_608; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274395.4]
  wire  _T_610; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@274397.4]
  wire  _T_611; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@274398.4]
  wire [255:0] _T_612; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274400.6]
  wire [255:0] _T_613; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274402.6]
  wire [255:0] _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@274403.6]
  wire  _T_615; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@274404.6]
  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274406.6]
  wire  _T_618; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274407.6]
  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@274399.4]
  wire [255:0] _T_619; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274413.4]
  wire [255:0] _T_620; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274414.4]
  wire [255:0] _T_621; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274415.4]
  reg [31:0] _T_623; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274417.4]
  reg [31:0] _RAND_13;
  wire  _T_624; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@274420.4]
  wire  _T_625; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274421.4]
  wire  _T_626; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274422.4]
  wire  _T_627; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274423.4]
  wire  _T_628; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@274424.4]
  wire  _T_629; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@274425.4]
  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274427.4]
  wire  _T_632; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274428.4]
  wire [31:0] _T_634; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274434.4]
  wire  _T_637; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274438.4]
  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273429.10]
  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273501.10]
  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273582.10]
  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273639.10]
  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273687.10]
  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273737.10]
  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273785.10]
  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273833.10]
  wire  _GEN_76; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273944.10]
  wire  _GEN_78; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274002.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@274418.4]
    .out(plusarg_reader_out)
  );
  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273415.6]
  assign _T_57 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@273418.8]
  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@273419.8]
  assign _T_59 = $signed(_T_58) & $signed(-32'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@273420.8]
  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@273421.8]
  assign _T_61 = $signed(_T_60) == $signed(32'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@273422.8]
  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273427.8]
  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273461.8]
  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273463.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273464.8]
  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@273469.8]
  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273470.8]
  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273472.8]
  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273473.8]
  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@273478.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273480.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273481.8]
  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273487.6]
  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273541.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273543.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273544.8]
  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273567.6]
  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273569.8]
  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@273576.8]
  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273579.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273580.8]
  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273599.8]
  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273601.8]
  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273602.8]
  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273609.8]
  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273610.8]
  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273624.6]
  assign _T_193 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273673.6]
  assign _T_221 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273723.6]
  assign _T_239 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@273754.8]
  assign _T_241 = _T_239 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273756.8]
  assign _T_242 = _T_241 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273757.8]
  assign _T_247 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273771.6]
  assign _T_265 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@273802.8]
  assign _T_267 = _T_265 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273804.8]
  assign _T_268 = _T_267 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273805.8]
  assign _T_273 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273819.6]
  assign _T_299 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@273869.6]
  assign _T_301 = _T_299 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273871.6]
  assign _T_302 = _T_301 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273872.6]
  assign _T_319 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273889.6]
  assign _T_339 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273931.6]
  assign _T_367 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273989.6]
  assign _T_460 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274179.4]
  assign _T_463 = _T_462 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274181.4]
  assign _T_464 = $unsigned(_T_463); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274182.4]
  assign _T_465 = _T_464[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274183.4]
  assign _T_466 = _T_462 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274184.4]
  assign _T_484 = _T_466 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274200.4]
  assign _T_485 = io_in_a_valid & _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274201.4]
  assign _T_486 = io_in_a_bits_opcode == _T_475; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274203.6]
  assign _T_488 = _T_486 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274205.6]
  assign _T_489 = _T_488 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274206.6]
  assign _T_490 = io_in_a_bits_param == _T_477; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274211.6]
  assign _T_492 = _T_490 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274213.6]
  assign _T_493 = _T_492 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274214.6]
  assign _T_494 = io_in_a_bits_size == _T_479; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274219.6]
  assign _T_496 = _T_494 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274221.6]
  assign _T_497 = _T_496 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274222.6]
  assign _T_498 = io_in_a_bits_source == _T_481; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274227.6]
  assign _T_500 = _T_498 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274229.6]
  assign _T_501 = _T_500 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274230.6]
  assign _T_502 = io_in_a_bits_address == _T_483; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274235.6]
  assign _T_504 = _T_502 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274237.6]
  assign _T_505 = _T_504 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274238.6]
  assign _T_507 = _T_460 & _T_466; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274245.4]
  assign _T_508 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274253.4]
  assign _T_511 = _T_510 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274255.4]
  assign _T_512 = $unsigned(_T_511); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274256.4]
  assign _T_513 = _T_512[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274257.4]
  assign _T_514 = _T_510 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274258.4]
  assign _T_534 = _T_514 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@274275.4]
  assign _T_535 = io_in_d_valid & _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274276.4]
  assign _T_536 = io_in_d_bits_opcode == _T_523; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274278.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274280.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274281.6]
  assign _T_544 = io_in_d_bits_size == _T_527; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274294.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274296.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274297.6]
  assign _T_548 = io_in_d_bits_source == _T_529; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274302.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274304.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274305.6]
  assign _T_561 = _T_508 & _T_514; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274328.4]
  assign _T_567 = _T_566 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274340.4]
  assign _T_568 = $unsigned(_T_567); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274341.4]
  assign _T_569 = _T_568[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274342.4]
  assign _T_570 = _T_566 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274343.4]
  assign _T_581 = _T_580 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274356.4]
  assign _T_582 = $unsigned(_T_581); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274357.4]
  assign _T_583 = _T_582[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274358.4]
  assign _T_584 = _T_580 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274359.4]
  assign _T_595 = _T_460 & _T_570; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274374.4]
  assign _T_597 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274377.6]
  assign _T_598 = _T_563 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@274379.6]
  assign _T_599 = _T_598[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@274380.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274381.6]
  assign _T_602 = _T_600 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274383.6]
  assign _T_603 = _T_602 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274384.6]
  assign _GEN_15 = _T_595 ? _T_597 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@274376.4]
  assign _T_608 = _T_508 & _T_584; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274395.4]
  assign _T_610 = _T_319 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@274397.4]
  assign _T_611 = _T_608 & _T_610; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@274398.4]
  assign _T_612 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274400.6]
  assign _T_613 = _GEN_15 | _T_563; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274402.6]
  assign _T_614 = _T_613 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@274403.6]
  assign _T_615 = _T_614[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@274404.6]
  assign _T_617 = _T_615 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274406.6]
  assign _T_618 = _T_617 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274407.6]
  assign _GEN_16 = _T_611 ? _T_612 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@274399.4]
  assign _T_619 = _T_563 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274413.4]
  assign _T_620 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274414.4]
  assign _T_621 = _T_619 & _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274415.4]
  assign _T_624 = _T_563 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@274420.4]
  assign _T_625 = _T_624 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274421.4]
  assign _T_626 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274422.4]
  assign _T_627 = _T_625 | _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274423.4]
  assign _T_628 = _T_623 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@274424.4]
  assign _T_629 = _T_627 | _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@274425.4]
  assign _T_631 = _T_629 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274427.4]
  assign _T_632 = _T_631 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274428.4]
  assign _T_634 = _T_623 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274434.4]
  assign _T_637 = _T_460 | _T_508; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274438.4]
  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273429.10]
  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273501.10]
  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273582.10]
  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273639.10]
  assign _GEN_54 = io_in_a_valid & _T_193; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273687.10]
  assign _GEN_58 = io_in_a_valid & _T_221; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273737.10]
  assign _GEN_64 = io_in_a_valid & _T_247; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273785.10]
  assign _GEN_70 = io_in_a_valid & _T_273; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273833.10]
  assign _GEN_76 = io_in_d_valid & _T_339; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273944.10]
  assign _GEN_78 = io_in_d_valid & _T_367; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274002.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_462 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_475 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_477 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_479 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_481 = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_483 = _RAND_5[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_510 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_523 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_527 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_529 = _RAND_9[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {8{`RANDOM}};
  _T_563 = _RAND_10[255:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_566 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_580 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_623 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_462 <= 1'h0;
    end else begin
      if (_T_460) begin
        if (_T_466) begin
          _T_462 <= 1'h0;
        end else begin
          _T_462 <= _T_465;
        end
      end
    end
    if (_T_507) begin
      _T_475 <= io_in_a_bits_opcode;
    end
    if (_T_507) begin
      _T_477 <= io_in_a_bits_param;
    end
    if (_T_507) begin
      _T_479 <= io_in_a_bits_size;
    end
    if (_T_507) begin
      _T_481 <= io_in_a_bits_source;
    end
    if (_T_507) begin
      _T_483 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_510 <= 1'h0;
    end else begin
      if (_T_508) begin
        if (_T_514) begin
          _T_510 <= 1'h0;
        end else begin
          _T_510 <= _T_513;
        end
      end
    end
    if (_T_561) begin
      _T_523 <= io_in_d_bits_opcode;
    end
    if (_T_561) begin
      _T_527 <= io_in_d_bits_size;
    end
    if (_T_561) begin
      _T_529 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_563 <= 256'h0;
    end else begin
      _T_563 <= _T_621;
    end
    if (reset) begin
      _T_566 <= 1'h0;
    end else begin
      if (_T_460) begin
        if (_T_570) begin
          _T_566 <= 1'h0;
        end else begin
          _T_566 <= _T_569;
        end
      end
    end
    if (reset) begin
      _T_580 <= 1'h0;
    end else begin
      if (_T_508) begin
        if (_T_584) begin
          _T_580 <= 1'h0;
        end else begin
          _T_580 <= _T_583;
        end
      end
    end
    if (reset) begin
      _T_623 <= 32'h0;
    end else begin
      if (_T_637) begin
        _T_623 <= 32'h0;
      end else begin
        _T_623 <= _T_634;
      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@273377.8]
        end
    `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@273378.8]
        end
    `ifdef STOP_COND
      end
    `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@273412.8]
        end
    `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@273413.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@273429.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@273430.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@273436.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@273437.10]
        end
    `ifdef STOP_COND
      end
    `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@273443.10]
        end
    `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@273444.10]
        end
    `ifdef STOP_COND
      end
    `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@273451.10]
        end
    `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@273452.10]
        end
    `ifdef STOP_COND
      end
    `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@273458.10]
        end
    `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@273459.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@273466.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@273467.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@273475.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@273476.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@273483.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@273484.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@273501.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@273502.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@273508.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@273509.10]
        end
    `ifdef STOP_COND
      end
    `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@273515.10]
        end
    `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@273516.10]
        end
    `ifdef STOP_COND
      end
    `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@273523.10]
        end
    `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@273524.10]
        end
    `ifdef STOP_COND
      end
    `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@273530.10]
        end
    `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@273531.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@273538.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@273539.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@273546.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@273547.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@273555.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@273556.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@273563.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@273564.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@273582.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@273583.10]
        end
    `ifdef STOP_COND
      end
    `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@273589.10]
        end
    `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@273590.10]
        end
    `ifdef STOP_COND
      end
    `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@273596.10]
        end
    `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@273597.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@273604.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@273605.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@273612.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@273613.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@273620.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@273621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_147) 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@273639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_147) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273640.10]
        end
    `ifdef STOP_COND
      end
    `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@273646.10]
        end
    `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@273647.10]
        end
    `ifdef STOP_COND
      end
    `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@273653.10]
        end
    `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@273654.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@273661.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@273662.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@273669.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@273670.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@273687.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@273688.10]
        end
    `ifdef STOP_COND
      end
    `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@273694.10]
        end
    `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@273695.10]
        end
    `ifdef STOP_COND
      end
    `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@273701.10]
        end
    `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@273702.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@273709.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@273710.10]
        end
    `ifdef STOP_COND
      end
    `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@273719.10]
        end
    `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@273720.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@273737.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@273738.10]
        end
    `ifdef STOP_COND
      end
    `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@273744.10]
        end
    `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@273745.10]
        end
    `ifdef STOP_COND
      end
    `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@273751.10]
        end
    `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@273752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_242) 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@273759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_242) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273760.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@273767.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@273768.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@273785.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@273786.10]
        end
    `ifdef STOP_COND
      end
    `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@273792.10]
        end
    `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@273793.10]
        end
    `ifdef STOP_COND
      end
    `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@273799.10]
        end
    `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@273800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_268) 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@273807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_268) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273808.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@273815.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@273816.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@273833.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@273834.10]
        end
    `ifdef STOP_COND
      end
    `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@273840.10]
        end
    `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@273841.10]
        end
    `ifdef STOP_COND
      end
    `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@273847.10]
        end
    `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@273848.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@273855.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@273856.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@273863.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@273864.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_302) 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@273874.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_302) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273875.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@273895.10]
        end
    `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@273896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@273903.10]
        end
    `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@273904.10]
        end
    `ifdef STOP_COND
      end
    `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@273911.10]
        end
    `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@273912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@273919.10]
        end
    `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@273920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@273927.10]
        end
    `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@273928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@273937.10]
        end
    `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@273938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_76 & _T_66) 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@273944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_76 & _T_66) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@273952.10]
        end
    `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@273953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@273960.10]
        end
    `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@273961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@273968.10]
        end
    `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@273969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@273976.10]
        end
    `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@273977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@273985.10]
        end
    `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@273986.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@273995.10]
        end
    `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@273996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_78 & _T_66) 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@274002.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_78 & _T_66) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274003.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274010.10]
        end
    `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@274011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@274018.10]
        end
    `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@274019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@274026.10]
        end
    `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@274027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@274035.10]
        end
    `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@274036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@274044.10]
        end
    `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@274045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274054.10]
        end
    `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@274055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274062.10]
        end
    `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@274063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@274070.10]
        end
    `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@274071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@274079.10]
        end
    `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@274080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274089.10]
        end
    `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@274090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274097.10]
        end
    `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@274098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@274106.10]
        end
    `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@274107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@274115.10]
        end
    `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@274116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274125.10]
        end
    `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@274126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@274133.10]
        end
    `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@274134.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@274141.10]
        end
    `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@274142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@274150.10]
        end
    `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@274151.10]
        end
    `ifdef STOP_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@274160.6]
        end
    `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@274161.6]
        end
    `ifdef STOP_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@274168.6]
        end
    `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@274169.6]
        end
    `ifdef STOP_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@274176.6]
        end
    `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@274177.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_489) 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@274208.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_489) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274209.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_493) 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@274216.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_493) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274217.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_497) 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@274224.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_497) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274225.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_501) 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@274232.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_501) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274233.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_485 & _T_505) 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@274240.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_485 & _T_505) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274241.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_535 & _T_539) 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@274283.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_535 & _T_539) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274284.8]
        end
    `ifdef STOP_COND
      end
    `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@274291.8]
        end
    `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@274292.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_535 & _T_547) 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@274299.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_535 & _T_547) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274300.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_535 & _T_551) 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@274307.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_535 & _T_551) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274308.8]
        end
    `ifdef STOP_COND
      end
    `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@274315.8]
        end
    `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@274316.8]
        end
    `ifdef STOP_COND
      end
    `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@274323.8]
        end
    `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@274324.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_595 & _T_603) 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@274386.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_595 & _T_603) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274387.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & _T_618) 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@274409.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_611 & _T_618) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@274410.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_632) 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@274430.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_632) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274431.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_78( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274450.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274451.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274452.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274453.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@275580.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@274480.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@274481.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@274482.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@274483.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@274483.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274484.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274486.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274487.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@274489.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274490.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274491.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274492.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274493.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274495.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274496.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274498.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274499.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274500.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274501.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274502.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274503.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274504.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274505.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274506.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274507.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274508.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274509.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274510.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274511.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274512.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274513.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274514.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274515.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274516.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274517.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274540.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274543.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274544.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@274545.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@274546.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@274547.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274552.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274573.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274574.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274580.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274581.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274586.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274588.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274589.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274594.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274595.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274597.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274598.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274603.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274605.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274606.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274612.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274666.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274668.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274669.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274692.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@274695.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@274703.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274706.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274707.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274726.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274728.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274729.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274734.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274736.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274737.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274751.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274802.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@274844.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274845.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@274846.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274848.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274849.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274855.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@274886.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274888.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274889.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274903.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@274934.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274936.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274937.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274951.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275001.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275003.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275004.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275021.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275030.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275032.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275033.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275063.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275121.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275311.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275320.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275321.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275322.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275323.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275324.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275335.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275336.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275337.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275338.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275339.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275340.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@275341.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275343.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275345.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275346.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275351.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275353.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275354.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275359.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275361.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275362.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275367.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275369.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275370.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275375.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275377.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275378.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@275385.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275393.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275401.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275402.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275403.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275404.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275405.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275416.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275418.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275419.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275422.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@275423.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275425.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275427.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275428.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275441.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275443.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275444.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275449.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275451.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275452.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@275475.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275484.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275494.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275495.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275496.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275497.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275498.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275517.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275518.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275519.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275520.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275521.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275536.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275539.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@275541.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@275542.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275543.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275545.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275546.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@275538.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275557.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@275559.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@275560.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275562.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@275564.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@275565.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@275566.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275568.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275569.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@275561.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275575.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@275576.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@275577.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275579.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@275582.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275583.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@275584.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275585.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@275586.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@275587.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275589.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275590.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@275596.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275600.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274554.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274626.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274709.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274768.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274819.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274869.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274917.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274965.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275035.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275076.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275134.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@275580.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@274480.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@274481.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@274482.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@274483.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@274483.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274484.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274486.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274487.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@274489.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274490.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274491.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274492.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274493.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274495.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274496.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274498.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274499.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274500.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274501.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274502.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274503.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274504.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274505.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274506.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274507.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274508.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274509.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274510.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274511.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274512.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@274513.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@274514.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274515.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274516.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274517.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274540.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274543.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274544.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@274545.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@274546.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@274547.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274552.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274573.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274574.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274580.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274581.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274586.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274588.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274589.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274594.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274595.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274597.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274598.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274603.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274605.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274606.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274612.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274666.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274668.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274669.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274692.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@274695.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@274703.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274706.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274707.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274726.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274728.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274729.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@274734.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274736.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274737.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274751.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274802.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@274844.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274845.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@274846.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274848.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274849.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274855.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@274886.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274888.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274889.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274903.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@274934.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274936.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274937.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274951.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275001.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275003.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275004.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275021.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275030.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275032.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275033.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275063.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275121.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275311.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275321.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275322.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275323.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275324.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275340.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@275341.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275343.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275345.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275346.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275351.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275353.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275354.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275359.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275361.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275362.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275367.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275369.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275370.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275375.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275377.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275378.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@275385.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275393.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275402.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275403.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275404.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275405.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@275422.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@275423.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275425.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275427.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275428.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275441.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275443.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275444.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@275449.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275451.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275452.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@275475.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275495.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275496.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275497.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275498.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275518.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275519.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@275520.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@275521.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275536.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275539.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@275541.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@275542.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275543.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275545.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275546.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@275538.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275557.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@275559.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@275560.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275562.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@275564.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@275565.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@275566.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275568.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275569.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@275561.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275575.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@275576.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@275577.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@275582.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@275583.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@275584.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275585.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@275586.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@275587.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275589.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@275590.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@275596.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@275600.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274554.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274626.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274709.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274768.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274819.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274869.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274917.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274965.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275035.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275076.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@275134.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@274465.8]
        end
    `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@274466.8]
        end
    `ifdef STOP_COND
      end
    `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@274537.8]
        end
    `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@274538.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@274554.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@274555.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@274561.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@274562.10]
        end
    `ifdef STOP_COND
      end
    `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@274568.10]
        end
    `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@274569.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@274576.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@274577.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@274583.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@274584.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@274591.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@274592.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@274600.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@274601.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@274608.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@274609.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@274626.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@274627.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@274633.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@274634.10]
        end
    `ifdef STOP_COND
      end
    `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@274640.10]
        end
    `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@274641.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@274648.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@274649.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@274655.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@274656.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@274663.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@274664.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@274671.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@274672.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@274680.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@274681.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@274688.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@274689.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@274709.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@274710.10]
        end
    `ifdef STOP_COND
      end
    `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@274716.10]
        end
    `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@274717.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@274723.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@274724.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@274731.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@274732.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@274739.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@274740.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@274747.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@274748.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@274768.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@274769.10]
        end
    `ifdef STOP_COND
      end
    `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@274775.10]
        end
    `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@274776.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@274782.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@274783.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@274790.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@274791.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@274798.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@274799.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@274819.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@274820.10]
        end
    `ifdef STOP_COND
      end
    `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@274826.10]
        end
    `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@274827.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@274833.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@274834.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@274841.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@274842.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@274851.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@274852.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@274869.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@274870.10]
        end
    `ifdef STOP_COND
      end
    `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@274876.10]
        end
    `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@274877.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@274883.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@274884.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@274891.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@274892.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@274899.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@274900.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@274917.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@274918.10]
        end
    `ifdef STOP_COND
      end
    `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@274924.10]
        end
    `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@274925.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@274931.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@274932.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@274939.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@274940.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@274947.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@274948.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@274965.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@274966.10]
        end
    `ifdef STOP_COND
      end
    `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@274972.10]
        end
    `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@274973.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@274979.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@274980.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@274987.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@274988.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@274995.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@274996.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@275006.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@275007.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275027.10]
        end
    `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@275028.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@275035.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@275036.10]
        end
    `ifdef STOP_COND
      end
    `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@275043.10]
        end
    `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@275044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275051.10]
        end
    `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@275052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275059.10]
        end
    `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@275060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275069.10]
        end
    `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@275070.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@275076.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@275077.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@275084.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@275085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275092.10]
        end
    `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@275093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275100.10]
        end
    `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@275101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275108.10]
        end
    `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@275109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275117.10]
        end
    `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@275118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275127.10]
        end
    `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@275128.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@275134.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@275135.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@275142.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@275143.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275150.10]
        end
    `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@275151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275158.10]
        end
    `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@275159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@275167.10]
        end
    `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@275168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@275176.10]
        end
    `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@275177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275186.10]
        end
    `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@275187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275194.10]
        end
    `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@275195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275202.10]
        end
    `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@275203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275211.10]
        end
    `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@275212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275221.10]
        end
    `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@275222.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275229.10]
        end
    `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@275230.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@275238.10]
        end
    `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@275239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@275247.10]
        end
    `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@275248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275257.10]
        end
    `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@275258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@275265.10]
        end
    `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@275266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275273.10]
        end
    `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@275274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@275282.10]
        end
    `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@275283.10]
        end
    `ifdef STOP_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@275292.6]
        end
    `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@275293.6]
        end
    `ifdef STOP_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@275300.6]
        end
    `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@275301.6]
        end
    `ifdef STOP_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@275308.6]
        end
    `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@275309.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@275348.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@275349.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@275356.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@275357.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@275364.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@275365.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@275372.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@275373.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@275380.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@275381.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@275430.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@275431.8]
        end
    `ifdef STOP_COND
      end
    `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@275438.8]
        end
    `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@275439.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@275446.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@275447.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@275454.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@275455.8]
        end
    `ifdef STOP_COND
      end
    `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@275462.8]
        end
    `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@275463.8]
        end
    `ifdef STOP_COND
      end
    `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@275470.8]
        end
    `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@275471.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@275548.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@275549.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@275571.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@275572.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@275592.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@275593.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SPIRAMMap( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276190.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276191.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276192.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [1:0]  io_ctrl_insn_cmd_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [7:0]  io_ctrl_insn_cmd_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_ctrl_insn_cmd_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [7:0]  io_ctrl_insn_wcmd_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [1:0]  io_ctrl_insn_addr_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [2:0]  io_ctrl_insn_addr_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [7:0]  io_ctrl_insn_pad_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [3:0]  io_ctrl_insn_pad_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [1:0]  io_ctrl_insn_data_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [3:0]  io_ctrl_insn_pgsz, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [11:0] io_ctrl_insn_max_cen_cyc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_addr_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_addr_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [31:0] io_addr_bits_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [31:0] io_addr_bits_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [2:0]  io_opcode_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [2:0]  io_opcode_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [7:0]  io_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_data_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_data_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output [7:0]  io_data_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input  [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  input         io_link_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
  output        io_link_lock // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276193.4]
);
  wire [31:0] addr; // @[SPIRAM.scala 71:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276199.4]
  wire  _T_33; // @[SPIRAM.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276203.4]
  wire  _T_34; // @[SPIRAM.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276208.6]
  wire  _T_35; // @[SPIRAM.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276210.8]
  wire  _T_37; // @[SPIRAM.scala 79:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276212.8]
  wire  _T_38; // @[SPIRAM.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276216.8]
  wire [1:0] _T_39; // @[SPIRAM.scala 81:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276218.10]
  wire  _T_40; // @[SPIRAM.scala 81:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276219.10]
  wire  _T_41; // @[SPIRAM.scala 81:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276220.10]
  wire  _T_42; // @[SPIRAM.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276224.10]
  wire [2:0] _T_43; // @[SPIRAM.scala 83:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276226.12]
  wire  _T_44; // @[SPIRAM.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276227.12]
  wire  _T_45; // @[SPIRAM.scala 83:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276228.12]
  wire  _T_46; // @[SPIRAM.scala 84:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276232.12]
  wire [3:0] _T_47; // @[SPIRAM.scala 85:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276234.14]
  wire  _T_48; // @[SPIRAM.scala 85:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276235.14]
  wire  _T_49; // @[SPIRAM.scala 85:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276236.14]
  wire  _T_50; // @[SPIRAM.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276240.14]
  wire [4:0] _T_51; // @[SPIRAM.scala 87:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276242.16]
  wire  _T_52; // @[SPIRAM.scala 87:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276243.16]
  wire  _T_53; // @[SPIRAM.scala 87:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276244.16]
  wire  _T_54; // @[SPIRAM.scala 88:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276248.16]
  wire [5:0] _T_55; // @[SPIRAM.scala 89:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276250.18]
  wire  _T_56; // @[SPIRAM.scala 89:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276251.18]
  wire  _T_57; // @[SPIRAM.scala 89:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276252.18]
  wire  _T_58; // @[SPIRAM.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276256.18]
  wire [6:0] _T_59; // @[SPIRAM.scala 91:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276258.20]
  wire  _T_60; // @[SPIRAM.scala 91:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276259.20]
  wire  _T_61; // @[SPIRAM.scala 91:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276260.20]
  wire  _T_62; // @[SPIRAM.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276264.20]
  wire [7:0] _T_63; // @[SPIRAM.scala 93:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276266.22]
  wire  _T_64; // @[SPIRAM.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276267.22]
  wire  _T_65; // @[SPIRAM.scala 93:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276268.22]
  wire  _T_66; // @[SPIRAM.scala 94:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276272.22]
  wire [8:0] _T_67; // @[SPIRAM.scala 95:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276274.24]
  wire  _T_68; // @[SPIRAM.scala 95:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276275.24]
  wire  _T_69; // @[SPIRAM.scala 95:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276276.24]
  wire  _T_70; // @[SPIRAM.scala 96:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276280.24]
  wire [9:0] _T_71; // @[SPIRAM.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276282.26]
  wire  _T_72; // @[SPIRAM.scala 97:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276283.26]
  wire  _T_73; // @[SPIRAM.scala 97:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276284.26]
  wire  _T_74; // @[SPIRAM.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276288.26]
  wire [10:0] _T_75; // @[SPIRAM.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276290.28]
  wire  _T_76; // @[SPIRAM.scala 99:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276291.28]
  wire  _T_77; // @[SPIRAM.scala 99:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276292.28]
  wire  _T_78; // @[SPIRAM.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276296.28]
  wire [11:0] _T_79; // @[SPIRAM.scala 101:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276298.30]
  wire  _T_80; // @[SPIRAM.scala 101:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276299.30]
  wire  _T_81; // @[SPIRAM.scala 101:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276300.30]
  wire  _GEN_0; // @[SPIRAM.scala 100:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276297.28]
  wire  _GEN_1; // @[SPIRAM.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276289.26]
  wire  _GEN_2; // @[SPIRAM.scala 96:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276281.24]
  wire  _GEN_3; // @[SPIRAM.scala 94:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276273.22]
  wire  _GEN_4; // @[SPIRAM.scala 92:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276265.20]
  wire  _GEN_5; // @[SPIRAM.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276257.18]
  wire  _GEN_6; // @[SPIRAM.scala 88:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276249.16]
  wire  _GEN_7; // @[SPIRAM.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276241.14]
  wire  _GEN_8; // @[SPIRAM.scala 84:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276233.12]
  wire  _GEN_9; // @[SPIRAM.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276225.10]
  wire  _GEN_10; // @[SPIRAM.scala 80:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276217.8]
  wire  _GEN_11; // @[SPIRAM.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276209.6]
  wire  newpage; // @[SPIRAM.scala 76:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276204.4]
  wire  _T_82; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276310.4]
  wire  _T_83; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276311.4]
  wire  _T_84; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276312.4]
  wire [3:0] _T_86; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276313.4]
  wire [2:0] _T_87; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276314.4]
  wire [1:0] _T_88; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276315.4]
  wire [3:0] _GEN_118; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276316.4]
  wire [3:0] _T_89; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276316.4]
  wire [3:0] _GEN_119; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276317.4]
  wire [3:0] _T_90; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276317.4]
  reg [3:0] cnt; // @[SPIRAM.scala 124:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276328.4]
  reg [31:0] _RAND_0;
  wire  cnt_cmp_0; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276332.4]
  wire  cnt_cmp_1; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276333.4]
  wire  cnt_cmp_2; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276334.4]
  wire  cnt_cmp_3; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276335.4]
  wire  cnt_cmp_4; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276336.4]
  wire  cnt_last; // @[SPIRAM.scala 128:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276337.4]
  wire  cnt_done; // @[SPIRAM.scala 129:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276338.4]
  wire  _T_95; // @[SPIRAM.scala 131:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276340.6]
  wire  _T_96; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276342.6]
  wire [4:0] _T_97; // @[SPIRAM.scala 133:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276344.8]
  wire [4:0] _T_98; // @[SPIRAM.scala 133:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276345.8]
  wire [3:0] _T_99; // @[SPIRAM.scala 133:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276346.8]
  reg [2:0] state; // @[SPIRAM.scala 150:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276368.4]
  reg [31:0] _RAND_1;
  wire  _T_113; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276369.4]
  wire  _T_116; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276403.6]
  wire  _T_118; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276419.8]
  wire  _GEN_96; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire  cnt_en; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276370.4]
  wire  _GEN_14; // @[SPIRAM.scala 130:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276339.4]
  reg [15:0] cen_cnt; // @[SPIRAM.scala 138:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276350.4]
  reg [31:0] _RAND_2;
  wire [15:0] _T_102; // @[SPIRAM.scala 140:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276353.6]
  reg  no_merge; // @[SPIRAM.scala 146:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  reg [31:0] _RAND_3;
  wire  _T_104; // @[SPIRAM.scala 147:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276360.4]
  wire  _T_105; // @[SPIRAM.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276361.4]
  wire  _T_106; // @[SPIRAM.scala 147:46:shc.marmotcaravel.MarmotCaravelConfig.fir@276362.4]
  wire  _T_107; // @[SPIRAM.scala 147:43:shc.marmotcaravel.MarmotCaravelConfig.fir@276363.4]
  wire  _T_108; // @[SPIRAM.scala 147:77:shc.marmotcaravel.MarmotCaravelConfig.fir@276364.4]
  wire  _T_109; // @[SPIRAM.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@276365.4]
  wire  _T_110; // @[SPIRAM.scala 147:106:shc.marmotcaravel.MarmotCaravelConfig.fir@276366.4]
  wire  merge; // @[SPIRAM.scala 147:87:shc.marmotcaravel.MarmotCaravelConfig.fir@276367.4]
  wire  _GEN_18; // @[SPIRAM.scala 158:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276375.10]
  wire [15:0] _GEN_120; // @[SPIRAM.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276387.10]
  wire  _T_115; // @[SPIRAM.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276387.10]
  wire  _GEN_22; // @[SPIRAM.scala 157:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276374.8]
  wire  _GEN_28; // @[SPIRAM.scala 155:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276372.6]
  wire  _GEN_30; // @[SPIRAM.scala 155:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276372.6]
  wire  _T_117; // @[SPIRAM.scala 184:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276406.8]
  wire [7:0] _GEN_31; // @[SPIRAM.scala 184:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276407.8]
  wire [7:0] _T_119; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276421.10]
  wire [7:0] _T_120; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.10]
  wire [7:0] _T_121; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276423.10]
  wire [7:0] _T_122; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276424.10]
  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276425.10]
  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276426.10]
  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276427.10]
  wire [7:0] _T_127; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276428.10]
  wire [7:0] _T_128; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276429.10]
  wire [7:0] _T_129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276430.10]
  wire [7:0] _T_130; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.10]
  wire  _T_133; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276441.10]
  wire [3:0] _GEN_35; // @[SPIRAM.scala 210:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276444.12]
  wire  _T_135; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276456.12]
  wire  _GEN_38; // @[SPIRAM.scala 224:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276460.14]
  wire  _T_137; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276473.14]
  wire  _GEN_42; // @[SPIRAM.scala 238:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276476.16]
  wire  _T_139; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276485.16]
  wire  _GEN_47; // @[SPIRAM.scala 247:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276486.16]
  wire  _T_141; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276497.16]
  wire [7:0] _GEN_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276498.16]
  wire  _GEN_56; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  wire  _GEN_57; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  wire [7:0] _GEN_58; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  wire  _GEN_60; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  wire [1:0] _GEN_62; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  wire  _GEN_63; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  wire  _GEN_64; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  wire  _GEN_67; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  wire [7:0] _GEN_68; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  wire  _GEN_69; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  wire [3:0] _GEN_71; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire [7:0] _GEN_72; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire [1:0] _GEN_74; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire  _GEN_75; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire  _GEN_76; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire  _GEN_77; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire [7:0] _GEN_78; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire  _GEN_79; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  wire [7:0] _GEN_81; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire [3:0] _GEN_84; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire [1:0] _GEN_85; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire  _GEN_86; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire  _GEN_87; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire  _GEN_88; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire [7:0] _GEN_89; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire  _GEN_90; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  wire [1:0] _GEN_92; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire [3:0] _GEN_97; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire  _GEN_98; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire  _GEN_99; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire  _GEN_100; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire [7:0] _GEN_101; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire  _GEN_102; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  wire [3:0] _GEN_114; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276370.4]
  assign addr = io_addr_bits_hold + 32'h1; // @[SPIRAM.scala 71:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276199.4]
  assign _T_33 = io_ctrl_insn_pgsz == 4'h0; // @[SPIRAM.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276203.4]
  assign _T_34 = io_ctrl_insn_pgsz == 4'h1; // @[SPIRAM.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276208.6]
  assign _T_35 = addr[0]; // @[SPIRAM.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276210.8]
  assign _T_37 = _T_35 == 1'h0; // @[SPIRAM.scala 79:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276212.8]
  assign _T_38 = io_ctrl_insn_pgsz == 4'h2; // @[SPIRAM.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276216.8]
  assign _T_39 = addr[1:0]; // @[SPIRAM.scala 81:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276218.10]
  assign _T_40 = _T_39 != 2'h0; // @[SPIRAM.scala 81:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276219.10]
  assign _T_41 = _T_40 == 1'h0; // @[SPIRAM.scala 81:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276220.10]
  assign _T_42 = io_ctrl_insn_pgsz == 4'h3; // @[SPIRAM.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276224.10]
  assign _T_43 = addr[2:0]; // @[SPIRAM.scala 83:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276226.12]
  assign _T_44 = _T_43 != 3'h0; // @[SPIRAM.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276227.12]
  assign _T_45 = _T_44 == 1'h0; // @[SPIRAM.scala 83:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276228.12]
  assign _T_46 = io_ctrl_insn_pgsz == 4'h4; // @[SPIRAM.scala 84:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276232.12]
  assign _T_47 = addr[3:0]; // @[SPIRAM.scala 85:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276234.14]
  assign _T_48 = _T_47 != 4'h0; // @[SPIRAM.scala 85:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276235.14]
  assign _T_49 = _T_48 == 1'h0; // @[SPIRAM.scala 85:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276236.14]
  assign _T_50 = io_ctrl_insn_pgsz == 4'h5; // @[SPIRAM.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276240.14]
  assign _T_51 = addr[4:0]; // @[SPIRAM.scala 87:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276242.16]
  assign _T_52 = _T_51 != 5'h0; // @[SPIRAM.scala 87:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276243.16]
  assign _T_53 = _T_52 == 1'h0; // @[SPIRAM.scala 87:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276244.16]
  assign _T_54 = io_ctrl_insn_pgsz == 4'h6; // @[SPIRAM.scala 88:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276248.16]
  assign _T_55 = addr[5:0]; // @[SPIRAM.scala 89:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276250.18]
  assign _T_56 = _T_55 != 6'h0; // @[SPIRAM.scala 89:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276251.18]
  assign _T_57 = _T_56 == 1'h0; // @[SPIRAM.scala 89:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276252.18]
  assign _T_58 = io_ctrl_insn_pgsz == 4'h7; // @[SPIRAM.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276256.18]
  assign _T_59 = addr[6:0]; // @[SPIRAM.scala 91:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276258.20]
  assign _T_60 = _T_59 != 7'h0; // @[SPIRAM.scala 91:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276259.20]
  assign _T_61 = _T_60 == 1'h0; // @[SPIRAM.scala 91:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276260.20]
  assign _T_62 = io_ctrl_insn_pgsz == 4'h8; // @[SPIRAM.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276264.20]
  assign _T_63 = addr[7:0]; // @[SPIRAM.scala 93:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276266.22]
  assign _T_64 = _T_63 != 8'h0; // @[SPIRAM.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276267.22]
  assign _T_65 = _T_64 == 1'h0; // @[SPIRAM.scala 93:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276268.22]
  assign _T_66 = io_ctrl_insn_pgsz == 4'h9; // @[SPIRAM.scala 94:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276272.22]
  assign _T_67 = addr[8:0]; // @[SPIRAM.scala 95:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276274.24]
  assign _T_68 = _T_67 != 9'h0; // @[SPIRAM.scala 95:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276275.24]
  assign _T_69 = _T_68 == 1'h0; // @[SPIRAM.scala 95:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276276.24]
  assign _T_70 = io_ctrl_insn_pgsz == 4'ha; // @[SPIRAM.scala 96:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276280.24]
  assign _T_71 = addr[9:0]; // @[SPIRAM.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276282.26]
  assign _T_72 = _T_71 != 10'h0; // @[SPIRAM.scala 97:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276283.26]
  assign _T_73 = _T_72 == 1'h0; // @[SPIRAM.scala 97:32:shc.marmotcaravel.MarmotCaravelConfig.fir@276284.26]
  assign _T_74 = io_ctrl_insn_pgsz == 4'hb; // @[SPIRAM.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276288.26]
  assign _T_75 = addr[10:0]; // @[SPIRAM.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276290.28]
  assign _T_76 = _T_75 != 11'h0; // @[SPIRAM.scala 99:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276291.28]
  assign _T_77 = _T_76 == 1'h0; // @[SPIRAM.scala 99:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276292.28]
  assign _T_78 = io_ctrl_insn_pgsz == 4'hc; // @[SPIRAM.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276296.28]
  assign _T_79 = addr[11:0]; // @[SPIRAM.scala 101:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276298.30]
  assign _T_80 = _T_79 != 12'h0; // @[SPIRAM.scala 101:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276299.30]
  assign _T_81 = _T_80 == 1'h0; // @[SPIRAM.scala 101:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276300.30]
  assign _GEN_0 = _T_78 ? _T_81 : 1'h1; // @[SPIRAM.scala 100:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276297.28]
  assign _GEN_1 = _T_74 ? _T_77 : _GEN_0; // @[SPIRAM.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276289.26]
  assign _GEN_2 = _T_70 ? _T_73 : _GEN_1; // @[SPIRAM.scala 96:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276281.24]
  assign _GEN_3 = _T_66 ? _T_69 : _GEN_2; // @[SPIRAM.scala 94:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276273.22]
  assign _GEN_4 = _T_62 ? _T_65 : _GEN_3; // @[SPIRAM.scala 92:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276265.20]
  assign _GEN_5 = _T_58 ? _T_61 : _GEN_4; // @[SPIRAM.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276257.18]
  assign _GEN_6 = _T_54 ? _T_57 : _GEN_5; // @[SPIRAM.scala 88:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276249.16]
  assign _GEN_7 = _T_50 ? _T_53 : _GEN_6; // @[SPIRAM.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276241.14]
  assign _GEN_8 = _T_46 ? _T_49 : _GEN_7; // @[SPIRAM.scala 84:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276233.12]
  assign _GEN_9 = _T_42 ? _T_45 : _GEN_8; // @[SPIRAM.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276225.10]
  assign _GEN_10 = _T_38 ? _T_41 : _GEN_9; // @[SPIRAM.scala 80:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276217.8]
  assign _GEN_11 = _T_34 ? _T_37 : _GEN_10; // @[SPIRAM.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276209.6]
  assign newpage = _T_33 ? 1'h1 : _GEN_11; // @[SPIRAM.scala 76:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276204.4]
  assign _T_82 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276310.4]
  assign _T_83 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276311.4]
  assign _T_84 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276312.4]
  assign _T_86 = _T_82 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276313.4]
  assign _T_87 = _T_83 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276314.4]
  assign _T_88 = _T_84 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276315.4]
  assign _GEN_118 = {{1'd0}, _T_87}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276316.4]
  assign _T_89 = _T_86 | _GEN_118; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276316.4]
  assign _GEN_119 = {{2'd0}, _T_88}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276317.4]
  assign _T_90 = _T_89 | _GEN_119; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276317.4]
  assign cnt_cmp_0 = cnt == 4'h0; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276332.4]
  assign cnt_cmp_1 = cnt == 4'h1; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276333.4]
  assign cnt_cmp_2 = cnt == 4'h2; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276334.4]
  assign cnt_cmp_3 = cnt == 4'h3; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276335.4]
  assign cnt_cmp_4 = cnt == 4'h4; // @[SPIRAM.scala 126:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276336.4]
  assign cnt_last = cnt_cmp_1 & io_link_tx_ready; // @[SPIRAM.scala 128:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276337.4]
  assign cnt_done = cnt_last | cnt_cmp_0; // @[SPIRAM.scala 129:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276338.4]
  assign _T_95 = cnt_cmp_0 == 1'h0; // @[SPIRAM.scala 131:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276340.6]
  assign _T_96 = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276342.6]
  assign _T_97 = cnt - 4'h1; // @[SPIRAM.scala 133:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276344.8]
  assign _T_98 = $unsigned(_T_97); // @[SPIRAM.scala 133:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276345.8]
  assign _T_99 = _T_98[3:0]; // @[SPIRAM.scala 133:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276346.8]
  assign _T_113 = 3'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276369.4]
  assign _T_116 = 3'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276403.6]
  assign _T_118 = 3'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276419.8]
  assign _GEN_96 = _T_116 ? 1'h0 : _T_118; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign cnt_en = _T_113 ? 1'h0 : _GEN_96; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276370.4]
  assign _GEN_14 = cnt_en ? _T_95 : 1'h1; // @[SPIRAM.scala 130:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276339.4]
  assign _T_102 = cen_cnt + 16'h1; // @[SPIRAM.scala 140:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276353.6]
  assign _T_104 = ~ no_merge; // @[SPIRAM.scala 147:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276360.4]
  assign _T_105 = _T_104 & io_link_active; // @[SPIRAM.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276361.4]
  assign _T_106 = ~ newpage; // @[SPIRAM.scala 147:46:shc.marmotcaravel.MarmotCaravelConfig.fir@276362.4]
  assign _T_107 = _T_105 & _T_106; // @[SPIRAM.scala 147:43:shc.marmotcaravel.MarmotCaravelConfig.fir@276363.4]
  assign _T_108 = io_addr_bits_next == addr; // @[SPIRAM.scala 147:77:shc.marmotcaravel.MarmotCaravelConfig.fir@276364.4]
  assign _T_109 = _T_107 & _T_108; // @[SPIRAM.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@276365.4]
  assign _T_110 = io_opcode_next == io_opcode_hold; // @[SPIRAM.scala 147:106:shc.marmotcaravel.MarmotCaravelConfig.fir@276366.4]
  assign merge = _T_109 & _T_110; // @[SPIRAM.scala 147:87:shc.marmotcaravel.MarmotCaravelConfig.fir@276367.4]
  assign _GEN_18 = merge ? 1'h0 : 1'h1; // @[SPIRAM.scala 158:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276375.10]
  assign _GEN_120 = {{4'd0}, io_ctrl_insn_max_cen_cyc}; // @[SPIRAM.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276387.10]
  assign _T_115 = cen_cnt >= _GEN_120; // @[SPIRAM.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276387.10]
  assign _GEN_22 = io_addr_valid ? _GEN_18 : _T_115; // @[SPIRAM.scala 157:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276374.8]
  assign _GEN_28 = io_en ? _GEN_22 : 1'h0; // @[SPIRAM.scala 155:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276372.6]
  assign _GEN_30 = io_en ? io_addr_valid : 1'h0; // @[SPIRAM.scala 155:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276372.6]
  assign _T_117 = io_opcode_hold == 3'h0; // @[SPIRAM.scala 184:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276406.8]
  assign _GEN_31 = _T_117 ? io_ctrl_insn_wcmd_code : io_ctrl_insn_cmd_code; // @[SPIRAM.scala 184:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276407.8]
  assign _T_119 = io_addr_bits_hold[7:0]; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276421.10]
  assign _T_120 = io_addr_bits_hold[15:8]; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.10]
  assign _T_121 = io_addr_bits_hold[23:16]; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276423.10]
  assign _T_122 = io_addr_bits_hold[31:24]; // @[SPIRAM.scala 200:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276424.10]
  assign _T_124 = cnt_cmp_1 ? _T_119 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276425.10]
  assign _T_125 = cnt_cmp_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276426.10]
  assign _T_126 = cnt_cmp_3 ? _T_121 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276427.10]
  assign _T_127 = cnt_cmp_4 ? _T_122 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276428.10]
  assign _T_128 = _T_124 | _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276429.10]
  assign _T_129 = _T_128 | _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276430.10]
  assign _T_130 = _T_129 | _T_127; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.10]
  assign _T_133 = 3'h3 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276441.10]
  assign _GEN_35 = _T_117 ? 4'h0 : io_ctrl_insn_pad_cnt; // @[SPIRAM.scala 210:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276444.12]
  assign _T_135 = 3'h4 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276456.12]
  assign _GEN_38 = _T_117 ? 1'h1 : _GEN_14; // @[SPIRAM.scala 224:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276460.14]
  assign _T_137 = 3'h5 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276473.14]
  assign _GEN_42 = _T_117 ? 1'h1 : io_link_rx_valid; // @[SPIRAM.scala 238:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276476.16]
  assign _T_139 = io_data_ready & io_data_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276485.16]
  assign _GEN_47 = _T_139 ? 1'h0 : _T_115; // @[SPIRAM.scala 247:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276486.16]
  assign _T_141 = 3'h6 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276497.16]
  assign _GEN_54 = _T_141 ? 8'h0 : io_link_rx_bits; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276498.16]
  assign _GEN_56 = _T_137 ? 1'h0 : _GEN_14; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  assign _GEN_57 = _T_137 ? _GEN_42 : _T_141; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  assign _GEN_58 = _T_137 ? io_link_rx_bits : _GEN_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  assign _GEN_60 = _T_137 ? _GEN_47 : 1'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276474.14]
  assign _GEN_62 = _T_135 ? io_ctrl_insn_data_proto : io_ctrl_insn_addr_proto; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  assign _GEN_63 = _T_135 ? _T_117 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  assign _GEN_64 = _T_135 ? _GEN_38 : _GEN_56; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  assign _GEN_67 = _T_135 ? 1'h0 : _GEN_57; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  assign _GEN_68 = _T_135 ? io_link_rx_bits : _GEN_58; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  assign _GEN_69 = _T_135 ? 1'h0 : _GEN_60; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.12]
  assign _GEN_71 = _T_133 ? _GEN_35 : _T_90; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_72 = _T_133 ? io_ctrl_insn_pad_code : io_wdata; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_74 = _T_133 ? io_ctrl_insn_addr_proto : _GEN_62; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_75 = _T_133 ? 1'h1 : _GEN_63; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_76 = _T_133 ? _GEN_14 : _GEN_64; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_77 = _T_133 ? 1'h0 : _GEN_67; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_78 = _T_133 ? io_link_rx_bits : _GEN_68; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_79 = _T_133 ? 1'h0 : _GEN_69; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.10]
  assign _GEN_81 = _T_118 ? _T_130 : _GEN_72; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_84 = _T_118 ? _T_90 : _GEN_71; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_85 = _T_118 ? io_ctrl_insn_addr_proto : _GEN_74; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_86 = _T_118 ? 1'h1 : _GEN_75; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_87 = _T_118 ? _GEN_14 : _GEN_76; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_88 = _T_118 ? 1'h0 : _GEN_77; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_89 = _T_118 ? io_link_rx_bits : _GEN_78; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_90 = _T_118 ? 1'h0 : _GEN_79; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.8]
  assign _GEN_92 = _T_116 ? io_ctrl_insn_cmd_proto : _GEN_85; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_97 = _T_116 ? _T_90 : _GEN_84; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_98 = _T_116 ? 1'h1 : _GEN_86; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_99 = _T_116 ? _GEN_14 : _GEN_87; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_100 = _T_116 ? 1'h0 : _GEN_88; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_101 = _T_116 ? io_link_rx_bits : _GEN_89; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_102 = _T_116 ? 1'h0 : _GEN_90; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.6]
  assign _GEN_114 = _T_113 ? _T_90 : _GEN_97; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276370.4]
  assign io_addr_ready = 3'h0 == state; // @[SPIRAM.scala 120:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 SPIRAM.scala 156:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276373.8 SPIRAM.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276395.8]
  assign io_data_valid = _T_113 ? 1'h0 : _GEN_100; // @[SPIRAM.scala 121:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276326.4 SPIRAM.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276478.18 SPIRAM.scala 243:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276482.18 SPIRAM.scala 257:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276501.20 SPIRAM.scala 261:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276506.20]
  assign io_data_bits = _T_113 ? io_link_rx_bits : _GEN_101; // @[SPIRAM.scala 122:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276327.4 SPIRAM.scala 244:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276483.18 SPIRAM.scala 258:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276502.20 SPIRAM.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276507.20]
  assign io_link_tx_valid = _T_113 ? 1'h0 : _GEN_99; // @[SPIRAM.scala 107:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276306.4 SPIRAM.scala 131:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276341.6 SPIRAM.scala 154:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276371.6 SPIRAM.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276462.16 SPIRAM.scala 239:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276477.18 SPIRAM.scala 242:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276481.18]
  assign io_link_tx_bits = _T_116 ? _GEN_31 : _GEN_81; // @[SPIRAM.scala 185:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276408.10 SPIRAM.scala 187:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276411.10 SPIRAM.scala 196:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276434.10 SPIRAM.scala 216:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276450.12 SPIRAM.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276463.16]
  assign io_link_cnt = {{4'd0}, _GEN_114}; // @[SPIRAM.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276320.4 SPIRAM.scala 211:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276445.14 SPIRAM.scala 213:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276448.14]
  assign io_link_fmt_proto = _T_113 ? io_ctrl_insn_addr_proto : _GEN_92; // @[SPIRAM.scala 108:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276307.4 SPIRAM.scala 183:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276405.8 SPIRAM.scala 223:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276458.14]
  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIRAM.scala 110:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276309.4]
  assign io_link_fmt_iodir = _T_113 ? 1'h1 : _GEN_98; // @[SPIRAM.scala 109:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276308.4 SPIRAM.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276461.16 SPIRAM.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276466.16]
  assign io_link_cs_clear = _T_113 ? _GEN_28 : _GEN_102; // @[SPIRAM.scala 116:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276322.4 SPIRAM.scala 162:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276381.12 SPIRAM.scala 169:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276389.12 SPIRAM.scala 250:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276492.20]
  assign io_link_lock = _T_113 ? _GEN_30 : 1'h1; // @[SPIRAM.scala 118:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276324.4 SPIRAM.scala 166:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276386.10 SPIRAM.scala 175:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276396.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
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  cen_cnt = _RAND_2[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  no_merge = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_113) begin
      if (cnt_en) begin
        if (_T_96) begin
          cnt <= _T_99;
        end
      end
    end else begin
      if (_T_116) begin
        if (io_link_tx_ready) begin
          cnt <= {{1'd0}, io_ctrl_insn_addr_len};
        end else begin
          if (cnt_en) begin
            if (_T_96) begin
              cnt <= _T_99;
            end
          end
        end
      end else begin
        if (cnt_en) begin
          if (_T_96) begin
            cnt <= _T_99;
          end
        end
      end
    end
    if (reset) begin
      state <= 3'h0;
    end else begin
      if (_T_113) 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_116) begin
          if (io_link_tx_ready) begin
            state <= 3'h2;
          end
        end else begin
          if (_T_118) begin
            if (cnt_done) begin
              state <= 3'h3;
            end
          end else begin
            if (_T_133) begin
              if (io_link_tx_ready) begin
                state <= 3'h4;
              end
            end else begin
              if (_T_135) begin
                if (io_link_tx_ready) begin
                  state <= 3'h5;
                end
              end else begin
                if (_T_137) begin
                  if (_T_139) begin
                    state <= 3'h0;
                  end
                end else begin
                  if (_T_141) begin
                    if (_T_117) begin
                      state <= 3'h0;
                    end else begin
                      if (io_data_ready) begin
                        state <= 3'h0;
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      cen_cnt <= 16'h0;
    end else begin
      if (io_link_active) begin
        cen_cnt <= _T_102;
      end else begin
        cen_cnt <= 16'h0;
      end
    end
    if (reset) begin
      no_merge <= 1'h0;
    end else begin
      if (_T_113) begin
        if (io_en) begin
          if (io_addr_valid) begin
            no_merge <= 1'h0;
          end else begin
            if (_T_115) begin
              no_merge <= 1'h1;
            end
          end
        end
      end else begin
        if (!(_T_116)) begin
          if (!(_T_118)) begin
            if (!(_T_133)) begin
              if (!(_T_135)) begin
                if (_T_137) begin
                  if (!(_T_139)) begin
                    if (_T_115) begin
                      no_merge <= 1'h1;
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
  end
endmodule
module TLSPIRAM( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276600.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276601.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276602.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_mem_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_mem_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [2:0]  auto_mem_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [2:0]  auto_mem_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_mem_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [7:0]  auto_mem_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [30:0] auto_mem_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_mem_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [7:0]  auto_mem_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_mem_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_mem_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_mem_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [2:0]  auto_mem_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_mem_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [7:0]  auto_mem_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [7:0]  auto_mem_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
  output        auto_io_out_cs_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [30:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [30:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire [7:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276620.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276620.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276620.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276620.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire [30:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [28:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.4]
  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276755.4]
  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_cs_hold; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  mac_io_link_active; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276759.4]
  wire  ram_clock; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_reset; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_en; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [1:0] ram_io_ctrl_insn_cmd_proto; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_ctrl_insn_cmd_code; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_ctrl_insn_cmd_en; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_ctrl_insn_wcmd_code; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [1:0] ram_io_ctrl_insn_addr_proto; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [2:0] ram_io_ctrl_insn_addr_len; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_ctrl_insn_pad_code; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [3:0] ram_io_ctrl_insn_pad_cnt; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [1:0] ram_io_ctrl_insn_data_proto; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [3:0] ram_io_ctrl_insn_pgsz; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [11:0] ram_io_ctrl_insn_max_cen_cyc; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_ctrl_fmt_endian; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_addr_ready; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_addr_valid; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [31:0] ram_io_addr_bits_next; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [31:0] ram_io_addr_bits_hold; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [2:0] ram_io_opcode_next; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [2:0] ram_io_opcode_hold; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_wdata; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_data_ready; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_data_valid; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_data_bits; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_tx_ready; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_tx_valid; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_link_tx_bits; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_rx_valid; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_link_rx_bits; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [7:0] ram_io_link_cnt; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire [1:0] ram_io_link_fmt_proto; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_fmt_endian; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_fmt_iodir; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_cs_clear; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_active; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  ram_io_link_lock; // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
  wire  arb_clock; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_reset; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_tx_ready; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_tx_valid; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_inner_0_tx_bits; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_rx_valid; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_inner_0_rx_bits; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_inner_0_cnt; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [1:0] arb_io_inner_0_fmt_proto; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_fmt_endian; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_fmt_iodir; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_cs_clear; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_active; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_0_lock; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_tx_ready; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_tx_valid; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_inner_1_tx_bits; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_rx_valid; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_inner_1_rx_bits; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_inner_1_cnt; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [1:0] arb_io_inner_1_fmt_proto; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_fmt_endian; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_fmt_iodir; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_cs_set; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_cs_clear; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_inner_1_lock; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_tx_ready; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_tx_valid; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_outer_tx_bits; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_rx_valid; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_outer_rx_bits; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [7:0] arb_io_outer_cnt; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire [1:0] arb_io_outer_fmt_proto; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_fmt_endian; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_fmt_iodir; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_cs_set; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_cs_clear; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_cs_hold; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_outer_active; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  wire  arb_io_sel; // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.4]
  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_0;
  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_1;
  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_2;
  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_3;
  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_4;
  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_5;
  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_6;
  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_7;
  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_8;
  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_9;
  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_10;
  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_11;
  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_12;
  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_13;
  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_14;
  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_15;
  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_16;
  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276754.4]
  reg [31:0] _RAND_17;
  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276781.4]
  reg [31:0] _RAND_18;
  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276781.4]
  reg [31:0] _RAND_19;
  wire  _T_650; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@276782.4]
  wire  _T_651; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@276783.4]
  wire  _T_655; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@276788.4]
  wire  _T_656; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276789.4]
  reg [2:0] a_opcode; // @[TLSPIRAM.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276801.4]
  reg [31:0] _RAND_20;
  reg  a_size; // @[TLSPIRAM.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276801.4]
  reg [31:0] _RAND_21;
  reg [7:0] a_source; // @[TLSPIRAM.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276801.4]
  reg [31:0] _RAND_22;
  reg [30:0] a_address; // @[TLSPIRAM.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276801.4]
  reg [31:0] _RAND_23;
  reg [7:0] a_data; // @[TLSPIRAM.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276801.4]
  reg [31:0] _RAND_24;
  wire  _T_108_a_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 TLSPIRAM.scala 73:13:shc.marmotcaravel.MarmotCaravelConfig.fir@276814.4]
  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  wire  _T_657; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276802.4]
  wire [2:0] _T_108_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  wire  _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  wire [7:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  wire [30:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  wire [7:0] _T_108_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  wire [28:0] _T_658; // @[TLSPIRAM.scala 67:44:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.4]
  wire [28:0] _T_659; // @[TLSPIRAM.scala 68:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276808.4]
  wire  _T_660; // @[TLSPIRAM.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276815.4]
  wire [7:0] _T_664_data; // @[Edges.scala 742:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276830.6 Edges.scala 749:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276838.6]
  reg [1:0] insn_cmd_proto; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_25;
  reg [7:0] insn_cmd_code; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_26;
  reg  insn_cmd_en; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_27;
  reg [7:0] insn_wcmd_code; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_28;
  reg [1:0] insn_addr_proto; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_29;
  reg [2:0] insn_addr_len; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_30;
  reg [7:0] insn_pad_code; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_31;
  reg [3:0] insn_pad_cnt; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_32;
  reg [1:0] insn_data_proto; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_33;
  reg [3:0] insn_pgsz; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_34;
  reg [11:0] insn_max_cen_cyc; // @[TLSPIRAM.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276857.4]
  reg [31:0] _RAND_35;
  reg  ram_en; // @[TLSPIRAM.scala 84:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276858.4]
  reg [31:0] _RAND_36;
  wire [2:0] _T_174_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire  _T_677; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@276869.4]
  wire [28:0] _T_174_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire [26:0] _T_678; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@276871.4]
  wire [5:0] _T_174_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire [1:0] _T_174_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire [7:0] _T_679; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276875.4]
  wire [9:0] _T_674_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276867.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276872.4]
  wire [9:0] _T_695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276883.4]
  wire  _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276885.4]
  wire [3:0] _T_174_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire  _T_919; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276931.4]
  wire  _T_920; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276932.4]
  wire  _T_921; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276933.4]
  wire  _T_922; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276934.4]
  wire [7:0] _T_924; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276936.4]
  wire [7:0] _T_926; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276938.4]
  wire [7:0] _T_928; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276940.4]
  wire [7:0] _T_930; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276942.4]
  wire [15:0] _T_931; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276943.4]
  wire [15:0] _T_932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276944.4]
  wire [31:0] _T_933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276945.4]
  wire [11:0] _T_949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276961.4]
  wire [11:0] _T_952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276964.4]
  wire  _T_953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276965.4]
  wire  _T_174_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire  _T_174_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire  _T_2013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278125.4]
  wire  _T_2012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278124.4]
  wire [1:0] _T_2020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278132.4]
  wire  _T_2011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278123.4]
  wire [2:0] _T_2021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278133.4]
  wire  _T_2010; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278122.4]
  wire  _T_2009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278121.4]
  wire [1:0] _T_2019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278131.4]
  wire [4:0] _T_2022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278134.4]
  wire  _T_2089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278201.4]
  wire  _T_2090; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278202.4]
  wire [31:0] _T_2023; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@278135.4]
  wire  _T_2024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278136.4]
  wire  _T_2325; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278504.4]
  wire  _T_2326; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278505.4]
  wire  _T_2329; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278508.4]
  wire  _T_2330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278509.4]
  wire  _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276973.4]
  wire [31:0] _T_174_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  wire [11:0] _T_963; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276975.4]
  wire  _T_974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276989.4]
  wire  _T_977; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276992.4]
  wire  _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276993.4]
  wire  _T_2029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278141.4]
  wire  _T_2359; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278547.4]
  wire  _T_2360; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278548.4]
  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277001.4]
  wire  _T_988; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277003.4]
  wire [7:0] _T_999; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277017.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277018.4]
  wire [7:0] _T_1002; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277020.4]
  wire  _T_1003; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277021.4]
  wire  _T_2034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278146.4]
  wire  _T_2389; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278584.4]
  wire  _T_2390; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278585.4]
  wire  _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277029.4]
  wire [7:0] _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277031.4]
  wire [7:0] _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277045.4]
  wire [7:0] _T_1027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277048.4]
  wire  _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277049.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277057.4]
  wire [7:0] _T_1038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277059.4]
  wire [15:0] _T_1047; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277071.4]
  wire [23:0] _T_1048; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277072.4]
  wire  _T_2048; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278160.4]
  wire  _T_2473; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278700.4]
  wire  _T_2474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278701.4]
  wire  _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277087.4]
  wire  _T_2049; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278161.4]
  wire  _T_2479; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278708.4]
  wire  _T_2480; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278709.4]
  wire  _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277115.4]
  wire [2:0] _T_1101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277131.4]
  wire [2:0] _T_1104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277134.4]
  wire  _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277135.4]
  wire  _T_1113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277143.4]
  wire [2:0] _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277145.4]
  wire [3:0] _T_1125; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277158.4]
  wire [3:0] _T_1128; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277161.4]
  wire [3:0] _T_1131; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277164.4]
  wire  _T_1132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277165.4]
  wire  _T_1140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.4]
  wire [3:0] _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277175.4]
  wire [7:0] _T_1152; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277188.4]
  wire [1:0] _T_1155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277191.4]
  wire [1:0] _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277194.4]
  wire  _T_1159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277195.4]
  wire  _T_1167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277203.4]
  wire [1:0] _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277205.4]
  wire [9:0] _T_1179; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277218.4]
  wire [1:0] _T_1182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277221.4]
  wire [1:0] _T_1185; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277224.4]
  wire  _T_1186; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277225.4]
  wire  _T_1194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277233.4]
  wire [1:0] _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277235.4]
  wire [11:0] _T_1206; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277248.4]
  wire [1:0] _T_1209; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277251.4]
  wire [1:0] _T_1212; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277254.4]
  wire  _T_1213; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277255.4]
  wire  _T_1221; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277263.4]
  wire [1:0] _T_1223; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277265.4]
  wire [13:0] _T_1233; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277278.4]
  wire  _T_1248; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277293.4]
  wire [15:0] _T_1259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277307.4]
  wire [23:0] _T_1260; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277308.4]
  wire [7:0] _T_1263; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277311.4]
  wire [7:0] _T_1266; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277314.4]
  wire  _T_1267; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277315.4]
  wire  _T_1275; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277323.4]
  wire [7:0] _T_1277; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277325.4]
  wire [31:0] _T_1287; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277338.4]
  wire  _T_2038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278150.4]
  wire  _T_2413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278616.4]
  wire  _T_2414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278617.4]
  wire  _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277353.4]
  wire [3:0] _T_1315; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277369.4]
  wire [3:0] _T_1318; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277372.4]
  wire  _T_1319; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277373.4]
  wire  _T_2044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278156.4]
  wire  _T_2449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278670.4]
  wire  _T_2450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278671.4]
  wire  _T_1327; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277381.4]
  wire [3:0] _T_1329; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277383.4]
  wire  _T_1363; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277420.4]
  wire  _T_1365; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277422.4]
  wire  _T_1368; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277425.4]
  wire  _T_1369; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277426.4]
  wire  _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277436.4]
  wire [1:0] _T_1389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277446.4]
  wire  _T_2025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278137.4]
  wire  _T_2335; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278516.4]
  wire  _T_2336; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278517.4]
  wire  _T_1404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277461.4]
  wire  _T_1429; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277489.4]
  wire [1:0] _T_1441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277504.4]
  wire [1:0] _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277507.4]
  wire [1:0] _T_1447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277510.4]
  wire  _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277511.4]
  wire  _T_2030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278142.4]
  wire  _T_2365; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278555.4]
  wire  _T_2366; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278556.4]
  wire  _T_1456; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277519.4]
  wire [1:0] _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277521.4]
  wire  _T_2052; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278164.4]
  wire  _T_2497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278740.4]
  wire  _T_2498; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278741.4]
  wire  _T_1481; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277547.4]
  wire  _T_1506; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277575.4]
  wire [1:0] _T_1518; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277590.4]
  wire  _T_2045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278157.4]
  wire  _T_2455; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278678.4]
  wire  _T_2456; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278679.4]
  wire  _T_1533; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277605.4]
  wire  _T_2042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278154.4]
  wire  _T_2437; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278650.4]
  wire  _T_2438; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278651.4]
  wire  _T_1558; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277633.4]
  wire  _T_1607; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277684.4]
  wire  _T_1608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277685.4]
  wire  _T_1609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277686.4]
  wire  _T_1613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277690.4]
  wire  _T_1614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277691.4]
  wire  _T_1616; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@277693.4]
  wire  _T_1561; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@277636.4]
  wire [31:0] _T_1626; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277704.4]
  wire  _T_2040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278152.4]
  wire  _T_2425; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278632.4]
  wire  _T_2426; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278633.4]
  wire  _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277719.4]
  wire  _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277735.4]
  wire  _T_1657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277738.4]
  wire  _T_1658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277739.4]
  wire  _T_1666; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277747.4]
  wire  _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277749.4]
  wire [2:0] _T_1678; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277762.4]
  wire  _T_1681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277765.4]
  wire  _T_1684; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277768.4]
  wire  _T_1685; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277769.4]
  wire  _T_1693; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277777.4]
  wire  _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277779.4]
  wire [3:0] _T_1705; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277792.4]
  wire [3:0] _T_1708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277795.4]
  wire [3:0] _T_1711; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277798.4]
  wire  _T_1712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277799.4]
  wire  _T_1720; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277807.4]
  wire [3:0] _T_1722; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277809.4]
  wire [15:0] _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277821.4]
  wire [19:0] _T_1732; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277822.4]
  wire  _T_2035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278147.4]
  wire  _T_2395; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278593.4]
  wire  _T_2396; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278594.4]
  wire  _T_1747; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277837.4]
  wire  _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277865.4]
  wire [15:0] _T_1783; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277879.4]
  wire [23:0] _T_1784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277880.4]
  wire  _T_2050; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278162.4]
  wire  _T_2485; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278723.4]
  wire  _T_2486; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278724.4]
  wire  _T_1799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277895.4]
  wire [3:0] _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277911.4]
  wire [3:0] _T_1815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277914.4]
  wire  _T_1816; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277915.4]
  wire  _T_1824; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277923.4]
  wire [3:0] _T_1826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277925.4]
  wire [11:0] _T_1836; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277938.4]
  wire [11:0] _T_1839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277941.4]
  wire [11:0] _T_1842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277944.4]
  wire  _T_1843; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277945.4]
  wire  _T_1851; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277953.4]
  wire [11:0] _T_1853; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277955.4]
  wire [15:0] _T_1862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277967.4]
  wire [27:0] _T_1863; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277968.4]
  wire  _T_2043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278155.4]
  wire  _T_2207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278357.4]
  wire  _T_2208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278358.4]
  wire [7:0] _T_1889; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277995.4]
  wire [8:0] _T_1915; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278021.4]
  wire [30:0] _T_1916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278022.4]
  wire [31:0] _T_1942; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278048.4]
  wire  _T_2028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278140.4]
  wire  _T_2353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278539.4]
  wire  _T_2354; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278540.4]
  wire  _T_1957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278063.4]
  wire [4:0] _T_1970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278079.4]
  wire [4:0] _T_1973; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278082.4]
  wire  _T_1974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278083.4]
  wire  _T_2039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278151.4]
  wire  _T_2419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278624.4]
  wire  _T_2420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278625.4]
  wire  _T_1982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278091.4]
  wire [4:0] _T_1984; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278093.4]
  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire  _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  wire [31:0] _T_3082_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279461.4]
  wire [31:0] _T_3082_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279462.4]
  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279465.4]
  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279466.4]
  wire [31:0] _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279467.4]
  wire [31:0] _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279471.4]
  wire [31:0] _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279472.4]
  wire [31:0] _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279475.4]
  wire [31:0] _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279476.4]
  wire [31:0] _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279477.4]
  wire [31:0] _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279481.4]
  wire [31:0] _GEN_228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279482.4]
  wire [31:0] _GEN_229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_24; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279485.4]
  wire [31:0] _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_26; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279487.4]
  wire [31:0] _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279489.4]
  wire [31:0] _GEN_236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _T_3082_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279490.4]
  wire [31:0] _GEN_237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  wire [31:0] _GEN_239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  TLBuffer_25 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.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_26 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.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_size(buffer_1_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_1_auto_out_a_ready),
    .auto_out_a_valid(buffer_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_1_auto_out_d_ready),
    .auto_out_d_valid(buffer_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276620.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_77 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276632.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_78 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.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@276755.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@276759.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)
  );
  SPIRAMMap ram ( // @[TLSPIRAM.scala 51:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276790.4]
    .clock(ram_clock),
    .reset(ram_reset),
    .io_en(ram_io_en),
    .io_ctrl_insn_cmd_proto(ram_io_ctrl_insn_cmd_proto),
    .io_ctrl_insn_cmd_code(ram_io_ctrl_insn_cmd_code),
    .io_ctrl_insn_cmd_en(ram_io_ctrl_insn_cmd_en),
    .io_ctrl_insn_wcmd_code(ram_io_ctrl_insn_wcmd_code),
    .io_ctrl_insn_addr_proto(ram_io_ctrl_insn_addr_proto),
    .io_ctrl_insn_addr_len(ram_io_ctrl_insn_addr_len),
    .io_ctrl_insn_pad_code(ram_io_ctrl_insn_pad_code),
    .io_ctrl_insn_pad_cnt(ram_io_ctrl_insn_pad_cnt),
    .io_ctrl_insn_data_proto(ram_io_ctrl_insn_data_proto),
    .io_ctrl_insn_pgsz(ram_io_ctrl_insn_pgsz),
    .io_ctrl_insn_max_cen_cyc(ram_io_ctrl_insn_max_cen_cyc),
    .io_ctrl_fmt_endian(ram_io_ctrl_fmt_endian),
    .io_addr_ready(ram_io_addr_ready),
    .io_addr_valid(ram_io_addr_valid),
    .io_addr_bits_next(ram_io_addr_bits_next),
    .io_addr_bits_hold(ram_io_addr_bits_hold),
    .io_opcode_next(ram_io_opcode_next),
    .io_opcode_hold(ram_io_opcode_hold),
    .io_wdata(ram_io_wdata),
    .io_data_ready(ram_io_data_ready),
    .io_data_valid(ram_io_data_valid),
    .io_data_bits(ram_io_data_bits),
    .io_link_tx_ready(ram_io_link_tx_ready),
    .io_link_tx_valid(ram_io_link_tx_valid),
    .io_link_tx_bits(ram_io_link_tx_bits),
    .io_link_rx_valid(ram_io_link_rx_valid),
    .io_link_rx_bits(ram_io_link_rx_bits),
    .io_link_cnt(ram_io_link_cnt),
    .io_link_fmt_proto(ram_io_link_fmt_proto),
    .io_link_fmt_endian(ram_io_link_fmt_endian),
    .io_link_fmt_iodir(ram_io_link_fmt_iodir),
    .io_link_cs_clear(ram_io_link_cs_clear),
    .io_link_active(ram_io_link_active),
    .io_link_lock(ram_io_link_lock)
  );
  SPIArbiter arb ( // @[TLSPIRAM.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276794.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@276782.4]
  assign _T_651 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@276783.4]
  assign _T_655 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@276788.4]
  assign _T_656 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276789.4]
  assign _T_108_a_ready = ram_io_addr_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 TLSPIRAM.scala 73:13:shc.marmotcaravel.MarmotCaravelConfig.fir@276814.4]
  assign _T_108_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign _T_657 = _T_108_a_ready & _T_108_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276802.4]
  assign _T_108_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign _T_108_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign _T_108_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign _T_108_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign _T_108_a_bits_data = buffer_1_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276630.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign _T_658 = _T_108_a_bits_address[28:0]; // @[TLSPIRAM.scala 67:44:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.4]
  assign _T_659 = a_address[28:0]; // @[TLSPIRAM.scala 68:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276808.4]
  assign _T_660 = a_opcode == 3'h0; // @[TLSPIRAM.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276815.4]
  assign _T_664_data = ram_io_data_bits; // @[Edges.scala 742:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276830.6 Edges.scala 749:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276838.6]
  assign _T_174_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_677 = _T_174_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@276869.4]
  assign _T_174_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_678 = _T_174_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@276871.4]
  assign _T_174_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_174_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_679 = {_T_174_a_bits_source,_T_174_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276875.4]
  assign _T_674_bits_index = _T_678[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276867.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276872.4]
  assign _T_695 = _T_674_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276883.4]
  assign _T_697 = _T_695 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276885.4]
  assign _T_174_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_919 = _T_174_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276931.4]
  assign _T_920 = _T_174_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276932.4]
  assign _T_921 = _T_174_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276933.4]
  assign _T_922 = _T_174_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@276934.4]
  assign _T_924 = _T_919 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276936.4]
  assign _T_926 = _T_920 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276938.4]
  assign _T_928 = _T_921 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276940.4]
  assign _T_930 = _T_922 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276942.4]
  assign _T_931 = {_T_926,_T_924}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276943.4]
  assign _T_932 = {_T_930,_T_928}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276944.4]
  assign _T_933 = {_T_932,_T_931}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276945.4]
  assign _T_949 = _T_933[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276961.4]
  assign _T_952 = ~ _T_949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276964.4]
  assign _T_953 = _T_952 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276965.4]
  assign _T_174_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_174_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_2013 = _T_674_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278125.4]
  assign _T_2012 = _T_674_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278124.4]
  assign _T_2020 = {_T_2013,_T_2012}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278132.4]
  assign _T_2011 = _T_674_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278123.4]
  assign _T_2021 = {_T_2020,_T_2011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278133.4]
  assign _T_2010 = _T_674_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278122.4]
  assign _T_2009 = _T_674_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278121.4]
  assign _T_2019 = {_T_2010,_T_2009}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278131.4]
  assign _T_2022 = {_T_2021,_T_2019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278134.4]
  assign _T_2089 = _T_174_a_valid & _T_174_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278201.4]
  assign _T_2090 = _T_2089 & _T_677; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278202.4]
  assign _T_2023 = 32'h1 << _T_2022; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@278135.4]
  assign _T_2024 = _T_2023[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278136.4]
  assign _T_2325 = _T_677 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278504.4]
  assign _T_2326 = _T_2089 & _T_2325; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278505.4]
  assign _T_2329 = _T_2326 & _T_2024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278508.4]
  assign _T_2330 = _T_2329 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278509.4]
  assign _T_961 = _T_2330 & _T_953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276973.4]
  assign _T_174_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@276669.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign _T_963 = _T_174_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276975.4]
  assign _T_974 = _T_933[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276989.4]
  assign _T_977 = ~ _T_974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276992.4]
  assign _T_978 = _T_977 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276993.4]
  assign _T_2029 = _T_2023[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278141.4]
  assign _T_2359 = _T_2326 & _T_2029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278547.4]
  assign _T_2360 = _T_2359 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278548.4]
  assign _T_986 = _T_2360 & _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277001.4]
  assign _T_988 = _T_174_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277003.4]
  assign _T_999 = _T_933[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277017.4]
  assign _T_1000 = _T_999 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277018.4]
  assign _T_1002 = ~ _T_999; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277020.4]
  assign _T_1003 = _T_1002 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277021.4]
  assign _T_2034 = _T_2023[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278146.4]
  assign _T_2389 = _T_2326 & _T_2034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278584.4]
  assign _T_2390 = _T_2389 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278585.4]
  assign _T_1011 = _T_2390 & _T_1003; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277029.4]
  assign _T_1013 = _T_174_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277031.4]
  assign _T_1024 = _T_933[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277045.4]
  assign _T_1027 = ~ _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277048.4]
  assign _T_1028 = _T_1027 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277049.4]
  assign _T_1036 = _T_2390 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277057.4]
  assign _T_1038 = _T_174_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277059.4]
  assign _T_1047 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277071.4]
  assign _T_1048 = {ctrl_dla_sckcs,_T_1047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277072.4]
  assign _T_2048 = _T_2023[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278160.4]
  assign _T_2473 = _T_2326 & _T_2048; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278700.4]
  assign _T_2474 = _T_2473 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278701.4]
  assign _T_1063 = _T_2474 & _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277087.4]
  assign _T_2049 = _T_2023[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278161.4]
  assign _T_2479 = _T_2326 & _T_2049; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278708.4]
  assign _T_2480 = _T_2479 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278709.4]
  assign _T_1088 = _T_2480 & _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277115.4]
  assign _T_1101 = _T_933[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277131.4]
  assign _T_1104 = ~ _T_1101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277134.4]
  assign _T_1105 = _T_1104 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277135.4]
  assign _T_1113 = _T_2480 & _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277143.4]
  assign _T_1115 = _T_174_a_bits_data[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277145.4]
  assign _T_1125 = {insn_addr_len,insn_cmd_en}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277158.4]
  assign _T_1128 = _T_933[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277161.4]
  assign _T_1131 = ~ _T_1128; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277164.4]
  assign _T_1132 = _T_1131 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277165.4]
  assign _T_1140 = _T_2480 & _T_1132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.4]
  assign _T_1142 = _T_174_a_bits_data[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277175.4]
  assign _T_1152 = {insn_pad_cnt,_T_1125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277188.4]
  assign _T_1155 = _T_933[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277191.4]
  assign _T_1158 = ~ _T_1155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277194.4]
  assign _T_1159 = _T_1158 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277195.4]
  assign _T_1167 = _T_2480 & _T_1159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277203.4]
  assign _T_1169 = _T_174_a_bits_data[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277205.4]
  assign _T_1179 = {insn_cmd_proto,_T_1152}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277218.4]
  assign _T_1182 = _T_933[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277221.4]
  assign _T_1185 = ~ _T_1182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277224.4]
  assign _T_1186 = _T_1185 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277225.4]
  assign _T_1194 = _T_2480 & _T_1186; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277233.4]
  assign _T_1196 = _T_174_a_bits_data[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277235.4]
  assign _T_1206 = {insn_addr_proto,_T_1179}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277248.4]
  assign _T_1209 = _T_933[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277251.4]
  assign _T_1212 = ~ _T_1209; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277254.4]
  assign _T_1213 = _T_1212 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277255.4]
  assign _T_1221 = _T_2480 & _T_1213; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277263.4]
  assign _T_1223 = _T_174_a_bits_data[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277265.4]
  assign _T_1233 = {insn_data_proto,_T_1206}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277278.4]
  assign _T_1248 = _T_2480 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277293.4]
  assign _T_1259 = {{2'd0}, _T_1233}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277307.4]
  assign _T_1260 = {insn_cmd_code,_T_1259}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277308.4]
  assign _T_1263 = _T_933[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277311.4]
  assign _T_1266 = ~ _T_1263; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277314.4]
  assign _T_1267 = _T_1266 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277315.4]
  assign _T_1275 = _T_2480 & _T_1267; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277323.4]
  assign _T_1277 = _T_174_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277325.4]
  assign _T_1287 = {insn_pad_code,_T_1260}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277338.4]
  assign _T_2038 = _T_2023[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278150.4]
  assign _T_2413 = _T_2326 & _T_2038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278616.4]
  assign _T_2414 = _T_2413 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278617.4]
  assign _T_1302 = _T_2414 & _T_953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277353.4]
  assign _T_1315 = _T_933[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277369.4]
  assign _T_1318 = ~ _T_1315; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277372.4]
  assign _T_1319 = _T_1318 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277373.4]
  assign _T_2044 = _T_2023[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278156.4]
  assign _T_2449 = _T_2326 & _T_2044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278670.4]
  assign _T_2450 = _T_2449 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278671.4]
  assign _T_1327 = _T_2450 & _T_1319; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277381.4]
  assign _T_1329 = _T_174_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277383.4]
  assign _T_1363 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277420.4]
  assign _T_1365 = _T_933[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277422.4]
  assign _T_1368 = ~ _T_1365; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277425.4]
  assign _T_1369 = _T_1368 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277426.4]
  assign _T_1379 = _T_174_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277436.4]
  assign _T_1389 = {fifo_io_ip_rxwm,_T_1363}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277446.4]
  assign _T_2025 = _T_2023[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278137.4]
  assign _T_2335 = _T_2326 & _T_2025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278516.4]
  assign _T_2336 = _T_2335 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278517.4]
  assign _T_1404 = _T_2336 & _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277461.4]
  assign _T_1429 = _T_2336 & _T_1369; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277489.4]
  assign _T_1441 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277504.4]
  assign _T_1444 = _T_933[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277507.4]
  assign _T_1447 = ~ _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277510.4]
  assign _T_1448 = _T_1447 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277511.4]
  assign _T_2030 = _T_2023[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278142.4]
  assign _T_2365 = _T_2326 & _T_2030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278555.4]
  assign _T_2366 = _T_2365 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278556.4]
  assign _T_1456 = _T_2366 & _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277519.4]
  assign _T_1458 = _T_174_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277521.4]
  assign _T_2052 = _T_2023[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278164.4]
  assign _T_2497 = _T_2326 & _T_2052; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278740.4]
  assign _T_2498 = _T_2497 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278741.4]
  assign _T_1481 = _T_2498 & _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277547.4]
  assign _T_1506 = _T_2498 & _T_1369; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277575.4]
  assign _T_1518 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277590.4]
  assign _T_2045 = _T_2023[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278157.4]
  assign _T_2455 = _T_2326 & _T_2045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278678.4]
  assign _T_2456 = _T_2455 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278679.4]
  assign _T_1533 = _T_2456 & _T_1319; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277605.4]
  assign _T_2042 = _T_2023[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278154.4]
  assign _T_2437 = _T_2326 & _T_2042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278650.4]
  assign _T_2438 = _T_2437 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278651.4]
  assign _T_1558 = _T_2438 & _T_1003; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277633.4]
  assign _T_1607 = _T_933[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277684.4]
  assign _T_1608 = ~ _T_1607; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277685.4]
  assign _T_1609 = _T_1608 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277686.4]
  assign _T_1613 = _T_2438 & _T_1609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277690.4]
  assign _T_1614 = _T_174_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277691.4]
  assign _T_1616 = _T_1613 & _T_1614; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@277693.4]
  assign _T_1561 = _T_1616 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@277636.4]
  assign _T_1626 = {_T_655,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277704.4]
  assign _T_2040 = _T_2023[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278152.4]
  assign _T_2425 = _T_2326 & _T_2040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278632.4]
  assign _T_2426 = _T_2425 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278633.4]
  assign _T_1641 = _T_2426 & _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277719.4]
  assign _T_1654 = _T_933[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277735.4]
  assign _T_1657 = ~ _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277738.4]
  assign _T_1658 = _T_1657 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277739.4]
  assign _T_1666 = _T_2426 & _T_1658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277747.4]
  assign _T_1668 = _T_174_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277749.4]
  assign _T_1678 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277762.4]
  assign _T_1681 = _T_933[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277765.4]
  assign _T_1684 = ~ _T_1681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277768.4]
  assign _T_1685 = _T_1684 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277769.4]
  assign _T_1693 = _T_2426 & _T_1685; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277777.4]
  assign _T_1695 = _T_174_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277779.4]
  assign _T_1705 = {ctrl_fmt_iodir,_T_1678}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277792.4]
  assign _T_1708 = _T_933[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277795.4]
  assign _T_1711 = ~ _T_1708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277798.4]
  assign _T_1712 = _T_1711 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277799.4]
  assign _T_1720 = _T_2426 & _T_1712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277807.4]
  assign _T_1722 = _T_174_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277809.4]
  assign _T_1731 = {{12'd0}, _T_1705}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277821.4]
  assign _T_1732 = {ctrl_fmt_len,_T_1731}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277822.4]
  assign _T_2035 = _T_2023[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278147.4]
  assign _T_2395 = _T_2326 & _T_2035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278593.4]
  assign _T_2396 = _T_2395 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278594.4]
  assign _T_1747 = _T_2396 & _T_1003; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277837.4]
  assign _T_1772 = _T_2396 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277865.4]
  assign _T_1783 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277879.4]
  assign _T_1784 = {ctrl_dla_interxfr,_T_1783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277880.4]
  assign _T_2050 = _T_2023[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278162.4]
  assign _T_2485 = _T_2326 & _T_2050; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278723.4]
  assign _T_2486 = _T_2485 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278724.4]
  assign _T_1799 = _T_2486 & _T_1003; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277895.4]
  assign _T_1812 = _T_933[11:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277911.4]
  assign _T_1815 = ~ _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277914.4]
  assign _T_1816 = _T_1815 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277915.4]
  assign _T_1824 = _T_2486 & _T_1816; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277923.4]
  assign _T_1826 = _T_174_a_bits_data[11:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277925.4]
  assign _T_1836 = {insn_pgsz,insn_wcmd_code}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277938.4]
  assign _T_1839 = _T_933[27:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277941.4]
  assign _T_1842 = ~ _T_1839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277944.4]
  assign _T_1843 = _T_1842 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277945.4]
  assign _T_1851 = _T_2486 & _T_1843; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277953.4]
  assign _T_1853 = _T_174_a_bits_data[27:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277955.4]
  assign _T_1862 = {{4'd0}, _T_1836}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277967.4]
  assign _T_1863 = {insn_max_cen_cyc,_T_1862}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@277968.4]
  assign _T_2043 = _T_2023[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278155.4]
  assign _T_2207 = _T_2090 & _T_2043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278357.4]
  assign _T_2208 = _T_2207 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278358.4]
  assign _T_1889 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277995.4]
  assign _T_1915 = {1'h0,_T_1889}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278021.4]
  assign _T_1916 = {{22'd0}, _T_1915}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278022.4]
  assign _T_1942 = {_T_656,_T_1916}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278048.4]
  assign _T_2028 = _T_2023[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278140.4]
  assign _T_2353 = _T_2326 & _T_2028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278539.4]
  assign _T_2354 = _T_2353 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278540.4]
  assign _T_1957 = _T_2354 & _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278063.4]
  assign _T_1970 = _T_933[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278079.4]
  assign _T_1973 = ~ _T_1970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278082.4]
  assign _T_1974 = _T_1973 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278083.4]
  assign _T_2039 = _T_2023[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278151.4]
  assign _T_2419 = _T_2326 & _T_2039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278624.4]
  assign _T_2420 = _T_2419 & _T_697; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278625.4]
  assign _T_1982 = _T_2420 & _T_1974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278091.4]
  assign _T_1984 = _T_174_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278093.4]
  assign _GEN_177 = 5'h1 == _T_2022 ? _T_697 : _T_697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_178 = 5'h2 == _T_2022 ? 1'h1 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_179 = 5'h3 == _T_2022 ? 1'h1 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_180 = 5'h4 == _T_2022 ? _T_697 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_181 = 5'h5 == _T_2022 ? _T_697 : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_182 = 5'h6 == _T_2022 ? _T_697 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_183 = 5'h7 == _T_2022 ? 1'h1 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_184 = 5'h8 == _T_2022 ? 1'h1 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_185 = 5'h9 == _T_2022 ? 1'h1 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_186 = 5'ha == _T_2022 ? _T_697 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_187 = 5'hb == _T_2022 ? _T_697 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_188 = 5'hc == _T_2022 ? 1'h1 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_189 = 5'hd == _T_2022 ? 1'h1 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_190 = 5'he == _T_2022 ? _T_697 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_191 = 5'hf == _T_2022 ? _T_697 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_192 = 5'h10 == _T_2022 ? _T_697 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_193 = 5'h11 == _T_2022 ? 1'h1 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_194 = 5'h12 == _T_2022 ? _T_697 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_195 = 5'h13 == _T_2022 ? _T_697 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_196 = 5'h14 == _T_2022 ? _T_697 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_197 = 5'h15 == _T_2022 ? _T_697 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_198 = 5'h16 == _T_2022 ? 1'h1 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_199 = 5'h17 == _T_2022 ? 1'h1 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_200 = 5'h18 == _T_2022 ? _T_697 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_201 = 5'h19 == _T_2022 ? _T_697 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_202 = 5'h1a == _T_2022 ? _T_697 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_203 = 5'h1b == _T_2022 ? 1'h1 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_204 = 5'h1c == _T_2022 ? _T_697 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_205 = 5'h1d == _T_2022 ? _T_697 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_206 = 5'h1e == _T_2022 ? 1'h1 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _GEN_207 = 5'h1f == _T_2022 ? 1'h1 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.4]
  assign _T_3082_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279461.4]
  assign _T_3082_1 = {{30'd0}, _T_1441}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279462.4]
  assign _GEN_209 = 5'h1 == _T_2022 ? _T_3082_1 : _T_3082_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_210 = 5'h2 == _T_2022 ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_211 = 5'h3 == _T_2022 ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279465.4]
  assign _GEN_212 = 5'h4 == _T_2022 ? _T_3082_4 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279466.4]
  assign _GEN_213 = 5'h5 == _T_2022 ? _T_3082_5 : _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279467.4]
  assign _GEN_214 = 5'h6 == _T_2022 ? _T_3082_6 : _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_215 = 5'h7 == _T_2022 ? 32'h0 : _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_216 = 5'h8 == _T_2022 ? 32'h0 : _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_217 = 5'h9 == _T_2022 ? 32'h0 : _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_10 = {{8'd0}, _T_1048}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279471.4]
  assign _GEN_218 = 5'ha == _T_2022 ? _T_3082_10 : _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_11 = {{8'd0}, _T_1784}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279472.4]
  assign _GEN_219 = 5'hb == _T_2022 ? _T_3082_11 : _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_220 = 5'hc == _T_2022 ? 32'h0 : _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_221 = 5'hd == _T_2022 ? 32'h0 : _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279475.4]
  assign _GEN_222 = 5'he == _T_2022 ? _T_3082_14 : _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279476.4]
  assign _GEN_223 = 5'hf == _T_2022 ? _T_3082_15 : _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_16 = {{12'd0}, _T_1732}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279477.4]
  assign _GEN_224 = 5'h10 == _T_2022 ? _T_3082_16 : _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_225 = 5'h11 == _T_2022 ? 32'h0 : _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_226 = 5'h12 == _T_2022 ? _T_1626 : _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_227 = 5'h13 == _T_2022 ? _T_1942 : _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279481.4]
  assign _GEN_228 = 5'h14 == _T_2022 ? _T_3082_20 : _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279482.4]
  assign _GEN_229 = 5'h15 == _T_2022 ? _T_3082_21 : _GEN_228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_230 = 5'h16 == _T_2022 ? 32'h0 : _GEN_229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_231 = 5'h17 == _T_2022 ? 32'h0 : _GEN_230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_24 = {{31'd0}, ram_en}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279485.4]
  assign _GEN_232 = 5'h18 == _T_2022 ? _T_3082_24 : _GEN_231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_233 = 5'h19 == _T_2022 ? _T_1287 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_26 = {{4'd0}, _T_1863}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279487.4]
  assign _GEN_234 = 5'h1a == _T_2022 ? _T_3082_26 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_235 = 5'h1b == _T_2022 ? 32'h0 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_28 = {{30'd0}, _T_1518}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279489.4]
  assign _GEN_236 = 5'h1c == _T_2022 ? _T_3082_28 : _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _T_3082_29 = {{30'd0}, _T_1389}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279490.4]
  assign _GEN_237 = 5'h1d == _T_2022 ? _T_3082_29 : _GEN_236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_238 = 5'h1e == _T_2022 ? 32'h0 : _GEN_237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign _GEN_239 = 5'h1f == _T_2022 ? 32'h0 : _GEN_238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276732.4]
  assign auto_mem_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.4]
  assign auto_mem_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.4]
  assign auto_mem_xing_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.4]
  assign auto_mem_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.4]
  assign auto_mem_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.4]
  assign auto_mem_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.4]
  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276729.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276612.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276613.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276725.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_677}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign buffer_auto_out_d_bits_size = _T_679[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign buffer_auto_out_d_bits_source = _T_679[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign buffer_auto_out_d_bits_data = _GEN_207 ? _GEN_239 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276618.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276619.4]
  assign buffer_1_auto_in_a_valid = auto_mem_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_mem_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_param = auto_mem_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_size = auto_mem_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_source = auto_mem_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_address = auto_mem_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_mask = auto_mem_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_data = auto_mem_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_mem_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_in_d_ready = auto_mem_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276727.4]
  assign buffer_1_auto_out_a_ready = ram_io_addr_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign buffer_1_auto_out_d_valid = ram_io_data_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign buffer_1_auto_out_d_bits_opcode = _T_660 ? 3'h0 : 3'h1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign buffer_1_auto_out_d_bits_size = a_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign buffer_1_auto_out_d_bits_source = a_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign buffer_1_auto_out_d_bits_data = _T_660 ? 8'h0 : _T_664_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276726.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276624.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276625.4]
  assign intsource_auto_in_0 = _T_650 | _T_651; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276634.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276635.4]
  assign TLMonitor_io_in_a_ready = ram_io_addr_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_d_valid = ram_io_data_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_660 ? 3'h0 : 3'h1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_d_bits_size = a_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_io_in_d_bits_source = a_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276668.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276673.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276674.4]
  assign TLMonitor_1_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_677}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_d_bits_size = _T_679[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign TLMonitor_1_io_in_d_bits_source = _T_679[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276707.4]
  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276757.4]
  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276758.4]
  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276764.4]
  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276764.4]
  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276764.4]
  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276764.4]
  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276765.4]
  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276766.4]
  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276766.4]
  assign fifo_io_link_tx_ready = arb_io_inner_1_tx_ready; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign fifo_io_link_rx_valid = arb_io_inner_1_rx_valid; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign fifo_io_link_rx_bits = arb_io_inner_1_rx_bits; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign fifo_io_tx_valid = _T_1558 & _T_1561; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@277638.4]
  assign fifo_io_tx_bits = _T_174_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277639.4]
  assign fifo_io_rx_ready = _T_2208 & _T_1000; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@277985.4]
  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276761.4]
  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276762.4]
  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.4]
  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.4]
  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.4]
  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.4]
  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276767.4]
  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276767.4]
  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276767.4]
  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276770.4]
  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276770.4]
  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276770.4]
  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276770.4]
  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276771.4]
  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@276771.4]
  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276768.4]
  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276769.4]
  assign mac_io_link_tx_valid = arb_io_outer_tx_valid; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_tx_bits = arb_io_outer_tx_bits; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_cnt = arb_io_outer_cnt; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_fmt_proto = arb_io_outer_fmt_proto; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_fmt_endian = arb_io_outer_fmt_endian; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_fmt_iodir = arb_io_outer_fmt_iodir; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_cs_set = arb_io_outer_cs_set; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_cs_clear = arb_io_outer_cs_clear; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign mac_io_link_cs_hold = arb_io_outer_cs_hold; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign ram_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276792.4]
  assign ram_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276793.4]
  assign ram_io_en = ram_en; // @[TLSPIRAM.scala 88:13:shc.marmotcaravel.MarmotCaravelConfig.fir@276861.4]
  assign ram_io_ctrl_insn_cmd_proto = insn_cmd_proto; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_cmd_code = insn_cmd_code; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_cmd_en = insn_cmd_en; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_wcmd_code = insn_wcmd_code; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_addr_proto = insn_addr_proto; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_addr_len = insn_addr_len; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_pad_code = insn_pad_code; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_pad_cnt = insn_pad_cnt; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_data_proto = insn_data_proto; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_pgsz = insn_pgsz; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_insn_max_cen_cyc = insn_max_cen_cyc; // @[TLSPIRAM.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276859.4]
  assign ram_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPIRAM.scala 87:19:shc.marmotcaravel.MarmotCaravelConfig.fir@276860.4]
  assign ram_io_addr_valid = buffer_1_auto_out_a_valid; // @[TLSPIRAM.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276813.4]
  assign ram_io_addr_bits_next = {{3'd0}, _T_658}; // @[TLSPIRAM.scala 67:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276807.4]
  assign ram_io_addr_bits_hold = {{3'd0}, _T_659}; // @[TLSPIRAM.scala 68:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276809.4]
  assign ram_io_opcode_next = buffer_1_auto_out_a_bits_opcode; // @[TLSPIRAM.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276810.4]
  assign ram_io_opcode_hold = a_opcode; // @[TLSPIRAM.scala 70:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276811.4]
  assign ram_io_wdata = a_data; // @[TLSPIRAM.scala 71:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276812.4]
  assign ram_io_data_ready = buffer_1_auto_out_d_ready; // @[TLSPIRAM.scala 81:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276843.4]
  assign ram_io_link_tx_ready = arb_io_inner_0_tx_ready; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign ram_io_link_rx_valid = arb_io_inner_0_rx_valid; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign ram_io_link_rx_bits = arb_io_inner_0_rx_bits; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign ram_io_link_active = arb_io_inner_0_active; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276796.4]
  assign arb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276797.4]
  assign arb_io_inner_0_tx_valid = ram_io_link_tx_valid; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_tx_bits = ram_io_link_tx_bits; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_cnt = ram_io_link_cnt; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_fmt_proto = ram_io_link_fmt_proto; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_fmt_endian = ram_io_link_fmt_endian; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_fmt_iodir = ram_io_link_fmt_iodir; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_cs_clear = ram_io_link_cs_clear; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_0_lock = ram_io_link_lock; // @[TLSPIRAM.scala 140:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276864.4]
  assign arb_io_inner_1_tx_valid = fifo_io_link_tx_valid; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_tx_bits = fifo_io_link_tx_bits; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_cnt = fifo_io_link_cnt; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_cs_set = fifo_io_link_cs_set; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_cs_clear = fifo_io_link_cs_clear; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_inner_1_lock = fifo_io_link_lock; // @[TLSPIRAM.scala 141:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.4]
  assign arb_io_outer_tx_ready = mac_io_link_tx_ready; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign arb_io_outer_rx_valid = mac_io_link_rx_valid; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign arb_io_outer_rx_bits = mac_io_link_rx_bits; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign arb_io_outer_active = mac_io_link_active; // @[TLSPIRAM.scala 142:17:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.4]
  assign arb_io_sel = ram_en == 1'h0; // @[TLSPIRAM.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276863.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_opcode = _RAND_20[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  a_size = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  a_source = _RAND_22[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  a_address = _RAND_23[30:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  a_data = _RAND_24[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  insn_cmd_proto = _RAND_25[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  insn_cmd_code = _RAND_26[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  insn_cmd_en = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  insn_wcmd_code = _RAND_28[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  insn_addr_proto = _RAND_29[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  insn_addr_len = _RAND_30[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  insn_pad_code = _RAND_31[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  insn_pad_cnt = _RAND_32[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  insn_data_proto = _RAND_33[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  insn_pgsz = _RAND_34[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  insn_max_cen_cyc = _RAND_35[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  ram_en = _RAND_36[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_1641) begin
        ctrl_fmt_proto <= _T_1458;
      end
    end
    if (reset) begin
      ctrl_fmt_endian <= 1'h0;
    end else begin
      if (_T_1666) begin
        ctrl_fmt_endian <= _T_1668;
      end
    end
    if (reset) begin
      ctrl_fmt_iodir <= 1'h0;
    end else begin
      if (_T_1693) begin
        ctrl_fmt_iodir <= _T_1695;
      end
    end
    if (reset) begin
      ctrl_fmt_len <= 4'h8;
    end else begin
      if (_T_1720) begin
        ctrl_fmt_len <= _T_1722;
      end
    end
    if (reset) begin
      ctrl_sck_div <= 12'h3;
    end else begin
      if (_T_961) begin
        ctrl_sck_div <= _T_963;
      end
    end
    if (reset) begin
      ctrl_sck_pol <= 1'h0;
    end else begin
      if (_T_1429) begin
        ctrl_sck_pol <= _T_1379;
      end
    end
    if (reset) begin
      ctrl_sck_pha <= 1'h0;
    end else begin
      if (_T_1404) begin
        ctrl_sck_pha <= _T_988;
      end
    end
    if (reset) begin
      ctrl_cs_id <= 1'h0;
    end else begin
      if (_T_1957) begin
        ctrl_cs_id <= _T_988;
      end
    end
    if (reset) begin
      ctrl_cs_dflt_0 <= 1'h1;
    end else begin
      if (_T_986) begin
        ctrl_cs_dflt_0 <= _T_988;
      end
    end
    if (reset) begin
      ctrl_cs_mode <= 2'h0;
    end else begin
      if (_T_1456) begin
        ctrl_cs_mode <= _T_1458;
      end
    end
    if (reset) begin
      ctrl_dla_cssck <= 8'h1;
    end else begin
      if (_T_1011) begin
        ctrl_dla_cssck <= _T_1013;
      end
    end
    if (reset) begin
      ctrl_dla_sckcs <= 8'h1;
    end else begin
      if (_T_1036) begin
        ctrl_dla_sckcs <= _T_1038;
      end
    end
    if (reset) begin
      ctrl_dla_intercs <= 8'h1;
    end else begin
      if (_T_1747) begin
        ctrl_dla_intercs <= _T_1013;
      end
    end
    if (reset) begin
      ctrl_dla_interxfr <= 8'h0;
    end else begin
      if (_T_1772) begin
        ctrl_dla_interxfr <= _T_1038;
      end
    end
    if (reset) begin
      ctrl_wm_tx <= 4'h0;
    end else begin
      if (_T_1327) begin
        ctrl_wm_tx <= _T_1329;
      end
    end
    if (reset) begin
      ctrl_wm_rx <= 4'h0;
    end else begin
      if (_T_1533) begin
        ctrl_wm_rx <= _T_1329;
      end
    end
    if (reset) begin
      ctrl_extradel_coarse <= 12'h0;
    end else begin
      if (_T_1302) begin
        ctrl_extradel_coarse <= _T_963;
      end
    end
    if (reset) begin
      ctrl_sampledel_sd <= 5'h3;
    end else begin
      if (_T_1982) begin
        ctrl_sampledel_sd <= _T_1984;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_1481) begin
        ie_txwm <= _T_988;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_1506) begin
        ie_rxwm <= _T_1379;
      end
    end
    if (_T_657) begin
      a_opcode <= _T_108_a_bits_opcode;
    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 (_T_657) begin
      a_data <= _T_108_a_bits_data;
    end
    if (reset) begin
      insn_cmd_proto <= 2'h0;
    end else begin
      if (_T_1167) begin
        insn_cmd_proto <= _T_1169;
      end
    end
    if (reset) begin
      insn_cmd_code <= 8'h3;
    end else begin
      if (_T_1248) begin
        insn_cmd_code <= _T_1038;
      end
    end
    if (reset) begin
      insn_cmd_en <= 1'h1;
    end else begin
      if (_T_1088) begin
        insn_cmd_en <= _T_988;
      end
    end
    if (reset) begin
      insn_wcmd_code <= 8'h2;
    end else begin
      if (_T_1799) begin
        insn_wcmd_code <= _T_1013;
      end
    end
    if (reset) begin
      insn_addr_proto <= 2'h0;
    end else begin
      if (_T_1194) begin
        insn_addr_proto <= _T_1196;
      end
    end
    if (reset) begin
      insn_addr_len <= 3'h3;
    end else begin
      if (_T_1113) begin
        insn_addr_len <= _T_1115;
      end
    end
    if (reset) begin
      insn_pad_code <= 8'h0;
    end else begin
      if (_T_1275) begin
        insn_pad_code <= _T_1277;
      end
    end
    if (reset) begin
      insn_pad_cnt <= 4'h0;
    end else begin
      if (_T_1140) begin
        insn_pad_cnt <= _T_1142;
      end
    end
    if (reset) begin
      insn_data_proto <= 2'h0;
    end else begin
      if (_T_1221) begin
        insn_data_proto <= _T_1223;
      end
    end
    if (reset) begin
      insn_pgsz <= 4'h9;
    end else begin
      if (_T_1824) begin
        insn_pgsz <= _T_1826;
      end
    end
    if (reset) begin
      insn_max_cen_cyc <= 12'h80;
    end else begin
      if (_T_1851) begin
        insn_max_cen_cyc <= _T_1853;
      end
    end
    if (reset) begin
      ram_en <= 1'h1;
    end else begin
      if (_T_1063) begin
        ram_en <= _T_988;
      end
    end
  end
endmodule
module TLMonitor_79( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279588.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279589.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279590.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@280718.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@279618.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@279619.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@279620.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@279621.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@279621.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@279622.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@279624.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279625.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@279627.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@279628.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279629.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279630.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279631.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279633.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279634.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279636.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279637.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279638.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279639.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279640.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279641.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279642.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279643.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279644.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279645.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279646.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279647.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279648.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279649.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279650.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279651.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279652.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@279653.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@279654.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@279655.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279678.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@279681.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@279682.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@279683.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@279684.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@279685.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279690.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279711.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279712.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279718.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279719.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279724.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279726.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279727.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@279732.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279733.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279735.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279736.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@279741.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279743.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279744.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279750.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279804.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279806.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279807.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279830.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@279833.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@279841.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279844.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279845.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279864.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279866.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279867.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279872.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279874.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279875.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279889.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279940.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@279982.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279983.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@279984.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279986.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279987.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279993.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@280024.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280026.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280027.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280041.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@280072.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280074.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280075.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280089.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@280139.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280141.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280142.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280159.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280168.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280170.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280171.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280201.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280259.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280449.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280458.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280459.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280460.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280461.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280462.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280473.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280474.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280475.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280476.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280477.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280478.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280479.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280481.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280483.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280484.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280489.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280491.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280492.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280497.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280499.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280500.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280505.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280507.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280508.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280513.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280515.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280516.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280523.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280531.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280539.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280540.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280541.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280542.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280543.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280554.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280556.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280557.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280560.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280561.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280563.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280565.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280566.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280579.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280581.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280582.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280587.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280589.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280590.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280613.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280622.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280632.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280633.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280634.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280635.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280636.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280655.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280656.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280657.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280658.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280659.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280674.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@280677.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@280679.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@280680.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280681.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280683.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280684.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@280676.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280695.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@280697.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@280698.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@280700.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@280702.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@280703.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@280704.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280706.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280707.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@280699.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280713.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280714.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@280715.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280717.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@280720.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280721.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@280722.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280723.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@280724.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@280725.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280727.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280728.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280734.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280738.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279692.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279764.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279847.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279906.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279957.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280007.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280055.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280103.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280173.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280214.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280272.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@280718.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@279618.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@279619.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@279620.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@279621.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@279621.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@279622.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@279624.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279625.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@279627.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@279628.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279629.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279630.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279631.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279633.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279634.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279636.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279637.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279638.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279639.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279640.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279641.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279642.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279643.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279644.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279645.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279646.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279647.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279648.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279649.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279650.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279651.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279652.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@279653.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@279654.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@279655.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279678.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@279681.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@279682.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@279683.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@279684.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@279685.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279690.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279711.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279712.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279718.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279719.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279724.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279726.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279727.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@279732.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279733.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279735.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279736.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@279741.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279743.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279744.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279750.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279804.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279806.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279807.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279830.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@279833.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@279841.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279844.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279845.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279864.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279866.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279867.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279872.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279874.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279875.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279889.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279940.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@279982.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279983.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@279984.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279986.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279987.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279993.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@280024.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280026.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280027.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280041.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@280072.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280074.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280075.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280089.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@280139.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280141.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280142.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280159.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280168.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280170.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280171.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280201.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280259.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280449.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280459.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280460.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280461.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280462.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280478.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280479.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280481.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280483.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280484.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280489.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280491.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280492.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280497.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280499.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280500.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280505.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280507.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280508.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280513.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280515.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280516.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280523.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280531.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280540.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280541.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280542.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280543.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@280560.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280561.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280563.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280565.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280566.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280579.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280581.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280582.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280587.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280589.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280590.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280613.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280633.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280634.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280635.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280636.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280656.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280657.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@280658.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280659.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280674.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@280677.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@280679.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@280680.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280681.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280683.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280684.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@280676.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280695.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@280697.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@280698.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@280700.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@280702.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@280703.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@280704.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280706.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280707.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@280699.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280713.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280714.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@280715.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@280720.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@280721.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@280722.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280723.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@280724.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@280725.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280727.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280728.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280734.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280738.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279692.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279764.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279847.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279906.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279957.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280007.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280055.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280103.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280173.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280214.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280272.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@279603.8]
        end
    `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@279604.8]
        end
    `ifdef STOP_COND
      end
    `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@279675.8]
        end
    `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@279676.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@279692.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@279693.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@279699.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@279700.10]
        end
    `ifdef STOP_COND
      end
    `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@279706.10]
        end
    `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@279707.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@279714.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@279715.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@279721.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@279722.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@279729.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@279730.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@279738.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@279739.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@279746.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@279747.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@279764.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@279765.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@279771.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@279772.10]
        end
    `ifdef STOP_COND
      end
    `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@279778.10]
        end
    `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@279779.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@279786.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@279787.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@279793.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@279794.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@279801.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@279802.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@279809.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@279810.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@279818.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@279819.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@279826.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@279827.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@279847.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@279848.10]
        end
    `ifdef STOP_COND
      end
    `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@279854.10]
        end
    `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@279855.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@279861.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@279862.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@279869.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@279870.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@279877.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@279878.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@279885.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@279886.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@279906.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@279907.10]
        end
    `ifdef STOP_COND
      end
    `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@279913.10]
        end
    `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@279914.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@279920.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@279921.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@279928.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@279929.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@279936.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@279937.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@279957.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@279958.10]
        end
    `ifdef STOP_COND
      end
    `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@279964.10]
        end
    `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@279965.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@279971.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@279972.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@279979.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@279980.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@279989.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@279990.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@280007.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@280008.10]
        end
    `ifdef STOP_COND
      end
    `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@280014.10]
        end
    `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@280015.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@280021.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@280022.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@280029.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@280030.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@280037.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@280038.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@280055.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@280056.10]
        end
    `ifdef STOP_COND
      end
    `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@280062.10]
        end
    `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@280063.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@280069.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@280070.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@280077.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@280078.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@280085.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@280086.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@280103.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@280104.10]
        end
    `ifdef STOP_COND
      end
    `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@280110.10]
        end
    `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@280111.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@280117.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@280118.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@280125.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@280126.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@280133.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@280134.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@280144.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@280145.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280165.10]
        end
    `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@280166.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@280173.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@280174.10]
        end
    `ifdef STOP_COND
      end
    `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@280181.10]
        end
    `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@280182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280189.10]
        end
    `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@280190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280197.10]
        end
    `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@280198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280207.10]
        end
    `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@280208.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@280214.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@280215.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@280222.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@280223.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280230.10]
        end
    `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@280231.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280238.10]
        end
    `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@280239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280246.10]
        end
    `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@280247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280255.10]
        end
    `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@280256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280265.10]
        end
    `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@280266.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@280272.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@280273.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@280280.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@280281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280288.10]
        end
    `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@280289.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280296.10]
        end
    `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@280297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@280305.10]
        end
    `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@280306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@280314.10]
        end
    `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@280315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280324.10]
        end
    `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@280325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280332.10]
        end
    `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@280333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280340.10]
        end
    `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@280341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280349.10]
        end
    `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@280350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280359.10]
        end
    `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@280360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280367.10]
        end
    `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@280368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@280376.10]
        end
    `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@280377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@280385.10]
        end
    `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@280386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280395.10]
        end
    `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@280396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@280403.10]
        end
    `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@280404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280411.10]
        end
    `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@280412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@280420.10]
        end
    `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@280421.10]
        end
    `ifdef STOP_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@280430.6]
        end
    `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@280431.6]
        end
    `ifdef STOP_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@280438.6]
        end
    `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@280439.6]
        end
    `ifdef STOP_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@280446.6]
        end
    `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@280447.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@280486.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@280487.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@280494.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@280495.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@280502.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@280503.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@280510.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@280511.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@280518.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@280519.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@280568.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@280569.8]
        end
    `ifdef STOP_COND
      end
    `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@280576.8]
        end
    `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@280577.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@280584.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@280585.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@280592.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@280593.8]
        end
    `ifdef STOP_COND
      end
    `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@280600.8]
        end
    `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@280601.8]
        end
    `ifdef STOP_COND
      end
    `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@280608.8]
        end
    `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@280609.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@280686.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@280687.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@280709.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@280710.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@280730.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@280731.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_27( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280743.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280744.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280745.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280746.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.4]
  TLMonitor_79 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280753.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@280793.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280793.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280793.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280793.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280793.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280793.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280792.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280755.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280756.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@280789.4]
endmodule
module TLMonitor_80( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280864.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280865.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280866.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@280867.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@281994.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@280894.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@280895.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@280896.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@280897.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@280897.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@280898.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280900.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280901.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@280903.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@280904.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280905.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280906.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280907.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280909.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280910.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280912.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280913.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280914.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280915.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280916.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280917.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280918.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280919.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280920.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280921.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280922.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280923.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280924.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280925.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280926.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280927.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280928.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@280929.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@280930.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@280931.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280954.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280957.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280958.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@280959.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@280960.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@280961.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280966.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280987.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280988.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280994.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280995.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281000.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281002.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281003.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@281008.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281009.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281011.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281012.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@281017.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281019.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281020.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281026.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281080.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281082.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281083.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281106.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@281109.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@281117.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281120.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281121.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281140.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281142.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281143.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281148.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281150.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281151.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281165.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281216.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@281258.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281259.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@281260.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281262.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281263.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281269.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@281300.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281302.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281303.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281317.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@281348.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281350.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281351.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281365.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@281415.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@281417.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@281418.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281435.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281444.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281446.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281447.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281477.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281535.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281725.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281734.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281735.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281736.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281737.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281738.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281749.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281750.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281751.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281752.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281753.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281754.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@281755.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281757.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281759.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281760.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281765.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281767.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281768.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281773.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281775.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281776.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281781.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281783.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281784.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281789.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281791.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281792.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@281799.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281807.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281815.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281816.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281817.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281818.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281819.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281830.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281832.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281833.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281836.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@281837.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281839.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281841.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281842.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281855.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281857.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281858.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281863.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281865.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281866.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@281889.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281898.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281908.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281909.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281910.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281911.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281912.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281931.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281932.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281933.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281934.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281935.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281950.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@281953.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@281955.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@281956.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281957.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281959.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281960.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@281952.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281971.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@281973.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@281974.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@281976.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@281978.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@281979.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@281980.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281982.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281983.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@281975.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281989.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@281990.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@281991.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281993.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@281996.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281997.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@281998.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281999.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@282000.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282001.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282003.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282004.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282010.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282014.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280968.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281040.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281123.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281182.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281233.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281283.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281331.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281379.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281449.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281490.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281548.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@281994.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@280894.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@280895.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@280896.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@280897.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@280897.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@280898.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280900.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@280901.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@280903.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@280904.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280905.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280906.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280907.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280909.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280910.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280912.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280913.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280914.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@280915.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@280916.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280917.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280918.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280919.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280920.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280921.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280922.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280923.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280924.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280925.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@280926.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@280927.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@280928.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@280929.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@280930.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@280931.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@280954.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@280957.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@280958.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@280959.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@280960.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@280961.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280966.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280987.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280988.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280994.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280995.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281000.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281002.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281003.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@281008.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281009.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281011.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281012.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@281017.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281019.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281020.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281026.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281080.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281082.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281083.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281106.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@281109.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@281117.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281120.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281121.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281140.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281142.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281143.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281148.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281150.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281151.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281165.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281216.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@281258.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281259.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@281260.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281262.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281263.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281269.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@281300.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281302.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281303.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281317.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@281348.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281350.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281351.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281365.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@281415.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@281417.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@281418.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281435.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281444.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281446.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281447.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281477.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281535.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281725.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281735.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281736.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281737.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281738.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281754.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@281755.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281757.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281759.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281760.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281765.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281767.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281768.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281773.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281775.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281776.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281781.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281783.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281784.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281789.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281791.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281792.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@281799.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281807.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281816.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281817.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281818.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281819.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@281836.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@281837.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281839.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281841.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281842.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281855.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281857.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281858.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@281863.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281865.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281866.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@281889.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281909.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281910.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281911.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281912.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281932.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281933.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@281934.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@281935.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281950.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@281953.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@281955.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@281956.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281957.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281959.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281960.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@281952.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281971.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@281973.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@281974.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@281976.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@281978.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@281979.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@281980.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281982.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281983.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@281975.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281989.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@281990.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@281991.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@281996.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@281997.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@281998.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@281999.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@282000.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282001.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282003.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282004.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282010.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282014.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280968.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281040.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281123.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281182.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281233.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281283.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281331.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281379.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281449.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281490.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@281548.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@280879.8]
        end
    `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@280880.8]
        end
    `ifdef STOP_COND
      end
    `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@280951.8]
        end
    `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@280952.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@280968.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@280969.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@280975.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@280976.10]
        end
    `ifdef STOP_COND
      end
    `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@280982.10]
        end
    `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@280983.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@280990.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@280991.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@280997.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@280998.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@281005.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@281006.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@281014.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@281015.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@281022.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@281023.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@281040.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@281041.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@281047.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@281048.10]
        end
    `ifdef STOP_COND
      end
    `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@281054.10]
        end
    `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@281055.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@281062.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@281063.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@281069.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@281070.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@281077.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@281078.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@281085.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@281086.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@281094.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@281095.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@281102.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@281103.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@281123.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@281124.10]
        end
    `ifdef STOP_COND
      end
    `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@281130.10]
        end
    `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@281131.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@281137.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@281138.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@281145.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@281146.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@281153.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@281154.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@281161.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@281162.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@281182.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@281183.10]
        end
    `ifdef STOP_COND
      end
    `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@281189.10]
        end
    `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@281190.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@281196.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@281197.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@281204.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@281205.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@281212.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@281213.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@281233.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@281234.10]
        end
    `ifdef STOP_COND
      end
    `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@281240.10]
        end
    `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@281241.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@281247.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@281248.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@281255.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@281256.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@281265.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@281266.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@281283.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@281284.10]
        end
    `ifdef STOP_COND
      end
    `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@281290.10]
        end
    `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@281291.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@281297.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@281298.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@281305.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@281306.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@281313.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@281314.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@281331.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@281332.10]
        end
    `ifdef STOP_COND
      end
    `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@281338.10]
        end
    `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@281339.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@281345.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@281346.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@281353.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@281354.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@281361.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@281362.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@281379.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@281380.10]
        end
    `ifdef STOP_COND
      end
    `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@281386.10]
        end
    `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@281387.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@281393.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@281394.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@281401.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@281402.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@281409.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@281410.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@281420.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@281421.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281441.10]
        end
    `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@281442.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@281449.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@281450.10]
        end
    `ifdef STOP_COND
      end
    `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@281457.10]
        end
    `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@281458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281465.10]
        end
    `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@281466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281473.10]
        end
    `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@281474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281483.10]
        end
    `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@281484.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@281490.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@281491.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@281498.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@281499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281506.10]
        end
    `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@281507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281514.10]
        end
    `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@281515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281522.10]
        end
    `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@281523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281531.10]
        end
    `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@281532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281541.10]
        end
    `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@281542.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@281548.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@281549.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@281556.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@281557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281564.10]
        end
    `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@281565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281572.10]
        end
    `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@281573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@281581.10]
        end
    `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@281582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@281590.10]
        end
    `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@281591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281600.10]
        end
    `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@281601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281608.10]
        end
    `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@281609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281616.10]
        end
    `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@281617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281625.10]
        end
    `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@281626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281635.10]
        end
    `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@281636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281643.10]
        end
    `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@281644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@281652.10]
        end
    `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@281653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@281661.10]
        end
    `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@281662.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281671.10]
        end
    `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@281672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@281679.10]
        end
    `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@281680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281687.10]
        end
    `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@281688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@281696.10]
        end
    `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@281697.10]
        end
    `ifdef STOP_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@281706.6]
        end
    `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@281707.6]
        end
    `ifdef STOP_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@281714.6]
        end
    `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@281715.6]
        end
    `ifdef STOP_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@281722.6]
        end
    `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@281723.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@281762.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@281763.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@281770.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@281771.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@281778.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@281779.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@281786.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@281787.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@281794.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@281795.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@281844.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@281845.8]
        end
    `ifdef STOP_COND
      end
    `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@281852.8]
        end
    `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@281853.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@281860.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@281861.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@281868.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@281869.8]
        end
    `ifdef STOP_COND
      end
    `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@281876.8]
        end
    `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@281877.8]
        end
    `ifdef STOP_COND
      end
    `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@281884.8]
        end
    `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@281885.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@281962.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@281963.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@281985.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@281986.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@282006.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@282007.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SPIPhysical_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282208.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282209.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282210.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input  [1:0]  io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_op_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_op_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_op_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input         io_op_bits_stb, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input  [7:0]  io_op_bits_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  input  [7:0]  io_op_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output        io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
  output [7:0]  io_rx_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282211.4]
);
  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282216.4]
  reg [31:0] _RAND_0;
  reg  ctrl_sck_pol; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282216.4]
  reg [31:0] _RAND_1;
  reg  ctrl_sck_pha; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282216.4]
  reg [31:0] _RAND_2;
  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282216.4]
  reg [31:0] _RAND_3;
  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282216.4]
  reg [31:0] _RAND_4;
  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282216.4]
  reg [31:0] _RAND_5;
  wire  proto_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282217.4]
  wire  proto_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282218.4]
  wire  proto_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282219.4]
  reg  setup_d; // @[SPIPhysical.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282232.4]
  reg [31:0] _RAND_6;
  reg [7:0] scnt; // @[SPIPhysical.scala 61:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282234.4]
  reg [31:0] _RAND_7;
  reg [11:0] tcnt; // @[SPIPhysical.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282235.4]
  reg [31:0] _RAND_8;
  wire  stop; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282236.4]
  wire  beat; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282237.4]
  wire [11:0] _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282238.4]
  wire [11:0] totalCoarseDel; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282239.4]
  reg [11:0] del_cntr; // @[SPIPhysical.scala 69:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282240.4]
  reg [31:0] _RAND_9;
  reg  sample_d; // @[SPIPhysical.scala 70:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282241.4]
  reg [31:0] _RAND_10;
  reg  xfr; // @[SPIPhysical.scala 171:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282430.4]
  reg [31:0] _RAND_11;
  reg  cref; // @[SPIPhysical.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282290.4]
  reg [31:0] _RAND_12;
  wire  _GEN_8; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282439.8]
  wire  _GEN_13; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  wire  sample; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  wire  _T_46; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282242.4]
  wire  _T_47; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282246.4]
  wire [12:0] _T_48; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282248.6]
  wire [12:0] _T_49; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282249.6]
  wire [11:0] _T_50; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282250.6]
  wire  _T_51; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282253.4]
  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282260.4]
  reg [31:0] _RAND_13;
  reg  last_d; // @[SPIPhysical.scala 87:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282261.4]
  reg [31:0] _RAND_14;
  wire  _T_179; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282452.4]
  wire  _T_180; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282454.6]
  wire  _T_181; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282455.6]
  wire  last; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282453.4]
  wire  _T_54; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282262.4]
  wire  _T_55; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282266.4]
  wire [12:0] _T_56; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282268.6]
  wire [12:0] _T_57; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282269.6]
  wire [11:0] _T_58; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282270.6]
  wire  _T_59; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282273.4]
  wire [11:0] _T_60; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282280.4]
  wire [12:0] _T_61; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282281.4]
  wire [12:0] _T_62; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282282.4]
  wire [11:0] decr; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282283.4]
  wire  sched; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  reg  sck; // @[SPIPhysical.scala 107:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282289.4]
  reg [31:0] _RAND_15;
  wire  cinv; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282291.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282292.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282293.4]
  wire [3:0] rxd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282294.4]
  wire  rxd_delayed_0; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282301.4]
  wire  rxd_delayed_1; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282302.4]
  wire  rxd_delayed_2; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282303.4]
  wire  rxd_delayed_3; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282304.4]
  wire [1:0] _T_82; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@282309.4]
  wire [1:0] _T_83; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@282310.4]
  wire [3:0] rxd_fin; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@282311.4]
  wire  samples_0; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282312.4]
  wire [1:0] samples_1; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@282313.4]
  reg [7:0] buffer; // @[SPIPhysical.scala 132:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282314.4]
  reg [31:0] _RAND_16;
  wire  _T_84; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282315.4]
  wire  _T_85; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282316.4]
  wire  _T_86; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282317.4]
  wire  _T_87; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282318.4]
  wire  _T_88; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282319.4]
  wire  _T_89; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282320.4]
  wire  _T_90; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282321.4]
  wire  _T_91; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282322.4]
  wire  _T_92; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282323.4]
  wire [1:0] _T_93; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282324.4]
  wire [1:0] _T_94; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282325.4]
  wire [3:0] _T_95; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282326.4]
  wire [1:0] _T_96; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282327.4]
  wire [1:0] _T_97; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282328.4]
  wire [3:0] _T_98; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282329.4]
  wire [7:0] _T_99; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282330.4]
  wire [7:0] buffer_in; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@282331.4]
  wire  _T_100; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282332.4]
  wire  _T_101; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@282333.4]
  wire  _T_102; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@282334.4]
  wire  shift; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282335.4]
  wire [6:0] _T_103; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282336.4]
  wire [6:0] _T_104; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282337.4]
  wire [6:0] _T_105; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282338.4]
  wire  _T_106; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@282339.4]
  wire  _T_107; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282340.4]
  wire [7:0] _T_108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282341.4]
  wire [5:0] _T_109; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282342.4]
  wire [5:0] _T_110; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282343.4]
  wire [5:0] _T_111; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282344.4]
  wire [1:0] _T_112; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@282345.4]
  wire [1:0] _T_113; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282346.4]
  wire [7:0] _T_114; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282347.4]
  wire [3:0] _T_115; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282348.4]
  wire [3:0] _T_116; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282349.4]
  wire [3:0] _T_117; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282350.4]
  wire [3:0] _T_119; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282352.4]
  wire [7:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282353.4]
  wire [7:0] _T_122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282354.4]
  wire [7:0] _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282355.4]
  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282356.4]
  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282357.4]
  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282358.4]
  reg [3:0] txd; // @[SPIPhysical.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282362.4]
  reg [31:0] _RAND_17;
  wire [3:0] _T_130; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282363.4]
  wire  _T_182; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282457.6]
  wire  _T_183; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282458.6]
  wire  _GEN_23; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282459.6]
  wire  accept; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282453.4]
  wire [3:0] txd_in; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282365.4]
  wire [1:0] _T_132; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@282366.4]
  wire  txd_sel_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282367.4]
  wire  txd_sel_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282368.4]
  wire  txd_sel_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282369.4]
  wire  txd_shf_0; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@282370.4]
  wire [1:0] txd_shf_1; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@282371.4]
  wire  _T_134; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282374.6]
  wire [1:0] _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282375.6]
  wire [3:0] _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282376.6]
  wire [1:0] _GEN_75; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282377.6]
  wire [1:0] _T_137; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282377.6]
  wire [3:0] _GEN_76; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282378.6]
  wire [3:0] _T_138; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282378.6]
  reg  done; // @[SPIPhysical.scala 165:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282408.4]
  reg [31:0] _RAND_18;
  wire  _T_184; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282465.4]
  wire  _T_185; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282474.8]
  wire  _GEN_9; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282439.8]
  wire  _GEN_14; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  wire  _GEN_21; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  wire  _GEN_24; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282459.6]
  wire  _GEN_28; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282453.4]
  wire  _GEN_43; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282475.8]
  wire  _GEN_56; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282468.6]
  wire  setup; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282466.4]
  wire  _T_141; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282384.4]
  wire  txen_2; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282385.4]
  wire  txen_1; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@282387.4]
  wire  _T_156; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282409.4]
  wire  _T_157; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282412.4]
  wire  _T_159; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282414.4]
  wire  _T_160; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282415.4]
  wire  _T_161; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282416.4]
  wire  _T_162; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282417.4]
  wire  _T_163; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282418.4]
  wire  _T_164; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282419.4]
  wire  _T_165; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282420.4]
  wire [1:0] _T_166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282421.4]
  wire [1:0] _T_167; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282422.4]
  wire [3:0] _T_168; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282423.4]
  wire [1:0] _T_169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282424.4]
  wire [1:0] _T_170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282425.4]
  wire [3:0] _T_171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282426.4]
  wire [7:0] _T_172; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282427.4]
  wire  _T_176; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282440.10]
  wire  _GEN_7; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282439.8]
  wire [11:0] _GEN_10; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282447.8]
  wire  _GEN_12; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  wire [11:0] _GEN_15; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  wire  _GEN_19; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  wire [11:0] _GEN_22; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  wire  _T_186; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282479.10]
  wire [11:0] _GEN_49; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282468.6]
  wire [11:0] _GEN_62; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282466.4]
  assign proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282217.4]
  assign proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282218.4]
  assign proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282219.4]
  assign stop = scnt == 8'h0; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282236.4]
  assign beat = tcnt == 12'h0; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282237.4]
  assign _GEN_74 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282238.4]
  assign totalCoarseDel = io_ctrl_extradel_coarse + _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282239.4]
  assign _GEN_8 = xfr ? cref : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282439.8]
  assign _GEN_13 = beat ? _GEN_8 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  assign sample = stop ? 1'h0 : _GEN_13; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  assign _T_46 = beat & sample; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282242.4]
  assign _T_47 = del_cntr != 12'h0; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282246.4]
  assign _T_48 = del_cntr - 12'h1; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282248.6]
  assign _T_49 = $unsigned(_T_48); // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282249.6]
  assign _T_50 = _T_49[11:0]; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282250.6]
  assign _T_51 = del_cntr == 12'h1; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282253.4]
  assign _T_179 = scnt == 8'h1; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282452.4]
  assign _T_180 = beat & cref; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282454.6]
  assign _T_181 = _T_180 & xfr; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282455.6]
  assign last = _T_179 ? _T_181 : 1'h0; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282453.4]
  assign _T_54 = beat & last; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282262.4]
  assign _T_55 = del_cntr_last != 12'h0; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282266.4]
  assign _T_56 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282268.6]
  assign _T_57 = $unsigned(_T_56); // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282269.6]
  assign _T_58 = _T_57[11:0]; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282270.6]
  assign _T_59 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282273.4]
  assign _T_60 = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282280.4]
  assign _T_61 = _T_60 - 12'h1; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282281.4]
  assign _T_62 = $unsigned(_T_61); // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282282.4]
  assign decr = _T_62[11:0]; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282283.4]
  assign sched = stop ? 1'h1 : beat; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  assign cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282291.4]
  assign _T_67 = {io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282292.4]
  assign _T_68 = {io_port_dq_3_i,io_port_dq_2_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282293.4]
  assign rxd = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282294.4]
  assign rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282301.4]
  assign rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282302.4]
  assign rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282303.4]
  assign rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282304.4]
  assign _T_82 = {rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@282309.4]
  assign _T_83 = {rxd_delayed_3,rxd_delayed_2}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@282310.4]
  assign rxd_fin = {_T_83,_T_82}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@282311.4]
  assign samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282312.4]
  assign samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@282313.4]
  assign _T_84 = io_ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282315.4]
  assign _T_85 = io_op_bits_data[0]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282316.4]
  assign _T_86 = io_op_bits_data[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282317.4]
  assign _T_87 = io_op_bits_data[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282318.4]
  assign _T_88 = io_op_bits_data[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282319.4]
  assign _T_89 = io_op_bits_data[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282320.4]
  assign _T_90 = io_op_bits_data[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282321.4]
  assign _T_91 = io_op_bits_data[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282322.4]
  assign _T_92 = io_op_bits_data[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282323.4]
  assign _T_93 = {_T_91,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282324.4]
  assign _T_94 = {_T_89,_T_90}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282325.4]
  assign _T_95 = {_T_94,_T_93}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282326.4]
  assign _T_96 = {_T_87,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282327.4]
  assign _T_97 = {_T_85,_T_86}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282328.4]
  assign _T_98 = {_T_97,_T_96}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282329.4]
  assign _T_99 = {_T_98,_T_95}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282330.4]
  assign buffer_in = _T_84 ? io_op_bits_data : _T_99; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@282331.4]
  assign _T_100 = totalCoarseDel > 12'h0; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282332.4]
  assign _T_101 = sample_d & stop; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@282333.4]
  assign _T_102 = setup_d | _T_101; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@282334.4]
  assign shift = _T_100 ? _T_102 : sample_d; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282335.4]
  assign _T_103 = buffer[6:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282336.4]
  assign _T_104 = buffer[7:1]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282337.4]
  assign _T_105 = shift ? _T_103 : _T_104; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282338.4]
  assign _T_106 = buffer[0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@282339.4]
  assign _T_107 = sample_d ? samples_0 : _T_106; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282340.4]
  assign _T_108 = {_T_105,_T_107}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282341.4]
  assign _T_109 = buffer[5:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282342.4]
  assign _T_110 = buffer[7:2]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282343.4]
  assign _T_111 = shift ? _T_109 : _T_110; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282344.4]
  assign _T_112 = buffer[1:0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@282345.4]
  assign _T_113 = sample_d ? samples_1 : _T_112; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282346.4]
  assign _T_114 = {_T_111,_T_113}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282347.4]
  assign _T_115 = buffer[3:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282348.4]
  assign _T_116 = buffer[7:4]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282349.4]
  assign _T_117 = shift ? _T_115 : _T_116; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282350.4]
  assign _T_119 = sample_d ? rxd_fin : _T_115; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282352.4]
  assign _T_120 = {_T_117,_T_119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282353.4]
  assign _T_122 = proto_0 ? _T_108 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282354.4]
  assign _T_123 = proto_1 ? _T_114 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282355.4]
  assign _T_124 = proto_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282356.4]
  assign _T_125 = _T_122 | _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282357.4]
  assign _T_126 = _T_125 | _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282358.4]
  assign _T_130 = buffer_in[7:4]; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282363.4]
  assign _T_182 = cref == 1'h0; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282457.6]
  assign _T_183 = beat & _T_182; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282458.6]
  assign _GEN_23 = _T_183 ? 1'h1 : stop; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282459.6]
  assign accept = _T_179 ? _GEN_23 : stop; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282453.4]
  assign txd_in = accept ? _T_130 : _T_116; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282365.4]
  assign _T_132 = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@282366.4]
  assign txd_sel_0 = 2'h0 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282367.4]
  assign txd_sel_1 = 2'h1 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282368.4]
  assign txd_sel_2 = 2'h2 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@282369.4]
  assign txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@282370.4]
  assign txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@282371.4]
  assign _T_134 = txd_sel_0 ? txd_shf_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282374.6]
  assign _T_135 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282375.6]
  assign _T_136 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282376.6]
  assign _GEN_75 = {{1'd0}, _T_134}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282377.6]
  assign _T_137 = _GEN_75 | _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282377.6]
  assign _GEN_76 = {{2'd0}, _T_137}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282378.6]
  assign _T_138 = _GEN_76 | _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@282378.6]
  assign _T_184 = accept & done; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282465.4]
  assign _T_185 = 1'h0 == io_op_bits_fn; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282474.8]
  assign _GEN_9 = xfr ? _T_182 : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282439.8]
  assign _GEN_14 = beat ? _GEN_9 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  assign _GEN_21 = stop ? 1'h0 : _GEN_14; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  assign _GEN_24 = _T_183 ? 1'h0 : _GEN_21; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@282459.6]
  assign _GEN_28 = _T_179 ? _GEN_24 : _GEN_21; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282453.4]
  assign _GEN_43 = _T_185 ? 1'h1 : _GEN_28; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282475.8]
  assign _GEN_56 = io_op_valid ? _GEN_43 : _GEN_28; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282468.6]
  assign setup = _T_184 ? _GEN_56 : _GEN_28; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282466.4]
  assign _T_141 = proto_1 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282384.4]
  assign txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282385.4]
  assign txen_1 = _T_141 | txen_2; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@282387.4]
  assign _T_156 = done | last_d; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282409.4]
  assign _T_157 = ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282412.4]
  assign _T_159 = buffer[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282414.4]
  assign _T_160 = buffer[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282415.4]
  assign _T_161 = buffer[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282416.4]
  assign _T_162 = buffer[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282417.4]
  assign _T_163 = buffer[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282418.4]
  assign _T_164 = buffer[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282419.4]
  assign _T_165 = buffer[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@282420.4]
  assign _T_166 = {_T_164,_T_165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282421.4]
  assign _T_167 = {_T_162,_T_163}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282422.4]
  assign _T_168 = {_T_167,_T_166}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282423.4]
  assign _T_169 = {_T_160,_T_161}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282424.4]
  assign _T_170 = {_T_106,_T_159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282425.4]
  assign _T_171 = {_T_170,_T_169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282426.4]
  assign _T_172 = {_T_171,_T_168}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282427.4]
  assign _T_176 = cref ^ cinv; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282440.10]
  assign _GEN_7 = xfr ? _T_176 : sck; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282439.8]
  assign _GEN_10 = _T_182 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282447.8]
  assign _GEN_12 = beat ? _GEN_7 : sck; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  assign _GEN_15 = beat ? _GEN_10 : {{4'd0}, scnt}; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282436.6]
  assign _GEN_19 = stop ? sck : _GEN_12; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  assign _GEN_22 = stop ? {{4'd0}, scnt} : _GEN_15; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282431.4]
  assign _T_186 = io_op_bits_cnt == 8'h0; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282479.10]
  assign _GEN_49 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_22; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282468.6]
  assign _GEN_62 = _T_184 ? _GEN_49 : _GEN_22; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282466.4]
  assign io_port_sck = sck; // @[SPIPhysical.scala 156:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282389.4]
  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282399.4]
  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@282400.4]
  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282401.4]
  assign io_port_dq_1_oe = _T_141 | txen_2; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@282402.4]
  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282403.4]
  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@282404.4]
  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282405.4]
  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@282406.4]
  assign io_op_ready = accept & done; // @[SPIPhysical.scala 163:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282407.4 SPIPhysical.scala 200:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282467.6]
  assign io_rx_valid = done; // @[SPIPhysical.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282411.4]
  assign io_rx_bits = _T_157 ? buffer : _T_172; // @[SPIPhysical.scala 169:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282429.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_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282494.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282495.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282496.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_port_cs_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [7:0]  io_ctrl_dla_cssck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [7:0]  io_ctrl_dla_sckcs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [7:0]  io_ctrl_dla_intercs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [7:0]  io_ctrl_dla_interxfr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_ctrl_cs_id, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_ctrl_cs_dflt_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_ctrl_cs_dflt_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  output [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input  [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
  input         io_link_cs_clear // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282497.4]
);
  wire  phy_clock; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_reset; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_sck; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_op_ready; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_op_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire  phy_io_rx_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.4]
  reg  cs_id; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282515.4]
  reg [31:0] _RAND_0;
  reg  cs_dflt_0; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282515.4]
  reg [31:0] _RAND_1;
  reg  cs_dflt_1; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282515.4]
  reg [31:0] _RAND_2;
  reg  cs_set; // @[SPIMedia.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282516.4]
  reg [31:0] _RAND_3;
  wire [1:0] _GEN_61; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282517.4]
  wire [1:0] _T_67; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282517.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282518.4]
  wire [1:0] _T_69; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@282519.4]
  wire  cs_active_0; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282520.4]
  wire  cs_active_1; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282521.4]
  wire [1:0] _T_79; // @[SPIMedia.scala 49:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282526.4]
  wire [1:0] _T_80; // @[SPIMedia.scala 49:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282527.4]
  wire  cs_update; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@282528.4]
  reg  clear; // @[SPIMedia.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282529.4]
  reg [31:0] _RAND_4;
  reg  cs_assert; // @[SPIMedia.scala 52:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282530.4]
  reg [31:0] _RAND_5;
  wire  cs_deassert; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282533.4]
  wire  _T_85; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@282534.4]
  wire  _T_86; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282535.4]
  wire  continuous; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282537.4]
  reg [1:0] state; // @[SPIMedia.scala 68:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282544.4]
  reg [31:0] _RAND_6;
  wire  _T_89; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282545.4]
  wire  _T_90; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@282559.10]
  wire [7:0] _GEN_2; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  wire  _GEN_5; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  wire  _GEN_6; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  wire  _GEN_7; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  wire [7:0] _GEN_12; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@282566.8]
  wire  _GEN_17; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@282566.8]
  wire [7:0] _GEN_19; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  wire  _GEN_21; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  wire  _GEN_22; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  wire  _GEN_23; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  wire  _GEN_24; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  wire  _T_91; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282581.6]
  wire  _T_92; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282583.8]
  wire  _T_93; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282586.8]
  wire  _T_94; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282592.8]
  wire [1:0] _GEN_62; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282599.12]
  wire [1:0] _T_95; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282599.12]
  wire [1:0] _T_97; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@282601.12]
  wire  _T_98; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282602.12]
  wire  _T_99; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282603.12]
  wire [7:0] _GEN_34; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282593.8]
  wire  _GEN_41; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282582.6]
  wire [7:0] _GEN_42; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282582.6]
  wire  _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282582.6]
  SPIPhysical_2 phy ( // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282502.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@282517.4]
  assign _T_67 = _GEN_61 << io_ctrl_cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282517.4]
  assign _T_68 = {io_ctrl_cs_dflt_1,io_ctrl_cs_dflt_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282518.4]
  assign _T_69 = _T_68 ^ _T_67; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@282519.4]
  assign cs_active_0 = _T_69[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282520.4]
  assign cs_active_1 = _T_69[1]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282521.4]
  assign _T_79 = {cs_active_1,cs_active_0}; // @[SPIMedia.scala 49:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282526.4]
  assign _T_80 = {cs_dflt_1,cs_dflt_0}; // @[SPIMedia.scala 49:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282527.4]
  assign cs_update = _T_79 != _T_80; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@282528.4]
  assign cs_deassert = clear | cs_update; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@282533.4]
  assign _T_85 = io_link_cs_clear & cs_assert; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@282534.4]
  assign _T_86 = clear | _T_85; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282535.4]
  assign continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@282537.4]
  assign _T_89 = 2'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282545.4]
  assign _T_90 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@282559.10]
  assign _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  assign _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  assign _GEN_6 = cs_deassert ? 1'h1 : io_link_tx_valid; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  assign _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282548.8]
  assign _GEN_12 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@282566.8]
  assign _GEN_17 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@282566.8]
  assign _GEN_19 = cs_assert ? _GEN_2 : _GEN_12; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  assign _GEN_21 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  assign _GEN_22 = cs_assert ? _GEN_5 : _GEN_17; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  assign _GEN_23 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  assign _GEN_24 = cs_assert ? _GEN_7 : 1'h0; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282547.6]
  assign _T_91 = 2'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282581.6]
  assign _T_92 = continuous == 1'h0; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282583.8]
  assign _T_93 = phy_io_op_ready | continuous; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282586.8]
  assign _T_94 = 2'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@282592.8]
  assign _GEN_62 = {{1'd0}, cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282599.12]
  assign _T_95 = _GEN_62 << cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282599.12]
  assign _T_97 = _T_80 ^ _T_95; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@282601.12]
  assign _T_98 = _T_97[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282602.12]
  assign _T_99 = _T_97[1]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@282603.12]
  assign _GEN_34 = _T_94 ? io_ctrl_dla_intercs : io_link_cnt; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282593.8]
  assign _GEN_41 = _T_91 ? _T_92 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282582.6]
  assign _GEN_42 = _T_91 ? io_ctrl_dla_interxfr : _GEN_34; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282582.6]
  assign _GEN_44 = _T_91 ? 1'h0 : _T_94; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@282582.6]
  assign io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 59:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282538.4]
  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282540.4]
  assign io_port_cs_1 = cs_dflt_1; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282540.4]
  assign io_link_tx_ready = _T_89 ? _GEN_24 : 1'h0; // @[SPIMedia.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282542.4 SPIMedia.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282558.10]
  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282541.4]
  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282541.4]
  assign phy_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282504.4]
  assign phy_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282505.4]
  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282539.4]
  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282506.4]
  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282506.4]
  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282506.4]
  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282507.4]
  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282507.4]
  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282507.4]
  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282508.4]
  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 37:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282509.4]
  assign phy_io_op_valid = _T_89 ? _GEN_23 : _GEN_41; // @[SPIMedia.scala 40:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282510.4 SPIMedia.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282557.10 SPIMedia.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282584.8]
  assign phy_io_op_bits_fn = _T_89 ? _GEN_21 : 1'h1; // @[SPIMedia.scala 41:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282511.4 SPIMedia.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282555.10]
  assign phy_io_op_bits_stb = _T_89 ? _GEN_22 : _GEN_44; // @[SPIMedia.scala 42:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282512.4 SPIMedia.scala 80:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282556.10 SPIMedia.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282576.10 SPIMedia.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282595.10]
  assign phy_io_op_bits_cnt = _T_89 ? _GEN_19 : _GEN_42; // @[SPIMedia.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282513.4 SPIMedia.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282549.10 SPIMedia.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282567.10 SPIMedia.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282575.10 SPIMedia.scala 107:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282585.8 SPIMedia.scala 115:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282594.10]
  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 44:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282514.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@282613.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282614.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282615.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
  output        auto_io_out_cs_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282616.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282627.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282627.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282627.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282627.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282716.4]
  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_port_cs_1; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_ctrl_cs_dflt_1; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.4]
  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_0;
  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_1;
  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_2;
  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_3;
  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_4;
  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_5;
  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_6;
  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_7;
  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_8;
  reg  ctrl_cs_dflt_1; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_9;
  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_10;
  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_11;
  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_12;
  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_13;
  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_14;
  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_15;
  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_16;
  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_17;
  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282715.4]
  reg [31:0] _RAND_18;
  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282742.4]
  reg [31:0] _RAND_19;
  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@282742.4]
  reg [31:0] _RAND_20;
  wire  _T_410; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@282743.4]
  wire  _T_411; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@282744.4]
  wire  _T_415; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@282749.4]
  wire  _T_416; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282750.4]
  wire [2:0] _T_108_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire  _T_424; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282754.4]
  wire [28:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire [26:0] _T_425; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@282756.4]
  wire [5:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire [1:0] _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire [7:0] _T_426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282760.4]
  wire [9:0] _T_421_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282752.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282757.4]
  wire [9:0] _T_442; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282768.4]
  wire  _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282770.4]
  wire [3:0] _T_108_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire  _T_616; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282810.4]
  wire  _T_617; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282811.4]
  wire  _T_618; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282812.4]
  wire  _T_619; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282813.4]
  wire [7:0] _T_621; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282815.4]
  wire [7:0] _T_623; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282817.4]
  wire [7:0] _T_625; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282819.4]
  wire [7:0] _T_627; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282821.4]
  wire [15:0] _T_628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282822.4]
  wire [15:0] _T_629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282823.4]
  wire [31:0] _T_630; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282824.4]
  wire [11:0] _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282840.4]
  wire [11:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282843.4]
  wire  _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282844.4]
  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire  _T_108_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire  _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283680.4]
  wire  _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283679.4]
  wire [1:0] _T_1426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283687.4]
  wire  _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283678.4]
  wire [2:0] _T_1427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283688.4]
  wire  _T_1416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283677.4]
  wire  _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283676.4]
  wire [1:0] _T_1425; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283686.4]
  wire [4:0] _T_1428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283689.4]
  wire  _T_1495; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283756.4]
  wire  _T_1496; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283757.4]
  wire [31:0] _T_1429; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@283690.4]
  wire  _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283691.4]
  wire  _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284048.4]
  wire  _T_1732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284049.4]
  wire  _T_1735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284052.4]
  wire  _T_1736; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284053.4]
  wire  _T_658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282852.4]
  wire [31:0] _T_108_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  wire [11:0] _T_660; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282854.4]
  wire  _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282868.4]
  wire  _T_674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282871.4]
  wire  _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282872.4]
  wire  _T_1435; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283696.4]
  wire  _T_1765; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284091.4]
  wire  _T_1766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284092.4]
  wire  _T_683; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282880.4]
  wire  _T_685; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282882.4]
  wire  _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282896.4]
  wire  _T_699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282899.4]
  wire  _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282900.4]
  wire  _T_708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282908.4]
  wire  _T_710; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282910.4]
  wire [1:0] _T_720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282923.4]
  wire [7:0] _T_723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282926.4]
  wire  _T_724; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282927.4]
  wire [7:0] _T_726; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282929.4]
  wire  _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282930.4]
  wire  _T_1440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283701.4]
  wire  _T_1795; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284129.4]
  wire  _T_1796; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284130.4]
  wire  _T_735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282938.4]
  wire [7:0] _T_737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282940.4]
  wire [7:0] _T_748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282954.4]
  wire [7:0] _T_751; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282957.4]
  wire  _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282958.4]
  wire  _T_760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282966.4]
  wire [7:0] _T_762; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282968.4]
  wire [15:0] _T_771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282980.4]
  wire [23:0] _T_772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282981.4]
  wire  _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283705.4]
  wire  _T_1819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284161.4]
  wire  _T_1820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284162.4]
  wire  _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282996.4]
  wire [3:0] _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283012.4]
  wire [3:0] _T_803; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283015.4]
  wire  _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283016.4]
  wire  _T_1450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283711.4]
  wire  _T_1855; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284215.4]
  wire  _T_1856; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284216.4]
  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283024.4]
  wire [3:0] _T_814; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283026.4]
  wire  _T_848; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283063.4]
  wire [1:0] _T_874; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283089.4]
  wire  _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283692.4]
  wire  _T_1741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284060.4]
  wire  _T_1742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284061.4]
  wire  _T_889; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283104.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283132.4]
  wire [1:0] _T_926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283147.4]
  wire [1:0] _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283150.4]
  wire [1:0] _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283153.4]
  wire  _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283154.4]
  wire  _T_1436; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283697.4]
  wire  _T_1771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284100.4]
  wire  _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284101.4]
  wire  _T_941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283162.4]
  wire [1:0] _T_943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283164.4]
  wire  _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283719.4]
  wire  _T_1903; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284273.4]
  wire  _T_1904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284274.4]
  wire  _T_966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283190.4]
  wire  _T_991; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283218.4]
  wire [1:0] _T_1003; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283233.4]
  wire  _T_1451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283712.4]
  wire  _T_1861; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284223.4]
  wire  _T_1862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284224.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283248.4]
  wire  _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283709.4]
  wire  _T_1843; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284195.4]
  wire  _T_1844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284196.4]
  wire  _T_1043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283276.4]
  wire  _T_1092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283327.4]
  wire  _T_1093; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283328.4]
  wire  _T_1094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283329.4]
  wire  _T_1098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283333.4]
  wire  _T_1099; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283334.4]
  wire  _T_1101; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@283336.4]
  wire  _T_1046; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@283279.4]
  wire [31:0] _T_1111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283347.4]
  wire  _T_1446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283707.4]
  wire  _T_1831; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284177.4]
  wire  _T_1832; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284178.4]
  wire  _T_1126; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283362.4]
  wire  _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283378.4]
  wire  _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283381.4]
  wire  _T_1143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283382.4]
  wire  _T_1151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283390.4]
  wire  _T_1153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283392.4]
  wire [2:0] _T_1163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283405.4]
  wire  _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283408.4]
  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283411.4]
  wire  _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283412.4]
  wire  _T_1178; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283420.4]
  wire  _T_1180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283422.4]
  wire [3:0] _T_1190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283435.4]
  wire [3:0] _T_1193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283438.4]
  wire [3:0] _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283441.4]
  wire  _T_1197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283442.4]
  wire  _T_1205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283450.4]
  wire [3:0] _T_1207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283452.4]
  wire [15:0] _T_1216; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283464.4]
  wire [19:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283465.4]
  wire  _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283702.4]
  wire  _T_1801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284138.4]
  wire  _T_1802; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284139.4]
  wire  _T_1232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283480.4]
  wire  _T_1257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283508.4]
  wire [15:0] _T_1268; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283522.4]
  wire [23:0] _T_1269; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283523.4]
  wire  _T_1449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283710.4]
  wire  _T_1613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283913.4]
  wire  _T_1614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283914.4]
  wire [7:0] _T_1295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283550.4]
  wire [8:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283576.4]
  wire [30:0] _T_1322; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283577.4]
  wire [31:0] _T_1348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283603.4]
  wire  _T_1434; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283695.4]
  wire  _T_1759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284083.4]
  wire  _T_1760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284084.4]
  wire  _T_1363; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283618.4]
  wire [4:0] _T_1376; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283634.4]
  wire [4:0] _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283637.4]
  wire  _T_1380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283638.4]
  wire  _T_1445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283706.4]
  wire  _T_1825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284169.4]
  wire  _T_1826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284170.4]
  wire  _T_1388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283646.4]
  wire [4:0] _T_1390; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283648.4]
  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  wire [31:0] _T_2488_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284972.4]
  wire [31:0] _T_2488_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284973.4]
  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284976.4]
  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284977.4]
  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284978.4]
  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284982.4]
  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284983.4]
  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284986.4]
  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284987.4]
  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284988.4]
  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284992.4]
  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284993.4]
  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@285000.4]
  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _T_2488_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@285001.4]
  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  TLBuffer_27 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.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@282627.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_80 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.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@282716.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_2 mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282720.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@282743.4]
  assign _T_411 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@282744.4]
  assign _T_415 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@282749.4]
  assign _T_416 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@282750.4]
  assign _T_108_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_424 = _T_108_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282754.4]
  assign _T_108_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_425 = _T_108_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@282756.4]
  assign _T_108_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_108_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_426 = {_T_108_a_bits_source,_T_108_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282760.4]
  assign _T_421_bits_index = _T_425[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282752.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282757.4]
  assign _T_442 = _T_421_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282768.4]
  assign _T_444 = _T_442 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282770.4]
  assign _T_108_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_616 = _T_108_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282810.4]
  assign _T_617 = _T_108_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282811.4]
  assign _T_618 = _T_108_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282812.4]
  assign _T_619 = _T_108_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282813.4]
  assign _T_621 = _T_616 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282815.4]
  assign _T_623 = _T_617 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282817.4]
  assign _T_625 = _T_618 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282819.4]
  assign _T_627 = _T_619 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282821.4]
  assign _T_628 = {_T_623,_T_621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282822.4]
  assign _T_629 = {_T_627,_T_625}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282823.4]
  assign _T_630 = {_T_629,_T_628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282824.4]
  assign _T_646 = _T_630[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282840.4]
  assign _T_649 = ~ _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282843.4]
  assign _T_650 = _T_649 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282844.4]
  assign _T_108_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_108_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_1419 = _T_421_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283680.4]
  assign _T_1418 = _T_421_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283679.4]
  assign _T_1426 = {_T_1419,_T_1418}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283687.4]
  assign _T_1417 = _T_421_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283678.4]
  assign _T_1427 = {_T_1426,_T_1417}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283688.4]
  assign _T_1416 = _T_421_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283677.4]
  assign _T_1415 = _T_421_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283676.4]
  assign _T_1425 = {_T_1416,_T_1415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283686.4]
  assign _T_1428 = {_T_1427,_T_1425}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283689.4]
  assign _T_1495 = _T_108_a_valid & _T_108_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283756.4]
  assign _T_1496 = _T_1495 & _T_424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283757.4]
  assign _T_1429 = 32'h1 << _T_1428; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@283690.4]
  assign _T_1430 = _T_1429[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283691.4]
  assign _T_1731 = _T_424 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284048.4]
  assign _T_1732 = _T_1495 & _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284049.4]
  assign _T_1735 = _T_1732 & _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284052.4]
  assign _T_1736 = _T_1735 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284053.4]
  assign _T_658 = _T_1736 & _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282852.4]
  assign _T_108_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282637.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign _T_660 = _T_108_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282854.4]
  assign _T_671 = _T_630[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282868.4]
  assign _T_674 = ~ _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282871.4]
  assign _T_675 = _T_674 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282872.4]
  assign _T_1435 = _T_1429[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283696.4]
  assign _T_1765 = _T_1732 & _T_1435; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284091.4]
  assign _T_1766 = _T_1765 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284092.4]
  assign _T_683 = _T_1766 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282880.4]
  assign _T_685 = _T_108_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282882.4]
  assign _T_696 = _T_630[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282896.4]
  assign _T_699 = ~ _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282899.4]
  assign _T_700 = _T_699 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282900.4]
  assign _T_708 = _T_1766 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282908.4]
  assign _T_710 = _T_108_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282910.4]
  assign _T_720 = {ctrl_cs_dflt_1,ctrl_cs_dflt_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282923.4]
  assign _T_723 = _T_630[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282926.4]
  assign _T_724 = _T_723 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282927.4]
  assign _T_726 = ~ _T_723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282929.4]
  assign _T_727 = _T_726 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282930.4]
  assign _T_1440 = _T_1429[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283701.4]
  assign _T_1795 = _T_1732 & _T_1440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284129.4]
  assign _T_1796 = _T_1795 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284130.4]
  assign _T_735 = _T_1796 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282938.4]
  assign _T_737 = _T_108_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282940.4]
  assign _T_748 = _T_630[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282954.4]
  assign _T_751 = ~ _T_748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282957.4]
  assign _T_752 = _T_751 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282958.4]
  assign _T_760 = _T_1796 & _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282966.4]
  assign _T_762 = _T_108_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282968.4]
  assign _T_771 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282980.4]
  assign _T_772 = {ctrl_dla_sckcs,_T_771}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282981.4]
  assign _T_1444 = _T_1429[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283705.4]
  assign _T_1819 = _T_1732 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284161.4]
  assign _T_1820 = _T_1819 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284162.4]
  assign _T_787 = _T_1820 & _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282996.4]
  assign _T_800 = _T_630[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283012.4]
  assign _T_803 = ~ _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283015.4]
  assign _T_804 = _T_803 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283016.4]
  assign _T_1450 = _T_1429[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283711.4]
  assign _T_1855 = _T_1732 & _T_1450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284215.4]
  assign _T_1856 = _T_1855 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284216.4]
  assign _T_812 = _T_1856 & _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283024.4]
  assign _T_814 = _T_108_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283026.4]
  assign _T_848 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283063.4]
  assign _T_874 = {fifo_io_ip_rxwm,_T_848}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283089.4]
  assign _T_1431 = _T_1429[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283692.4]
  assign _T_1741 = _T_1732 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284060.4]
  assign _T_1742 = _T_1741 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284061.4]
  assign _T_889 = _T_1742 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283104.4]
  assign _T_914 = _T_1742 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283132.4]
  assign _T_926 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283147.4]
  assign _T_929 = _T_630[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283150.4]
  assign _T_932 = ~ _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283153.4]
  assign _T_933 = _T_932 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283154.4]
  assign _T_1436 = _T_1429[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283697.4]
  assign _T_1771 = _T_1732 & _T_1436; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284100.4]
  assign _T_1772 = _T_1771 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284101.4]
  assign _T_941 = _T_1772 & _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283162.4]
  assign _T_943 = _T_108_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283164.4]
  assign _T_1458 = _T_1429[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283719.4]
  assign _T_1903 = _T_1732 & _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284273.4]
  assign _T_1904 = _T_1903 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284274.4]
  assign _T_966 = _T_1904 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283190.4]
  assign _T_991 = _T_1904 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283218.4]
  assign _T_1003 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283233.4]
  assign _T_1451 = _T_1429[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283712.4]
  assign _T_1861 = _T_1732 & _T_1451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284223.4]
  assign _T_1862 = _T_1861 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284224.4]
  assign _T_1018 = _T_1862 & _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283248.4]
  assign _T_1448 = _T_1429[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283709.4]
  assign _T_1843 = _T_1732 & _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284195.4]
  assign _T_1844 = _T_1843 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284196.4]
  assign _T_1043 = _T_1844 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283276.4]
  assign _T_1092 = _T_630[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283327.4]
  assign _T_1093 = ~ _T_1092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283328.4]
  assign _T_1094 = _T_1093 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283329.4]
  assign _T_1098 = _T_1844 & _T_1094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283333.4]
  assign _T_1099 = _T_108_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283334.4]
  assign _T_1101 = _T_1098 & _T_1099; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@283336.4]
  assign _T_1046 = _T_1101 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@283279.4]
  assign _T_1111 = {_T_415,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283347.4]
  assign _T_1446 = _T_1429[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283707.4]
  assign _T_1831 = _T_1732 & _T_1446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284177.4]
  assign _T_1832 = _T_1831 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284178.4]
  assign _T_1126 = _T_1832 & _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283362.4]
  assign _T_1139 = _T_630[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283378.4]
  assign _T_1142 = ~ _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283381.4]
  assign _T_1143 = _T_1142 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283382.4]
  assign _T_1151 = _T_1832 & _T_1143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283390.4]
  assign _T_1153 = _T_108_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283392.4]
  assign _T_1163 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283405.4]
  assign _T_1166 = _T_630[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283408.4]
  assign _T_1169 = ~ _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283411.4]
  assign _T_1170 = _T_1169 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283412.4]
  assign _T_1178 = _T_1832 & _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283420.4]
  assign _T_1180 = _T_108_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283422.4]
  assign _T_1190 = {ctrl_fmt_iodir,_T_1163}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283435.4]
  assign _T_1193 = _T_630[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283438.4]
  assign _T_1196 = ~ _T_1193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283441.4]
  assign _T_1197 = _T_1196 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283442.4]
  assign _T_1205 = _T_1832 & _T_1197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283450.4]
  assign _T_1207 = _T_108_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283452.4]
  assign _T_1216 = {{12'd0}, _T_1190}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283464.4]
  assign _T_1217 = {ctrl_fmt_len,_T_1216}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283465.4]
  assign _T_1441 = _T_1429[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283702.4]
  assign _T_1801 = _T_1732 & _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284138.4]
  assign _T_1802 = _T_1801 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284139.4]
  assign _T_1232 = _T_1802 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283480.4]
  assign _T_1257 = _T_1802 & _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283508.4]
  assign _T_1268 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283522.4]
  assign _T_1269 = {ctrl_dla_interxfr,_T_1268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283523.4]
  assign _T_1449 = _T_1429[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283710.4]
  assign _T_1613 = _T_1496 & _T_1449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283913.4]
  assign _T_1614 = _T_1613 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283914.4]
  assign _T_1295 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283550.4]
  assign _T_1321 = {1'h0,_T_1295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283576.4]
  assign _T_1322 = {{22'd0}, _T_1321}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283577.4]
  assign _T_1348 = {_T_416,_T_1322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283603.4]
  assign _T_1434 = _T_1429[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283695.4]
  assign _T_1759 = _T_1732 & _T_1434; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284083.4]
  assign _T_1760 = _T_1759 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284084.4]
  assign _T_1363 = _T_1760 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283618.4]
  assign _T_1376 = _T_630[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283634.4]
  assign _T_1379 = ~ _T_1376; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283637.4]
  assign _T_1380 = _T_1379 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283638.4]
  assign _T_1445 = _T_1429[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283706.4]
  assign _T_1825 = _T_1732 & _T_1445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284169.4]
  assign _T_1826 = _T_1825 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@284170.4]
  assign _T_1388 = _T_1826 & _T_1380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283646.4]
  assign _T_1390 = _T_108_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283648.4]
  assign _GEN_150 = 5'h1 == _T_1428 ? _T_444 : _T_444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_151 = 5'h2 == _T_1428 ? 1'h1 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_152 = 5'h3 == _T_1428 ? 1'h1 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_153 = 5'h4 == _T_1428 ? _T_444 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_154 = 5'h5 == _T_1428 ? _T_444 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_155 = 5'h6 == _T_1428 ? _T_444 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_156 = 5'h7 == _T_1428 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_157 = 5'h8 == _T_1428 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_158 = 5'h9 == _T_1428 ? 1'h1 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_159 = 5'ha == _T_1428 ? _T_444 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_160 = 5'hb == _T_1428 ? _T_444 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_161 = 5'hc == _T_1428 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_162 = 5'hd == _T_1428 ? 1'h1 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_163 = 5'he == _T_1428 ? _T_444 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_164 = 5'hf == _T_1428 ? _T_444 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_165 = 5'h10 == _T_1428 ? _T_444 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_166 = 5'h11 == _T_1428 ? 1'h1 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_167 = 5'h12 == _T_1428 ? _T_444 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_168 = 5'h13 == _T_1428 ? _T_444 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_169 = 5'h14 == _T_1428 ? _T_444 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_170 = 5'h15 == _T_1428 ? _T_444 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_171 = 5'h16 == _T_1428 ? 1'h1 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_172 = 5'h17 == _T_1428 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_173 = 5'h18 == _T_1428 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_174 = 5'h19 == _T_1428 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_175 = 5'h1a == _T_1428 ? 1'h1 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_176 = 5'h1b == _T_1428 ? 1'h1 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_177 = 5'h1c == _T_1428 ? _T_444 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_178 = 5'h1d == _T_1428 ? _T_444 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_179 = 5'h1e == _T_1428 ? 1'h1 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _GEN_180 = 5'h1f == _T_1428 ? 1'h1 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284968.4]
  assign _T_2488_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284972.4]
  assign _T_2488_1 = {{30'd0}, _T_926}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284973.4]
  assign _GEN_182 = 5'h1 == _T_1428 ? _T_2488_1 : _T_2488_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_183 = 5'h2 == _T_1428 ? 32'h0 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_184 = 5'h3 == _T_1428 ? 32'h0 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284976.4]
  assign _GEN_185 = 5'h4 == _T_1428 ? _T_2488_4 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_5 = {{30'd0}, _T_720}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284977.4]
  assign _GEN_186 = 5'h5 == _T_1428 ? _T_2488_5 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284978.4]
  assign _GEN_187 = 5'h6 == _T_1428 ? _T_2488_6 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_188 = 5'h7 == _T_1428 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_189 = 5'h8 == _T_1428 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_190 = 5'h9 == _T_1428 ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_10 = {{8'd0}, _T_772}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284982.4]
  assign _GEN_191 = 5'ha == _T_1428 ? _T_2488_10 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_11 = {{8'd0}, _T_1269}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284983.4]
  assign _GEN_192 = 5'hb == _T_1428 ? _T_2488_11 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_193 = 5'hc == _T_1428 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_194 = 5'hd == _T_1428 ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284986.4]
  assign _GEN_195 = 5'he == _T_1428 ? _T_2488_14 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284987.4]
  assign _GEN_196 = 5'hf == _T_1428 ? _T_2488_15 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_16 = {{12'd0}, _T_1217}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284988.4]
  assign _GEN_197 = 5'h10 == _T_1428 ? _T_2488_16 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_198 = 5'h11 == _T_1428 ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_199 = 5'h12 == _T_1428 ? _T_1111 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_200 = 5'h13 == _T_1428 ? _T_1348 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284992.4]
  assign _GEN_201 = 5'h14 == _T_1428 ? _T_2488_20 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284993.4]
  assign _GEN_202 = 5'h15 == _T_1428 ? _T_2488_21 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_203 = 5'h16 == _T_1428 ? 32'h0 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_204 = 5'h17 == _T_1428 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_205 = 5'h18 == _T_1428 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_206 = 5'h19 == _T_1428 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_207 = 5'h1a == _T_1428 ? 32'h0 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_208 = 5'h1b == _T_1428 ? 32'h0 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_28 = {{30'd0}, _T_1003}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@285000.4]
  assign _GEN_209 = 5'h1c == _T_1428 ? _T_2488_28 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _T_2488_29 = {{30'd0}, _T_874}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@284970.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@285001.4]
  assign _GEN_210 = 5'h1d == _T_1428 ? _T_2488_29 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_211 = 5'h1e == _T_1428 ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign _GEN_212 = 5'h1f == _T_1428 ? 32'h0 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@285004.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282692.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282691.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282691.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282691.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282691.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282691.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282691.4]
  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign auto_io_out_cs_1 = mac_io_port_cs_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282690.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282625.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282626.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282688.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_424}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign buffer_auto_out_d_bits_size = _T_426[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign buffer_auto_out_d_bits_source = _T_426[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign buffer_auto_out_d_bits_data = _GEN_180 ? _GEN_212 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282687.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282631.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282632.4]
  assign intsource_auto_in_0 = _T_410 | _T_411; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282686.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282641.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282642.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_424}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_d_bits_size = _T_426[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign TLMonitor_io_in_d_bits_source = _T_426[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282675.4]
  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282718.4]
  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282719.4]
  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282725.4]
  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282725.4]
  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282725.4]
  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282725.4]
  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282726.4]
  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282727.4]
  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282727.4]
  assign fifo_io_link_tx_ready = mac_io_link_tx_ready; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign fifo_io_link_rx_valid = mac_io_link_rx_valid; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign fifo_io_link_rx_bits = mac_io_link_rx_bits; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign fifo_io_tx_valid = _T_1043 & _T_1046; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@283281.4]
  assign fifo_io_tx_bits = _T_108_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@283282.4]
  assign fifo_io_rx_ready = _T_1614 & _T_724; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@283540.4]
  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282722.4]
  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282723.4]
  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282724.4]
  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282724.4]
  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282724.4]
  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282724.4]
  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282728.4]
  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282728.4]
  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282728.4]
  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282731.4]
  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282731.4]
  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282731.4]
  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282731.4]
  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282732.4]
  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282732.4]
  assign mac_io_ctrl_cs_dflt_1 = ctrl_cs_dflt_1; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282732.4]
  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282729.4]
  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282730.4]
  assign mac_io_link_tx_valid = fifo_io_link_tx_valid; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_tx_bits = fifo_io_link_tx_bits; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_cnt = fifo_io_link_cnt; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_cs_set = fifo_io_link_cs_set; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign mac_io_link_cs_clear = fifo_io_link_cs_clear; // @[TLSPI.scala 203:17:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.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 SynchronizerShiftReg_w32_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285048.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285049.4]
  input  [31:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285051.4]
  output [31:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285051.4]
);
  reg [31:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285056.4]
  reg [31:0] _RAND_0;
  reg [31:0] sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285057.4]
  reg [31:0] _RAND_1;
  reg [31:0] sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285058.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@285062.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@285064.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285065.4]
  input   auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  input   auto_int_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  output  auto_int_out_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
);
  wire  SynchronizerShiftReg_w32_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@285078.4]
  wire [31:0] SynchronizerShiftReg_w32_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@285078.4]
  wire [31:0] SynchronizerShiftReg_w32_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@285078.4]
  wire [1:0] _T_551; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285082.4]
  wire [1:0] _T_552; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285083.4]
  wire [3:0] _T_553; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285084.4]
  wire [1:0] _T_554; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285085.4]
  wire [1:0] _T_555; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285086.4]
  wire [3:0] _T_556; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285087.4]
  wire [7:0] _T_557; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285088.4]
  wire [1:0] _T_558; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285089.4]
  wire [1:0] _T_559; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285090.4]
  wire [3:0] _T_560; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285091.4]
  wire [1:0] _T_561; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285092.4]
  wire [1:0] _T_562; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285093.4]
  wire [3:0] _T_563; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285094.4]
  wire [7:0] _T_564; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285095.4]
  wire [15:0] _T_565; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285096.4]
  wire [1:0] _T_566; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285097.4]
  wire [1:0] _T_567; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285098.4]
  wire [3:0] _T_568; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  wire [1:0] _T_569; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285100.4]
  wire [1:0] _T_570; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285101.4]
  wire [3:0] _T_571; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285102.4]
  wire [7:0] _T_572; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285103.4]
  wire [1:0] _T_573; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285104.4]
  wire [1:0] _T_574; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285105.4]
  wire [3:0] _T_575; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285106.4]
  wire [1:0] _T_576; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285107.4]
  wire [1:0] _T_577; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285108.4]
  wire [3:0] _T_578; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285109.4]
  wire [7:0] _T_579; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285110.4]
  wire [15:0] _T_580; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285111.4]
  wire [31:0] _T_752; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285116.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@285118.4]
  SynchronizerShiftReg_w32_d3 SynchronizerShiftReg_w32_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@285078.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@285082.4]
  assign _T_552 = {auto_int_in_3,auto_int_in_2}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285083.4]
  assign _T_553 = {_T_552,_T_551}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285084.4]
  assign _T_554 = {auto_int_in_5,auto_int_in_4}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285085.4]
  assign _T_555 = {auto_int_in_7,auto_int_in_6}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285086.4]
  assign _T_556 = {_T_555,_T_554}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285087.4]
  assign _T_557 = {_T_556,_T_553}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285088.4]
  assign _T_558 = {auto_int_in_9,auto_int_in_8}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285089.4]
  assign _T_559 = {auto_int_in_11,auto_int_in_10}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285090.4]
  assign _T_560 = {_T_559,_T_558}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285091.4]
  assign _T_561 = {auto_int_in_13,auto_int_in_12}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285092.4]
  assign _T_562 = {auto_int_in_15,auto_int_in_14}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285093.4]
  assign _T_563 = {_T_562,_T_561}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285094.4]
  assign _T_564 = {_T_563,_T_560}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285095.4]
  assign _T_565 = {_T_564,_T_557}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285096.4]
  assign _T_566 = {auto_int_in_17,auto_int_in_16}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285097.4]
  assign _T_567 = {auto_int_in_19,auto_int_in_18}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285098.4]
  assign _T_568 = {_T_567,_T_566}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  assign _T_569 = {auto_int_in_21,auto_int_in_20}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285100.4]
  assign _T_570 = {auto_int_in_23,auto_int_in_22}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285101.4]
  assign _T_571 = {_T_570,_T_569}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285102.4]
  assign _T_572 = {_T_571,_T_568}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285103.4]
  assign _T_573 = {auto_int_in_25,auto_int_in_24}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285104.4]
  assign _T_574 = {auto_int_in_27,auto_int_in_26}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285105.4]
  assign _T_575 = {_T_574,_T_573}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285106.4]
  assign _T_576 = {auto_int_in_29,auto_int_in_28}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285107.4]
  assign _T_577 = {auto_int_in_31,auto_int_in_30}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285108.4]
  assign _T_578 = {_T_577,_T_576}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285109.4]
  assign _T_579 = {_T_578,_T_575}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285110.4]
  assign _T_580 = {_T_579,_T_572}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285111.4]
  assign _T_752 = SynchronizerShiftReg_w32_d3_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285116.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@285118.4]
  assign auto_int_out_0 = _T_752[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_1 = _T_752[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_2 = _T_752[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_3 = _T_752[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_4 = _T_752[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_5 = _T_752[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_6 = _T_752[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_7 = _T_752[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_8 = _T_752[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_9 = _T_752[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_10 = _T_752[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_11 = _T_752[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_12 = _T_752[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_13 = _T_752[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_14 = _T_752[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_15 = _T_752[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_16 = _T_752[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_17 = _T_752[17]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_18 = _T_752[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_19 = _T_752[19]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_20 = _T_752[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_21 = _T_752[21]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_22 = _T_752[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_23 = _T_752[23]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_24 = _T_752[24]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_25 = _T_752[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_26 = _T_752[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_27 = _T_752[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_28 = _T_752[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_29 = _T_752[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_30 = _T_752[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign auto_int_out_31 = _T_752[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285076.4]
  assign SynchronizerShiftReg_w32_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285080.4]
  assign SynchronizerShiftReg_w32_d3_io_d = {_T_580,_T_565}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285113.4]
endmodule
module TLMonitor_81( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285192.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285193.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285194.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@285195.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@286322.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@285222.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@285223.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@285224.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@285226.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285228.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@285229.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@285231.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@285232.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285233.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285234.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@285235.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285237.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285238.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285240.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285241.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285242.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285243.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@285244.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285245.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285246.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285247.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285248.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285249.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285250.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285251.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285252.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285253.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285254.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285256.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285257.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285258.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285259.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285282.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@285285.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285286.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@285287.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@285288.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@285289.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285294.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285315.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285316.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285322.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285323.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285328.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285330.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285331.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@285336.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285337.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285339.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285340.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@285345.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285347.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285348.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285354.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285408.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285410.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285434.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285437.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@285445.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285448.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285449.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285468.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285470.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285471.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285476.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285478.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285479.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285493.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285544.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@285586.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285587.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285588.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285590.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285591.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285597.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@285628.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285630.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285631.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285645.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@285676.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285678.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285679.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285693.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@285743.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@285745.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@285746.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285763.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285772.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285774.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285805.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285863.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286053.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286062.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286063.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286064.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286065.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286066.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286077.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286078.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286079.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286080.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286081.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286082.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286083.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286085.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286087.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286088.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286093.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286095.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286096.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286101.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286103.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286104.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286109.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286111.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286112.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286117.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286119.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286120.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286127.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286135.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286143.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286144.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286145.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286146.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286147.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286158.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286160.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286161.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286164.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286165.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286167.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286169.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286170.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286183.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286185.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286186.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286191.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286193.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286194.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286217.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286226.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286236.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286237.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286238.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286239.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286240.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286259.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286260.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286261.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286262.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286263.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286278.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286281.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@286283.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@286284.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286285.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286287.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286288.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@286280.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286299.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@286301.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@286302.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286304.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@286306.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@286307.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@286308.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286310.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286311.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@286303.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286317.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286318.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286319.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286321.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@286324.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286325.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286326.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286327.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286328.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@286329.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286331.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286332.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286338.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286342.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285296.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285368.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285451.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285510.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285561.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285611.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285659.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285707.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285777.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285818.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285876.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@286322.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@285222.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@285223.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@285224.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@285226.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285228.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@285229.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@285231.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@285232.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285233.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285234.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@285235.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285237.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285238.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285240.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285241.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285242.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@285243.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@285244.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285245.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285246.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285247.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285248.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285249.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285250.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285251.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285252.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285253.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285254.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@285256.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285257.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285258.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285259.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285282.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@285285.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@285286.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@285287.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@285288.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@285289.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285294.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285315.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285316.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285322.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285323.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285328.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285330.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285331.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@285336.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285337.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285339.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285340.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@285345.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285347.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285348.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285354.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285408.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285410.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285434.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285437.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@285445.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285448.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285449.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285468.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285470.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285471.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285476.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285478.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285479.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285493.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285544.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@285586.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@285587.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285588.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285590.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285591.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285597.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@285628.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285630.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285631.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285645.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@285676.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285678.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285679.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285693.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@285743.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@285745.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@285746.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285763.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@285772.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285774.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285805.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@285863.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286053.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286063.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286064.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286065.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286066.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286082.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286083.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286085.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286087.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286088.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286093.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286095.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286096.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286101.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286103.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286104.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286109.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286111.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286112.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286117.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286119.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286120.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286127.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286135.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286144.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286145.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286146.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286147.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@286164.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286165.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286167.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286169.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286170.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286183.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286185.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286186.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286191.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286193.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286194.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286217.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286237.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286238.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286239.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286240.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286260.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286261.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286262.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286263.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286278.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286281.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@286283.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@286284.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286285.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286287.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286288.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@286280.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286299.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@286301.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@286302.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286304.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@286306.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@286307.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@286308.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286310.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286311.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@286303.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286317.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286318.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286319.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@286324.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@286325.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286326.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286327.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286328.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@286329.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286331.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286332.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286338.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286342.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285296.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285368.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285451.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285510.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285561.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285611.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285659.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285707.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285777.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285818.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@285876.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@285207.8]
        end
    `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@285208.8]
        end
    `ifdef STOP_COND
      end
    `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@285279.8]
        end
    `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@285280.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@285296.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@285297.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@285303.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@285304.10]
        end
    `ifdef STOP_COND
      end
    `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@285310.10]
        end
    `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@285311.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@285318.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@285319.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@285325.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@285326.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@285333.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@285334.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@285342.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@285343.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@285350.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@285351.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@285368.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@285369.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@285375.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@285376.10]
        end
    `ifdef STOP_COND
      end
    `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@285382.10]
        end
    `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@285383.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@285390.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@285391.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@285397.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@285398.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@285405.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@285406.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@285413.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@285414.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@285422.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@285423.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@285430.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@285431.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@285451.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@285452.10]
        end
    `ifdef STOP_COND
      end
    `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@285458.10]
        end
    `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@285459.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@285465.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@285466.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@285473.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@285474.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@285481.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@285482.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@285489.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@285490.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@285510.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@285511.10]
        end
    `ifdef STOP_COND
      end
    `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@285517.10]
        end
    `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@285518.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@285524.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@285525.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@285532.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@285533.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@285540.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@285541.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@285561.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@285562.10]
        end
    `ifdef STOP_COND
      end
    `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@285568.10]
        end
    `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@285569.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@285575.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@285576.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@285583.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@285584.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@285593.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@285594.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@285611.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@285612.10]
        end
    `ifdef STOP_COND
      end
    `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@285618.10]
        end
    `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@285619.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@285625.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@285626.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@285633.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@285634.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@285641.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@285642.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@285659.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@285660.10]
        end
    `ifdef STOP_COND
      end
    `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@285666.10]
        end
    `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@285667.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@285673.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@285674.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@285681.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@285682.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@285689.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@285690.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@285707.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@285708.10]
        end
    `ifdef STOP_COND
      end
    `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@285714.10]
        end
    `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@285715.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@285721.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@285722.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@285729.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@285730.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@285737.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@285738.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@285748.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@285749.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285769.10]
        end
    `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@285770.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@285777.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@285778.10]
        end
    `ifdef STOP_COND
      end
    `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@285785.10]
        end
    `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@285786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285793.10]
        end
    `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@285794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285801.10]
        end
    `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@285802.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285811.10]
        end
    `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@285812.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@285818.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@285819.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@285826.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@285827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285834.10]
        end
    `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@285835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285842.10]
        end
    `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@285843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285850.10]
        end
    `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@285851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285859.10]
        end
    `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@285860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285869.10]
        end
    `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@285870.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@285876.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@285877.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@285884.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@285885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285892.10]
        end
    `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@285893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285900.10]
        end
    `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@285901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@285909.10]
        end
    `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@285910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@285918.10]
        end
    `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@285919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285928.10]
        end
    `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@285929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285936.10]
        end
    `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@285937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285944.10]
        end
    `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@285945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@285953.10]
        end
    `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@285954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285963.10]
        end
    `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@285964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285971.10]
        end
    `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@285972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@285980.10]
        end
    `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@285981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@285989.10]
        end
    `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@285990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@285999.10]
        end
    `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@286000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@286007.10]
        end
    `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@286008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@286015.10]
        end
    `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@286016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@286024.10]
        end
    `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@286025.10]
        end
    `ifdef STOP_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@286034.6]
        end
    `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@286035.6]
        end
    `ifdef STOP_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@286042.6]
        end
    `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@286043.6]
        end
    `ifdef STOP_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@286050.6]
        end
    `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@286051.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@286090.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@286091.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@286098.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@286099.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@286106.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@286107.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@286114.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@286115.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@286122.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@286123.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@286172.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@286173.8]
        end
    `ifdef STOP_COND
      end
    `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@286180.8]
        end
    `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@286181.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@286188.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@286189.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@286196.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@286197.8]
        end
    `ifdef STOP_COND
      end
    `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@286204.8]
        end
    `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@286205.8]
        end
    `ifdef STOP_COND
      end
    `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@286212.8]
        end
    `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@286213.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@286290.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@286291.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@286313.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@286314.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@286334.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@286335.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_28( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286347.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286348.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286349.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286350.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.4]
  TLMonitor_81 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286357.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@286397.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286397.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286397.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286397.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286397.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286397.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286396.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286359.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286360.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@286393.4]
endmodule
module IntSyncCrossingSource_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287120.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287121.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287122.4]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  input   auto_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
  output  auto_out_sync_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.4]
);
  wire  AsyncResetRegVec_w32_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287165.4]
  wire  AsyncResetRegVec_w32_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287165.4]
  wire [31:0] AsyncResetRegVec_w32_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287165.4]
  wire [31:0] AsyncResetRegVec_w32_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287165.4]
  wire  AsyncResetRegVec_w32_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287165.4]
  wire [1:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287134.4]
  wire [1:0] _T_390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287135.4]
  wire [3:0] _T_391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287136.4]
  wire [1:0] _T_392; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287137.4]
  wire [1:0] _T_393; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287138.4]
  wire [3:0] _T_394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287139.4]
  wire [7:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287140.4]
  wire [1:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287141.4]
  wire [1:0] _T_397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287142.4]
  wire [3:0] _T_398; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287143.4]
  wire [1:0] _T_399; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287144.4]
  wire [1:0] _T_400; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287145.4]
  wire [3:0] _T_401; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287146.4]
  wire [7:0] _T_402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287147.4]
  wire [15:0] _T_403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287148.4]
  wire [1:0] _T_404; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287149.4]
  wire [1:0] _T_405; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287150.4]
  wire [3:0] _T_406; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287151.4]
  wire [1:0] _T_407; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287152.4]
  wire [1:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287153.4]
  wire [3:0] _T_409; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287154.4]
  wire [7:0] _T_410; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287155.4]
  wire [1:0] _T_411; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287156.4]
  wire [1:0] _T_412; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287157.4]
  wire [3:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287158.4]
  wire [1:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287159.4]
  wire [1:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287160.4]
  wire [3:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287161.4]
  wire [7:0] _T_417; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287162.4]
  wire [15:0] _T_418; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287163.4]
  AsyncResetRegVec_w32_i0 AsyncResetRegVec_w32_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287165.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@287134.4]
  assign _T_390 = {auto_in_3,auto_in_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287135.4]
  assign _T_391 = {_T_390,_T_389}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287136.4]
  assign _T_392 = {auto_in_5,auto_in_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287137.4]
  assign _T_393 = {auto_in_7,auto_in_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287138.4]
  assign _T_394 = {_T_393,_T_392}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287139.4]
  assign _T_395 = {_T_394,_T_391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287140.4]
  assign _T_396 = {auto_in_9,auto_in_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287141.4]
  assign _T_397 = {auto_in_11,auto_in_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287142.4]
  assign _T_398 = {_T_397,_T_396}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287143.4]
  assign _T_399 = {auto_in_13,auto_in_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287144.4]
  assign _T_400 = {auto_in_15,auto_in_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287145.4]
  assign _T_401 = {_T_400,_T_399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287146.4]
  assign _T_402 = {_T_401,_T_398}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287147.4]
  assign _T_403 = {_T_402,_T_395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287148.4]
  assign _T_404 = {auto_in_17,auto_in_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287149.4]
  assign _T_405 = {auto_in_19,auto_in_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287150.4]
  assign _T_406 = {_T_405,_T_404}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287151.4]
  assign _T_407 = {auto_in_21,auto_in_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287152.4]
  assign _T_408 = {auto_in_23,auto_in_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287153.4]
  assign _T_409 = {_T_408,_T_407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287154.4]
  assign _T_410 = {_T_409,_T_406}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287155.4]
  assign _T_411 = {auto_in_25,auto_in_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287156.4]
  assign _T_412 = {auto_in_27,auto_in_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287157.4]
  assign _T_413 = {_T_412,_T_411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287158.4]
  assign _T_414 = {auto_in_29,auto_in_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287159.4]
  assign _T_415 = {auto_in_31,auto_in_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287160.4]
  assign _T_416 = {_T_415,_T_414}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287161.4]
  assign _T_417 = {_T_416,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287162.4]
  assign _T_418 = {_T_417,_T_410}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287163.4]
  assign auto_out_sync_0 = AsyncResetRegVec_w32_i0_io_q[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_1 = AsyncResetRegVec_w32_i0_io_q[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_2 = AsyncResetRegVec_w32_i0_io_q[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_3 = AsyncResetRegVec_w32_i0_io_q[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_4 = AsyncResetRegVec_w32_i0_io_q[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_5 = AsyncResetRegVec_w32_i0_io_q[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_6 = AsyncResetRegVec_w32_i0_io_q[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_7 = AsyncResetRegVec_w32_i0_io_q[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_8 = AsyncResetRegVec_w32_i0_io_q[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_9 = AsyncResetRegVec_w32_i0_io_q[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_10 = AsyncResetRegVec_w32_i0_io_q[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_11 = AsyncResetRegVec_w32_i0_io_q[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_12 = AsyncResetRegVec_w32_i0_io_q[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_13 = AsyncResetRegVec_w32_i0_io_q[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_14 = AsyncResetRegVec_w32_i0_io_q[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_15 = AsyncResetRegVec_w32_i0_io_q[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_16 = AsyncResetRegVec_w32_i0_io_q[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_17 = AsyncResetRegVec_w32_i0_io_q[17]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_18 = AsyncResetRegVec_w32_i0_io_q[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_19 = AsyncResetRegVec_w32_i0_io_q[19]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_20 = AsyncResetRegVec_w32_i0_io_q[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_21 = AsyncResetRegVec_w32_i0_io_q[21]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_22 = AsyncResetRegVec_w32_i0_io_q[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_23 = AsyncResetRegVec_w32_i0_io_q[23]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_24 = AsyncResetRegVec_w32_i0_io_q[24]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_25 = AsyncResetRegVec_w32_i0_io_q[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_26 = AsyncResetRegVec_w32_i0_io_q[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_27 = AsyncResetRegVec_w32_i0_io_q[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_28 = AsyncResetRegVec_w32_i0_io_q[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_29 = AsyncResetRegVec_w32_i0_io_q[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_30 = AsyncResetRegVec_w32_i0_io_q[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign auto_out_sync_31 = AsyncResetRegVec_w32_i0_io_q[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287132.4]
  assign AsyncResetRegVec_w32_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287167.4]
  assign AsyncResetRegVec_w32_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287168.4]
  assign AsyncResetRegVec_w32_i0_io_d = {_T_418,_T_403}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287169.4]
  assign AsyncResetRegVec_w32_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287170.4]
endmodule
module TLMonitor_82( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287243.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287244.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287245.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287246.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@288373.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@287273.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@287274.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@287275.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287276.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287276.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287277.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287279.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287280.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@287282.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287283.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287284.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287285.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287286.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287288.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287289.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287291.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287292.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287293.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287294.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287295.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287296.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287297.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287298.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287299.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287300.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287301.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287302.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287303.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287304.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287305.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287306.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287307.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287308.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287309.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287310.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287333.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287336.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287337.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287338.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287339.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@287340.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287345.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287366.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287367.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287373.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287374.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287379.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287381.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287382.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287387.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287388.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287390.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287391.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287396.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287398.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287399.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287405.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287459.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287461.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287462.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287485.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@287488.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@287496.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287499.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287500.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287519.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287521.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287522.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287527.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287529.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287530.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287544.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287595.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@287637.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287638.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@287639.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287641.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287642.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287648.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@287679.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287681.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287682.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287696.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@287727.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287729.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287730.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287744.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287794.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287796.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287797.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287814.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287823.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287825.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287856.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287914.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288104.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288113.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288114.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288115.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288116.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288117.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288128.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288129.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288130.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288131.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288132.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288133.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288134.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288136.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288138.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288139.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288144.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288146.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288147.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288152.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288154.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288155.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288160.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288162.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288163.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288168.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288170.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288171.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288178.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288186.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288194.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288195.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288196.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288197.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288198.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288209.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288211.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288212.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288215.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288216.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288218.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288220.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288221.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288234.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288236.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288242.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288244.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288245.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288268.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288277.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288287.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288288.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288289.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288290.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288291.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288310.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288311.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288312.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288313.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288314.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288329.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288332.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288334.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288335.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288336.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288338.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288339.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288331.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288350.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@288352.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288353.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288355.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@288357.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288358.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288359.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288361.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288362.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@288354.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288368.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@288369.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288370.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288372.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288375.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288376.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288377.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288378.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@288379.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@288380.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288382.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288383.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@288389.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288393.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287347.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287419.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287502.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287561.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287612.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287662.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287710.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287758.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287828.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287869.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287927.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@288373.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@287273.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@287274.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@287275.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287276.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287276.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287277.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287279.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287280.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@287282.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287283.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287284.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287285.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287286.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287288.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287289.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287291.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287292.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287293.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287294.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287295.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287296.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287297.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287298.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287299.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287300.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287301.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287302.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287303.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287304.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287305.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287306.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287307.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287308.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287309.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287310.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287333.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287336.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287337.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287338.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287339.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@287340.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287345.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287366.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287367.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287373.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287374.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287379.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287381.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287382.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287387.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287388.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287390.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287391.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287396.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287398.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287399.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287405.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287459.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287461.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287462.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287485.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@287488.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@287496.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287499.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287500.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287519.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287521.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287522.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287527.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287529.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287530.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287544.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287595.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@287637.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287638.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@287639.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287641.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287642.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287648.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@287679.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287681.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287682.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287696.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@287727.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287729.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287730.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287744.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287794.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287796.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287797.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287814.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287823.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287825.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287856.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287914.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288104.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288114.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288115.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288116.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288117.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288133.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288134.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288136.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288138.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288139.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288144.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288146.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288147.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288152.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288154.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288155.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288160.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288162.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288163.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288168.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288170.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288171.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288178.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288186.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288195.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288196.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288197.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288198.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288215.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288216.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288218.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288220.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288221.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288234.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288236.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288242.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288244.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288245.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288268.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288288.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288289.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288290.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288291.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288311.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288312.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288313.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288314.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288329.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288332.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288334.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288335.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288336.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288338.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288339.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288331.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288350.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@288352.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288353.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288355.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@288357.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288358.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288359.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288361.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288362.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@288354.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288368.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@288369.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288370.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288375.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288376.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288377.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288378.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@288379.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@288380.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288382.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288383.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@288389.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288393.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287347.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287419.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287502.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287561.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287612.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287662.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287710.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287758.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287828.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287869.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287927.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@287258.8]
        end
    `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@287259.8]
        end
    `ifdef STOP_COND
      end
    `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@287330.8]
        end
    `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@287331.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@287347.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@287348.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@287354.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@287355.10]
        end
    `ifdef STOP_COND
      end
    `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@287361.10]
        end
    `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@287362.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@287369.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@287370.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@287376.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@287377.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@287384.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@287385.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@287393.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@287394.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@287401.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@287402.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@287419.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@287420.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@287426.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@287427.10]
        end
    `ifdef STOP_COND
      end
    `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@287433.10]
        end
    `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@287434.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@287441.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@287442.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@287448.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@287449.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@287456.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@287457.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@287464.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@287465.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@287473.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@287474.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@287481.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@287482.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@287502.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@287503.10]
        end
    `ifdef STOP_COND
      end
    `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@287509.10]
        end
    `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@287510.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@287516.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@287517.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@287524.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@287525.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@287532.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@287533.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@287540.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@287541.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@287561.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@287562.10]
        end
    `ifdef STOP_COND
      end
    `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@287568.10]
        end
    `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@287569.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@287575.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@287576.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@287583.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@287584.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@287591.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@287592.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@287612.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@287613.10]
        end
    `ifdef STOP_COND
      end
    `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@287619.10]
        end
    `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@287620.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@287626.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@287627.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@287634.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@287635.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@287644.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@287645.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@287662.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@287663.10]
        end
    `ifdef STOP_COND
      end
    `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@287669.10]
        end
    `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@287670.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@287676.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@287677.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@287684.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@287685.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@287692.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@287693.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@287710.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@287711.10]
        end
    `ifdef STOP_COND
      end
    `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@287717.10]
        end
    `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@287718.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@287724.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@287725.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@287732.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@287733.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@287740.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@287741.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@287758.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@287759.10]
        end
    `ifdef STOP_COND
      end
    `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@287765.10]
        end
    `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@287766.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@287772.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@287773.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@287780.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@287781.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@287788.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@287789.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@287799.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@287800.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@287820.10]
        end
    `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@287821.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@287828.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@287829.10]
        end
    `ifdef STOP_COND
      end
    `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@287836.10]
        end
    `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@287837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@287844.10]
        end
    `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@287845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@287852.10]
        end
    `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@287853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287862.10]
        end
    `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@287863.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@287869.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@287870.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@287877.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@287878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287885.10]
        end
    `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@287886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287893.10]
        end
    `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@287894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287901.10]
        end
    `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@287902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287910.10]
        end
    `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@287911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287920.10]
        end
    `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@287921.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@287927.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@287928.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@287935.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@287936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287943.10]
        end
    `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@287944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287951.10]
        end
    `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@287952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@287960.10]
        end
    `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@287961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@287969.10]
        end
    `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@287970.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@287979.10]
        end
    `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@287980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@287987.10]
        end
    `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@287988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@287995.10]
        end
    `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@287996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@288004.10]
        end
    `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@288005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@288014.10]
        end
    `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@288015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@288022.10]
        end
    `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@288023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@288031.10]
        end
    `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@288032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@288040.10]
        end
    `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@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: '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@288050.10]
        end
    `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@288051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@288058.10]
        end
    `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@288059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@288066.10]
        end
    `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@288067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@288075.10]
        end
    `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@288076.10]
        end
    `ifdef STOP_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@288085.6]
        end
    `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@288086.6]
        end
    `ifdef STOP_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@288093.6]
        end
    `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@288094.6]
        end
    `ifdef STOP_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@288101.6]
        end
    `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@288102.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@288141.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@288142.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@288149.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@288150.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@288157.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@288158.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@288165.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@288166.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@288173.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@288174.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@288223.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@288224.8]
        end
    `ifdef STOP_COND
      end
    `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@288231.8]
        end
    `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@288232.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@288239.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@288240.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@288247.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@288248.8]
        end
    `ifdef STOP_COND
      end
    `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@288255.8]
        end
    `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@288256.8]
        end
    `ifdef STOP_COND
      end
    `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@288263.8]
        end
    `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@288264.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@288341.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@288342.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@288364.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@288365.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@288385.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@288386.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLGPIO( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291266.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291267.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291268.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_int_xing_out_sync_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_25_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_25_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_25_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_26_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_26_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_26_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_27_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_27_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_27_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_28_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_28_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_28_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_29_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_29_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_29_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_30_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_30_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_30_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_pins_31_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_31_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_pins_31_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  output        auto_io_out_iof_0_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
  input         auto_io_out_iof_0_24_o_oval // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291269.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_2; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_3; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_4; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_5; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_6; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_7; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_8; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_9; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_10; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_11; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_12; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_13; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_14; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_15; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_16; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_17; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_18; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_19; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_20; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_21; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_22; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_23; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_24; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_25; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_26; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_27; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_28; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_29; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_30; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_in_31; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_4; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_5; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_6; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_7; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_8; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_9; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_10; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_11; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_12; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_13; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_14; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_15; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_16; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_17; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_18; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_19; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_20; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_21; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_22; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_23; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_24; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_25; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_26; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_27; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_28; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_29; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_30; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  intsource_auto_out_sync_31; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.4]
  wire  oeReg_clock; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  wire  oeReg_reset; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  wire [31:0] oeReg_io_d; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  wire [31:0] oeReg_io_q; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  wire  oeReg_io_en; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  wire  pueReg_clock; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291351.4]
  wire  pueReg_reset; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291351.4]
  wire [31:0] pueReg_io_d; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291351.4]
  wire [31:0] pueReg_io_q; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291351.4]
  wire  pueReg_io_en; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291351.4]
  wire  ieReg_clock; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291356.4]
  wire  ieReg_reset; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291356.4]
  wire [31:0] ieReg_io_d; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291356.4]
  wire [31:0] ieReg_io_q; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291356.4]
  wire  ieReg_io_en; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291356.4]
  wire  inSyncReg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
  wire [31:0] inSyncReg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
  wire [31:0] inSyncReg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
  wire  iofEnReg_clock; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291446.4]
  wire  iofEnReg_reset; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291446.4]
  wire [31:0] iofEnReg_io_d; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291446.4]
  wire [31:0] iofEnReg_io_q; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291446.4]
  wire  iofEnReg_io_en; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291446.4]
  reg [31:0] portReg; // @[GPIO.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291346.4]
  reg [31:0] _RAND_0;
  reg [31:0] dsReg; // @[GPIO.scala 62:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291355.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_3062; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291396.4]
  wire [1:0] _T_3063; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291397.4]
  wire [3:0] _T_3064; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291398.4]
  wire [1:0] _T_3065; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291399.4]
  wire [1:0] _T_3066; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291400.4]
  wire [3:0] _T_3067; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291401.4]
  wire [7:0] _T_3068; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291402.4]
  wire [1:0] _T_3069; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291403.4]
  wire [1:0] _T_3070; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291404.4]
  wire [3:0] _T_3071; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291405.4]
  wire [1:0] _T_3072; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291406.4]
  wire [1:0] _T_3073; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291407.4]
  wire [3:0] _T_3074; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291408.4]
  wire [7:0] _T_3075; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291409.4]
  wire [15:0] _T_3076; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291410.4]
  wire [1:0] _T_3077; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291411.4]
  wire [1:0] _T_3078; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291412.4]
  wire [3:0] _T_3079; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291413.4]
  wire [1:0] _T_3080; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291414.4]
  wire [1:0] _T_3081; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291415.4]
  wire [3:0] _T_3082; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291416.4]
  wire [7:0] _T_3083; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291417.4]
  wire [1:0] _T_3084; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291418.4]
  wire [1:0] _T_3085; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291419.4]
  wire [3:0] _T_3086; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291420.4]
  wire [1:0] _T_3087; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291421.4]
  wire [1:0] _T_3088; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291422.4]
  wire [3:0] _T_3089; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291423.4]
  wire [7:0] _T_3090; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291424.4]
  wire [15:0] _T_3091; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291425.4]
  reg [31:0] valueReg; // @[GPIO.scala 69:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291436.4]
  reg [31:0] _RAND_2;
  reg [31:0] highIeReg; // @[GPIO.scala 72:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291438.4]
  reg [31:0] _RAND_3;
  reg [31:0] lowIeReg; // @[GPIO.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291439.4]
  reg [31:0] _RAND_4;
  reg [31:0] riseIeReg; // @[GPIO.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291440.4]
  reg [31:0] _RAND_5;
  reg [31:0] fallIeReg; // @[GPIO.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291441.4]
  reg [31:0] _RAND_6;
  reg [31:0] highIpReg; // @[GPIO.scala 76:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291442.4]
  reg [31:0] _RAND_7;
  reg [31:0] lowIpReg; // @[GPIO.scala 77:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291443.4]
  reg [31:0] _RAND_8;
  reg [31:0] riseIpReg; // @[GPIO.scala 78:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291444.4]
  reg [31:0] _RAND_9;
  reg [31:0] fallIpReg; // @[GPIO.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291445.4]
  reg [31:0] _RAND_10;
  reg [31:0] iofSelReg; // @[GPIO.scala 83:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291450.4]
  reg [31:0] _RAND_11;
  reg [31:0] xorReg; // @[GPIO.scala 86:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291451.4]
  reg [31:0] _RAND_12;
  wire [31:0] _T_3105; // @[GPIO.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291452.4]
  wire [31:0] inSyncReg_1; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291433.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291435.4]
  wire [31:0] rise; // @[GPIO.scala 92:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291453.4]
  wire [31:0] _T_3106; // @[GPIO.scala 93:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291454.4]
  wire [31:0] fall; // @[GPIO.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291455.4]
  wire [2:0] _T_1699_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire  _T_3115; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291459.4]
  wire [28:0] _T_1699_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire [26:0] _T_3116; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@291461.4]
  wire [5:0] _T_1699_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire [1:0] _T_1699_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire [7:0] _T_3117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291465.4]
  wire [9:0] _T_3112_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@291457.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291462.4]
  wire [9:0] _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291473.4]
  wire  _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291475.4]
  wire [3:0] _T_1699_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire  _T_3261; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291517.4]
  wire  _T_3262; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291518.4]
  wire  _T_3263; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291519.4]
  wire  _T_3264; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291520.4]
  wire [7:0] _T_3266; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291522.4]
  wire [7:0] _T_3268; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291524.4]
  wire [7:0] _T_3270; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291526.4]
  wire [7:0] _T_3272; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291528.4]
  wire [15:0] _T_3273; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291529.4]
  wire [15:0] _T_3274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291530.4]
  wire [31:0] _T_3275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291531.4]
  wire [31:0] _T_3294; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291550.4]
  wire  _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291551.4]
  wire  _T_1699_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire  _T_1699_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire  _T_3754; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292046.4]
  wire  _T_3753; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.4]
  wire [1:0] _T_3761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292053.4]
  wire  _T_3752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292044.4]
  wire [2:0] _T_3762; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292054.4]
  wire  _T_3751; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292043.4]
  wire  _T_3750; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292042.4]
  wire [1:0] _T_3760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292052.4]
  wire [4:0] _T_3763; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292055.4]
  wire  _T_3830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292122.4]
  wire [31:0] _T_3764; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292056.4]
  wire  _T_4066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292402.4]
  wire  _T_4067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292403.4]
  wire [31:0] _T_1699_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  wire  _T_3770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292062.4]
  wire  _T_4100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292446.4]
  wire  _T_4101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292447.4]
  wire  _T_3328; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291584.4]
  wire  _T_3775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292067.4]
  wire  _T_4130; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292486.4]
  wire  _T_4131; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292487.4]
  wire  _T_3353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291612.4]
  wire  _T_3779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292071.4]
  wire  _T_4154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292518.4]
  wire  _T_4155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292519.4]
  wire [31:0] _T_3389; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291653.4]
  wire  _T_3766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292058.4]
  wire  _T_4076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292414.4]
  wire  _T_4077; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292415.4]
  wire [31:0] _T_3414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291680.4]
  wire  _T_3771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292063.4]
  wire  _T_4106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292454.4]
  wire  _T_4107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292455.4]
  wire  _T_3428; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291694.4]
  wire  _T_3774; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292066.4]
  wire  _T_4124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292478.4]
  wire  _T_4125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292479.4]
  wire  _T_3453; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291722.4]
  wire [31:0] _T_3456; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291725.4]
  wire [31:0] _T_3457; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291726.4]
  wire [31:0] _T_3458; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291727.4]
  wire [31:0] _T_3459; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291728.4]
  wire [31:0] _T_3460; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291729.4]
  wire  _T_3778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292070.4]
  wire  _T_4148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292510.4]
  wire  _T_4149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292511.4]
  wire  _T_3483; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291753.4]
  wire [31:0] _T_3486; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291756.4]
  wire [31:0] _T_3487; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291757.4]
  wire [31:0] _T_3488; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291758.4]
  wire [31:0] _T_3489; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291759.4]
  wire [31:0] _T_3490; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291760.4]
  wire  _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292059.4]
  wire  _T_4082; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292422.4]
  wire  _T_4083; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292423.4]
  wire [31:0] _T_3524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291797.4]
  wire  _T_3777; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292069.4]
  wire  _T_4142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292502.4]
  wire  _T_4143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292503.4]
  wire  _T_3538; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291811.4]
  wire  _T_3772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292064.4]
  wire  _T_4112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292462.4]
  wire  _T_4113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292463.4]
  wire  _T_3563; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291839.4]
  wire [31:0] _T_3566; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291842.4]
  wire [31:0] _T_3567; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291843.4]
  wire [31:0] _T_3568; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291844.4]
  wire [31:0] _T_3569; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291845.4]
  wire [31:0] _T_3570; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291846.4]
  wire  _T_3768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292060.4]
  wire  _T_4088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292430.4]
  wire  _T_4089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292431.4]
  wire  _T_3593; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291870.4]
  wire  _T_3781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292073.4]
  wire  _T_4166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292534.4]
  wire  _T_4167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292535.4]
  wire  _T_3618; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291898.4]
  wire  _T_3776; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292068.4]
  wire  _T_4136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292494.4]
  wire  _T_4137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292495.4]
  wire  _T_3643; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291926.4]
  wire [31:0] _T_3646; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291929.4]
  wire [31:0] _T_3647; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291930.4]
  wire [31:0] _T_3648; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291931.4]
  wire [31:0] _T_3649; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291932.4]
  wire [31:0] _T_3650; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291933.4]
  wire  _T_3773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292065.4]
  wire  _T_4118; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292470.4]
  wire  _T_4119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292471.4]
  wire  _T_3673; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291957.4]
  wire  _T_3769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292061.4]
  wire  _T_4094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292438.4]
  wire  _T_4095; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292439.4]
  wire [31:0] _T_3709; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291998.4]
  wire  _T_3780; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292072.4]
  wire  _T_4160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292526.4]
  wire  _T_4161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292527.4]
  wire  _T_3723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292012.4]
  wire  _GEN_137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  wire [31:0] _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  wire  swPinCtrl_0_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293361.4]
  wire  swPinCtrl_0_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293363.4]
  wire  swPinCtrl_0_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293367.4]
  wire  _T_5058; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293379.4]
  wire  iofCtrl_0_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293380.4]
  wire  iofCtrl_0_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293380.4]
  wire  iofCtrl_0_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293380.4]
  wire  _T_5060; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293384.4]
  wire  _T_5061_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293385.4]
  wire  _T_5062; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293388.4]
  wire  _T_5064; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293391.4]
  wire  _T_5065; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293392.4]
  wire  _T_5066; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293393.4]
  wire  _T_5067; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293394.4]
  wire  _T_5068; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293395.4]
  wire  _T_5069; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293396.4]
  wire  _T_5070; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293397.4]
  wire  _T_5071; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293398.4]
  wire  _T_5072; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293399.4]
  wire  _T_5073; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293400.4]
  wire  _T_5074; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293401.4]
  wire  _T_5075; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293402.4]
  wire  _T_5076; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293403.4]
  wire  _T_5077; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293404.4]
  wire  swPinCtrl_1_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293413.4]
  wire  swPinCtrl_1_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293415.4]
  wire  swPinCtrl_1_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293419.4]
  wire  _T_5088; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293431.4]
  wire  iofCtrl_1_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293432.4]
  wire  iofCtrl_1_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293432.4]
  wire  iofCtrl_1_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293432.4]
  wire  _T_5090; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293436.4]
  wire  _T_5091_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293437.4]
  wire  _T_5092; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293440.4]
  wire  _T_5094; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293443.4]
  wire  _T_5095; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293444.4]
  wire  _T_5096; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293445.4]
  wire  _T_5097; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293446.4]
  wire  _T_5098; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293447.4]
  wire  _T_5099; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293448.4]
  wire  _T_5100; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293449.4]
  wire  _T_5101; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293450.4]
  wire  _T_5102; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293451.4]
  wire  _T_5103; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293452.4]
  wire  _T_5104; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293453.4]
  wire  _T_5105; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293454.4]
  wire  _T_5106; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293455.4]
  wire  _T_5107; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293456.4]
  wire  swPinCtrl_2_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293465.4]
  wire  swPinCtrl_2_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293467.4]
  wire  swPinCtrl_2_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293471.4]
  wire  _T_5118; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293483.4]
  wire  iofCtrl_2_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293484.4]
  wire  iofCtrl_2_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293484.4]
  wire  iofCtrl_2_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293484.4]
  wire  _T_5120; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293488.4]
  wire  _T_5121_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293489.4]
  wire  _T_5122; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293492.4]
  wire  _T_5124; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293495.4]
  wire  _T_5125; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293496.4]
  wire  _T_5126; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293497.4]
  wire  _T_5127; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293498.4]
  wire  _T_5128; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293499.4]
  wire  _T_5129; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293500.4]
  wire  _T_5130; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293501.4]
  wire  _T_5131; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293502.4]
  wire  _T_5132; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293503.4]
  wire  _T_5133; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293504.4]
  wire  _T_5134; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293505.4]
  wire  _T_5135; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293506.4]
  wire  _T_5136; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293507.4]
  wire  _T_5137; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293508.4]
  wire  swPinCtrl_3_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293517.4]
  wire  swPinCtrl_3_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293519.4]
  wire  swPinCtrl_3_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293523.4]
  wire  _T_5148; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293535.4]
  wire  iofCtrl_3_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293536.4]
  wire  iofCtrl_3_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293536.4]
  wire  iofCtrl_3_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293536.4]
  wire  _T_5150; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293540.4]
  wire  _T_5151_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293541.4]
  wire  _T_5152; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293544.4]
  wire  _T_5154; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293547.4]
  wire  _T_5155; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293548.4]
  wire  _T_5156; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293549.4]
  wire  _T_5157; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293550.4]
  wire  _T_5158; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293551.4]
  wire  _T_5159; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293552.4]
  wire  _T_5160; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293553.4]
  wire  _T_5161; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293554.4]
  wire  _T_5162; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293555.4]
  wire  _T_5163; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293556.4]
  wire  _T_5164; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293557.4]
  wire  _T_5165; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293558.4]
  wire  _T_5166; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293559.4]
  wire  _T_5167; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293560.4]
  wire  swPinCtrl_4_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293569.4]
  wire  swPinCtrl_4_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293571.4]
  wire  swPinCtrl_4_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293575.4]
  wire  _T_5178; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293587.4]
  wire  iofCtrl_4_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293588.4]
  wire  iofCtrl_4_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293588.4]
  wire  iofCtrl_4_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293588.4]
  wire  _T_5180; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293592.4]
  wire  _T_5181_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293593.4]
  wire  _T_5182; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293596.4]
  wire  _T_5184; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293599.4]
  wire  _T_5185; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293600.4]
  wire  _T_5186; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293601.4]
  wire  _T_5187; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293602.4]
  wire  _T_5188; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293603.4]
  wire  _T_5189; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293604.4]
  wire  _T_5190; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293605.4]
  wire  _T_5191; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293606.4]
  wire  _T_5192; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293607.4]
  wire  _T_5193; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293608.4]
  wire  _T_5194; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293609.4]
  wire  _T_5195; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293610.4]
  wire  _T_5196; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293611.4]
  wire  _T_5197; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293612.4]
  wire  swPinCtrl_5_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293621.4]
  wire  swPinCtrl_5_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293623.4]
  wire  swPinCtrl_5_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293627.4]
  wire  _T_5208; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293639.4]
  wire  iofCtrl_5_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293640.4]
  wire  iofCtrl_5_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293640.4]
  wire  iofCtrl_5_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293640.4]
  wire  _T_5210; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293644.4]
  wire  _T_5211_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293645.4]
  wire  _T_5212; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293648.4]
  wire  _T_5214; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293651.4]
  wire  _T_5215; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293652.4]
  wire  _T_5216; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293653.4]
  wire  _T_5217; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293654.4]
  wire  _T_5218; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293655.4]
  wire  _T_5219; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293656.4]
  wire  _T_5220; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293657.4]
  wire  _T_5221; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293658.4]
  wire  _T_5222; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293659.4]
  wire  _T_5223; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293660.4]
  wire  _T_5224; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293661.4]
  wire  _T_5225; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293662.4]
  wire  _T_5226; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293663.4]
  wire  _T_5227; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293664.4]
  wire  swPinCtrl_6_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293673.4]
  wire  _T_5242; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293700.4]
  wire  _T_5244; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293703.4]
  wire  _T_5245; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293704.4]
  wire  _T_5246; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293705.4]
  wire  _T_5247; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293706.4]
  wire  _T_5248; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293707.4]
  wire  _T_5249; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293708.4]
  wire  _T_5250; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293709.4]
  wire  _T_5251; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293710.4]
  wire  _T_5252; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293711.4]
  wire  _T_5253; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293712.4]
  wire  _T_5254; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293713.4]
  wire  _T_5255; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293714.4]
  wire  _T_5256; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293715.4]
  wire  _T_5257; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293716.4]
  wire  swPinCtrl_7_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293725.4]
  wire  _T_5272; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293752.4]
  wire  _T_5274; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293755.4]
  wire  _T_5275; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293756.4]
  wire  _T_5276; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293757.4]
  wire  _T_5277; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293758.4]
  wire  _T_5278; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293759.4]
  wire  _T_5279; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293760.4]
  wire  _T_5280; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293761.4]
  wire  _T_5281; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293762.4]
  wire  _T_5282; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293763.4]
  wire  _T_5283; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293764.4]
  wire  _T_5284; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293765.4]
  wire  _T_5285; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293766.4]
  wire  _T_5286; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293767.4]
  wire  _T_5287; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293768.4]
  wire  swPinCtrl_8_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293777.4]
  wire  _T_5302; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293804.4]
  wire  _T_5304; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293807.4]
  wire  _T_5305; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293808.4]
  wire  _T_5306; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293809.4]
  wire  _T_5307; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293810.4]
  wire  _T_5308; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293811.4]
  wire  _T_5309; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293812.4]
  wire  _T_5310; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293813.4]
  wire  _T_5311; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293814.4]
  wire  _T_5312; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293815.4]
  wire  _T_5313; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293816.4]
  wire  _T_5314; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293817.4]
  wire  _T_5315; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293818.4]
  wire  _T_5316; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293819.4]
  wire  _T_5317; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293820.4]
  wire  swPinCtrl_9_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293829.4]
  wire  _T_5332; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293856.4]
  wire  _T_5334; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293859.4]
  wire  _T_5335; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293860.4]
  wire  _T_5336; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293861.4]
  wire  _T_5337; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293862.4]
  wire  _T_5338; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293863.4]
  wire  _T_5339; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293864.4]
  wire  _T_5340; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293865.4]
  wire  _T_5341; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293866.4]
  wire  _T_5342; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293867.4]
  wire  _T_5343; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293868.4]
  wire  _T_5344; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293869.4]
  wire  _T_5345; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293870.4]
  wire  _T_5346; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293871.4]
  wire  _T_5347; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293872.4]
  wire  swPinCtrl_10_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293881.4]
  wire  _T_5362; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293908.4]
  wire  _T_5364; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293911.4]
  wire  _T_5365; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293912.4]
  wire  _T_5366; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293913.4]
  wire  _T_5367; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293914.4]
  wire  _T_5368; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293915.4]
  wire  _T_5369; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293916.4]
  wire  _T_5370; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293917.4]
  wire  _T_5371; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293918.4]
  wire  _T_5372; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293919.4]
  wire  _T_5373; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293920.4]
  wire  _T_5374; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293921.4]
  wire  _T_5375; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293922.4]
  wire  _T_5376; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293923.4]
  wire  _T_5377; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293924.4]
  wire  swPinCtrl_11_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293933.4]
  wire  _T_5392; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293960.4]
  wire  _T_5394; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293963.4]
  wire  _T_5395; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293964.4]
  wire  _T_5396; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293965.4]
  wire  _T_5397; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293966.4]
  wire  _T_5398; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293967.4]
  wire  _T_5399; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293968.4]
  wire  _T_5400; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293969.4]
  wire  _T_5401; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293970.4]
  wire  _T_5402; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293971.4]
  wire  _T_5403; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293972.4]
  wire  _T_5404; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293973.4]
  wire  _T_5405; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293974.4]
  wire  _T_5406; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293975.4]
  wire  _T_5407; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293976.4]
  wire  swPinCtrl_12_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293985.4]
  wire  swPinCtrl_12_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293987.4]
  wire  swPinCtrl_12_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293991.4]
  wire  _T_5418; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294003.4]
  wire  iofCtrl_12_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294004.4]
  wire  iofCtrl_12_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294004.4]
  wire  iofCtrl_12_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294004.4]
  wire  _T_5420; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294008.4]
  wire  _T_5421_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294009.4]
  wire  _T_5422; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294012.4]
  wire  _T_5424; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294015.4]
  wire  _T_5425; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294016.4]
  wire  _T_5426; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294017.4]
  wire  _T_5427; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294018.4]
  wire  _T_5428; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294019.4]
  wire  _T_5429; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294020.4]
  wire  _T_5430; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294021.4]
  wire  _T_5431; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294022.4]
  wire  _T_5432; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294023.4]
  wire  _T_5433; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294024.4]
  wire  _T_5434; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294025.4]
  wire  _T_5435; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294026.4]
  wire  _T_5436; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294027.4]
  wire  _T_5437; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294028.4]
  wire  swPinCtrl_13_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294037.4]
  wire  swPinCtrl_13_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294039.4]
  wire  swPinCtrl_13_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294043.4]
  wire  _T_5448; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294055.4]
  wire  iofCtrl_13_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294056.4]
  wire  iofCtrl_13_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294056.4]
  wire  iofCtrl_13_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294056.4]
  wire  _T_5450; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294060.4]
  wire  _T_5451_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294061.4]
  wire  _T_5452; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294064.4]
  wire  _T_5454; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294067.4]
  wire  _T_5455; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294068.4]
  wire  _T_5456; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294069.4]
  wire  _T_5457; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294070.4]
  wire  _T_5458; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294071.4]
  wire  _T_5459; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294072.4]
  wire  _T_5460; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294073.4]
  wire  _T_5461; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294074.4]
  wire  _T_5462; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294075.4]
  wire  _T_5463; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294076.4]
  wire  _T_5464; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294077.4]
  wire  _T_5465; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294078.4]
  wire  _T_5466; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294079.4]
  wire  _T_5467; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294080.4]
  wire  swPinCtrl_14_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294089.4]
  wire  swPinCtrl_14_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294091.4]
  wire  swPinCtrl_14_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294095.4]
  wire  _T_5478; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294107.4]
  wire  iofCtrl_14_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.4]
  wire  iofCtrl_14_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.4]
  wire  iofCtrl_14_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.4]
  wire  _T_5480; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294112.4]
  wire  _T_5481_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294113.4]
  wire  _T_5482; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294116.4]
  wire  _T_5484; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294119.4]
  wire  _T_5485; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294120.4]
  wire  _T_5486; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294121.4]
  wire  _T_5487; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294122.4]
  wire  _T_5488; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294123.4]
  wire  _T_5489; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294124.4]
  wire  _T_5490; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294125.4]
  wire  _T_5491; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294126.4]
  wire  _T_5492; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294127.4]
  wire  _T_5493; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294128.4]
  wire  _T_5494; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294129.4]
  wire  _T_5495; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294130.4]
  wire  _T_5496; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294131.4]
  wire  _T_5497; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294132.4]
  wire  swPinCtrl_15_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294141.4]
  wire  swPinCtrl_15_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294143.4]
  wire  swPinCtrl_15_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294147.4]
  wire  _T_5508; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294159.4]
  wire  iofCtrl_15_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
  wire  iofCtrl_15_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
  wire  iofCtrl_15_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
  wire  _T_5510; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294164.4]
  wire  _T_5511_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294165.4]
  wire  _T_5512; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294168.4]
  wire  _T_5514; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294171.4]
  wire  _T_5515; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294172.4]
  wire  _T_5516; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294173.4]
  wire  _T_5517; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294174.4]
  wire  _T_5518; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294175.4]
  wire  _T_5519; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294176.4]
  wire  _T_5520; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294177.4]
  wire  _T_5521; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294178.4]
  wire  _T_5522; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294179.4]
  wire  _T_5523; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294180.4]
  wire  _T_5524; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294181.4]
  wire  _T_5525; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294182.4]
  wire  _T_5526; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294183.4]
  wire  _T_5527; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294184.4]
  wire  swPinCtrl_16_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294193.4]
  wire  swPinCtrl_16_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294195.4]
  wire  swPinCtrl_16_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294199.4]
  wire  _T_5538; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294211.4]
  wire  iofCtrl_16_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.4]
  wire  iofCtrl_16_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.4]
  wire  iofCtrl_16_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.4]
  wire  _T_5540; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294216.4]
  wire  _T_5541_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294217.4]
  wire  _T_5542; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294220.4]
  wire  _T_5544; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294223.4]
  wire  _T_5545; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294224.4]
  wire  _T_5546; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294225.4]
  wire  _T_5547; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294226.4]
  wire  _T_5548; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294227.4]
  wire  _T_5549; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294228.4]
  wire  _T_5550; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294229.4]
  wire  _T_5551; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294230.4]
  wire  _T_5552; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294231.4]
  wire  _T_5553; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294232.4]
  wire  _T_5554; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294233.4]
  wire  _T_5555; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294234.4]
  wire  _T_5556; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294235.4]
  wire  _T_5557; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294236.4]
  wire  swPinCtrl_17_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294245.4]
  wire  swPinCtrl_17_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294247.4]
  wire  swPinCtrl_17_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294251.4]
  wire  _T_5568; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294263.4]
  wire  iofCtrl_17_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.4]
  wire  iofCtrl_17_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.4]
  wire  iofCtrl_17_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.4]
  wire  _T_5570; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294268.4]
  wire  _T_5571_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294269.4]
  wire  _T_5572; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294272.4]
  wire  _T_5574; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294275.4]
  wire  _T_5575; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294276.4]
  wire  _T_5576; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294277.4]
  wire  _T_5577; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294278.4]
  wire  _T_5578; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294279.4]
  wire  _T_5579; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294280.4]
  wire  _T_5580; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294281.4]
  wire  _T_5581; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294282.4]
  wire  _T_5582; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294283.4]
  wire  _T_5583; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294284.4]
  wire  _T_5584; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294285.4]
  wire  _T_5585; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294286.4]
  wire  _T_5586; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294287.4]
  wire  _T_5587; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294288.4]
  wire  swPinCtrl_18_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294297.4]
  wire  swPinCtrl_18_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294299.4]
  wire  swPinCtrl_18_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294303.4]
  wire  _T_5598; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294315.4]
  wire  iofCtrl_18_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294316.4]
  wire  iofCtrl_18_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294316.4]
  wire  iofCtrl_18_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294316.4]
  wire  _T_5600; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294320.4]
  wire  _T_5601_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294321.4]
  wire  _T_5602; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294324.4]
  wire  _T_5604; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294327.4]
  wire  _T_5605; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294328.4]
  wire  _T_5606; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294329.4]
  wire  _T_5607; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294330.4]
  wire  _T_5608; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294331.4]
  wire  _T_5609; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294332.4]
  wire  _T_5610; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294333.4]
  wire  _T_5611; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294334.4]
  wire  _T_5612; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294335.4]
  wire  _T_5613; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294336.4]
  wire  _T_5614; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294337.4]
  wire  _T_5615; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294338.4]
  wire  _T_5616; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294339.4]
  wire  _T_5617; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294340.4]
  wire  swPinCtrl_19_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294349.4]
  wire  swPinCtrl_19_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294351.4]
  wire  swPinCtrl_19_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294355.4]
  wire  _T_5628; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294367.4]
  wire  iofCtrl_19_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
  wire  iofCtrl_19_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
  wire  iofCtrl_19_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
  wire  _T_5630; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294372.4]
  wire  _T_5631_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294373.4]
  wire  _T_5632; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294376.4]
  wire  _T_5634; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294379.4]
  wire  _T_5635; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294380.4]
  wire  _T_5636; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294381.4]
  wire  _T_5637; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294382.4]
  wire  _T_5638; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294383.4]
  wire  _T_5639; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294384.4]
  wire  _T_5640; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294385.4]
  wire  _T_5641; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294386.4]
  wire  _T_5642; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294387.4]
  wire  _T_5643; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294388.4]
  wire  _T_5644; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294389.4]
  wire  _T_5645; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294390.4]
  wire  _T_5646; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294391.4]
  wire  _T_5647; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294392.4]
  wire  swPinCtrl_20_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294401.4]
  wire  swPinCtrl_20_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294403.4]
  wire  swPinCtrl_20_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294407.4]
  wire  _T_5658; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294419.4]
  wire  iofCtrl_20_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  wire  iofCtrl_20_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  wire  iofCtrl_20_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  wire  _T_5660; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294424.4]
  wire  _T_5661_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294425.4]
  wire  _T_5662; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294428.4]
  wire  _T_5664; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294431.4]
  wire  _T_5665; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294432.4]
  wire  _T_5666; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294433.4]
  wire  _T_5667; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294434.4]
  wire  _T_5668; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294435.4]
  wire  _T_5669; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294436.4]
  wire  _T_5670; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294437.4]
  wire  _T_5671; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294438.4]
  wire  _T_5672; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294439.4]
  wire  _T_5673; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294440.4]
  wire  _T_5674; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294441.4]
  wire  _T_5675; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294442.4]
  wire  _T_5676; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294443.4]
  wire  _T_5677; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
  wire  swPinCtrl_21_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294453.4]
  wire  swPinCtrl_21_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294455.4]
  wire  swPinCtrl_21_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294459.4]
  wire  _T_5688; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294471.4]
  wire  iofCtrl_21_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.4]
  wire  iofCtrl_21_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.4]
  wire  iofCtrl_21_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.4]
  wire  _T_5690; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294476.4]
  wire  _T_5691_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294477.4]
  wire  _T_5692; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294480.4]
  wire  _T_5694; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294483.4]
  wire  _T_5695; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294484.4]
  wire  _T_5696; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294485.4]
  wire  _T_5697; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294486.4]
  wire  _T_5698; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294487.4]
  wire  _T_5699; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294488.4]
  wire  _T_5700; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294489.4]
  wire  _T_5701; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294490.4]
  wire  _T_5702; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294491.4]
  wire  _T_5703; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294492.4]
  wire  _T_5704; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294493.4]
  wire  _T_5705; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294494.4]
  wire  _T_5706; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294495.4]
  wire  _T_5707; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294496.4]
  wire  swPinCtrl_22_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294505.4]
  wire  swPinCtrl_22_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294507.4]
  wire  swPinCtrl_22_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294511.4]
  wire  _T_5718; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294523.4]
  wire  iofCtrl_22_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.4]
  wire  iofCtrl_22_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.4]
  wire  iofCtrl_22_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.4]
  wire  _T_5720; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294528.4]
  wire  _T_5721_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294529.4]
  wire  _T_5722; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294532.4]
  wire  _T_5724; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294535.4]
  wire  _T_5725; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294536.4]
  wire  _T_5726; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294537.4]
  wire  _T_5727; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294538.4]
  wire  _T_5728; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294539.4]
  wire  _T_5729; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294540.4]
  wire  _T_5730; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294541.4]
  wire  _T_5731; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294542.4]
  wire  _T_5732; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294543.4]
  wire  _T_5733; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294544.4]
  wire  _T_5734; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294545.4]
  wire  _T_5735; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294546.4]
  wire  _T_5736; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294547.4]
  wire  _T_5737; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294548.4]
  wire  swPinCtrl_23_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294557.4]
  wire  swPinCtrl_23_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294559.4]
  wire  swPinCtrl_23_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294563.4]
  wire  _T_5748; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294575.4]
  wire  iofCtrl_23_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294576.4]
  wire  iofCtrl_23_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294576.4]
  wire  iofCtrl_23_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294576.4]
  wire  _T_5750; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294580.4]
  wire  _T_5751_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294581.4]
  wire  _T_5752; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294584.4]
  wire  _T_5754; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294587.4]
  wire  _T_5755; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294588.4]
  wire  _T_5756; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294589.4]
  wire  _T_5757; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294590.4]
  wire  _T_5758; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294591.4]
  wire  _T_5759; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294592.4]
  wire  _T_5760; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294593.4]
  wire  _T_5761; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294594.4]
  wire  _T_5762; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294595.4]
  wire  _T_5763; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294596.4]
  wire  _T_5764; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294597.4]
  wire  _T_5765; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294598.4]
  wire  _T_5766; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294599.4]
  wire  _T_5767; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294600.4]
  wire  swPinCtrl_24_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294609.4]
  wire  swPinCtrl_24_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294611.4]
  wire  swPinCtrl_24_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294615.4]
  wire  _T_5778; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294627.4]
  wire  iofCtrl_24_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
  wire  iofCtrl_24_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
  wire  iofCtrl_24_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
  wire  _T_5780; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294632.4]
  wire  _T_5781_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294633.4]
  wire  _T_5782; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294636.4]
  wire  _T_5784; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294639.4]
  wire  _T_5785; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294640.4]
  wire  _T_5786; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294641.4]
  wire  _T_5787; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294642.4]
  wire  _T_5788; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294643.4]
  wire  _T_5789; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294644.4]
  wire  _T_5790; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294645.4]
  wire  _T_5791; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294646.4]
  wire  _T_5792; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294647.4]
  wire  _T_5793; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294648.4]
  wire  _T_5794; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294649.4]
  wire  _T_5795; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294650.4]
  wire  _T_5796; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294651.4]
  wire  _T_5797; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294652.4]
  wire  swPinCtrl_25_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294661.4]
  wire  _T_5812; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294688.4]
  wire  _T_5814; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294691.4]
  wire  _T_5815; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294692.4]
  wire  _T_5816; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294693.4]
  wire  _T_5817; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294694.4]
  wire  _T_5818; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294695.4]
  wire  _T_5819; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294696.4]
  wire  _T_5820; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294697.4]
  wire  _T_5821; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294698.4]
  wire  _T_5822; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294699.4]
  wire  _T_5823; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294700.4]
  wire  _T_5824; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294701.4]
  wire  _T_5825; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294702.4]
  wire  _T_5826; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294703.4]
  wire  _T_5827; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294704.4]
  wire  swPinCtrl_26_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294713.4]
  wire  _T_5842; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294740.4]
  wire  _T_5844; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294743.4]
  wire  _T_5845; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294744.4]
  wire  _T_5846; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294745.4]
  wire  _T_5847; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294746.4]
  wire  _T_5848; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294747.4]
  wire  _T_5849; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294748.4]
  wire  _T_5850; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294749.4]
  wire  _T_5851; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294750.4]
  wire  _T_5852; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294751.4]
  wire  _T_5853; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294752.4]
  wire  _T_5854; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294753.4]
  wire  _T_5855; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294754.4]
  wire  _T_5856; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294755.4]
  wire  _T_5857; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294756.4]
  wire  swPinCtrl_27_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294765.4]
  wire  _T_5872; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294792.4]
  wire  _T_5874; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294795.4]
  wire  _T_5875; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294796.4]
  wire  _T_5876; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294797.4]
  wire  _T_5877; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294798.4]
  wire  _T_5878; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294799.4]
  wire  _T_5879; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294800.4]
  wire  _T_5880; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294801.4]
  wire  _T_5881; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294802.4]
  wire  _T_5882; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294803.4]
  wire  _T_5883; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294804.4]
  wire  _T_5884; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294805.4]
  wire  _T_5885; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294806.4]
  wire  _T_5886; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294807.4]
  wire  _T_5887; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294808.4]
  wire  swPinCtrl_28_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294817.4]
  wire  _T_5902; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294844.4]
  wire  _T_5904; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294847.4]
  wire  _T_5905; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294848.4]
  wire  _T_5906; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294849.4]
  wire  _T_5907; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294850.4]
  wire  _T_5908; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294851.4]
  wire  _T_5909; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294852.4]
  wire  _T_5910; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294853.4]
  wire  _T_5911; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294854.4]
  wire  _T_5912; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294855.4]
  wire  _T_5913; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294856.4]
  wire  _T_5914; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294857.4]
  wire  _T_5915; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294858.4]
  wire  _T_5916; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294859.4]
  wire  _T_5917; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294860.4]
  wire  swPinCtrl_29_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294869.4]
  wire  _T_5932; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294896.4]
  wire  _T_5934; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294899.4]
  wire  _T_5935; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294900.4]
  wire  _T_5936; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294901.4]
  wire  _T_5937; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294902.4]
  wire  _T_5938; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294903.4]
  wire  _T_5939; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294904.4]
  wire  _T_5940; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294905.4]
  wire  _T_5941; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294906.4]
  wire  _T_5942; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294907.4]
  wire  _T_5943; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294908.4]
  wire  _T_5944; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294909.4]
  wire  _T_5945; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294910.4]
  wire  _T_5946; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294911.4]
  wire  _T_5947; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294912.4]
  wire  swPinCtrl_30_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294921.4]
  wire  _T_5962; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294948.4]
  wire  _T_5964; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294951.4]
  wire  _T_5965; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294952.4]
  wire  _T_5966; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294953.4]
  wire  _T_5967; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294954.4]
  wire  _T_5968; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294955.4]
  wire  _T_5969; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294956.4]
  wire  _T_5970; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294957.4]
  wire  _T_5971; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294958.4]
  wire  _T_5972; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294959.4]
  wire  _T_5973; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294960.4]
  wire  _T_5974; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294961.4]
  wire  _T_5975; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294962.4]
  wire  _T_5976; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294963.4]
  wire  _T_5977; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294964.4]
  wire  swPinCtrl_31_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
  wire  _T_5992; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295000.4]
  wire  _T_5994; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295003.4]
  wire  _T_5995; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295004.4]
  wire  _T_5996; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@295005.4]
  wire  _T_5997; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295006.4]
  wire  _T_5998; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@295007.4]
  wire  _T_5999; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295008.4]
  wire  _T_6000; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295009.4]
  wire  _T_6001; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295010.4]
  wire  _T_6002; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@295011.4]
  wire  _T_6003; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295012.4]
  wire  _T_6004; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295013.4]
  wire  _T_6005; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@295014.4]
  wire  _T_6006; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295015.4]
  wire  _T_6007; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295016.4]
  TLBuffer_28 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.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@291280.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_82 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291292.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@291347.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@291351.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@291356.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@291428.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@291446.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@291396.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@291397.4]
  assign _T_3064 = {_T_3063,_T_3062}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291398.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@291399.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@291400.4]
  assign _T_3067 = {_T_3066,_T_3065}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291401.4]
  assign _T_3068 = {_T_3067,_T_3064}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291402.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@291403.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@291404.4]
  assign _T_3071 = {_T_3070,_T_3069}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291405.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@291406.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@291407.4]
  assign _T_3074 = {_T_3073,_T_3072}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291408.4]
  assign _T_3075 = {_T_3074,_T_3071}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291409.4]
  assign _T_3076 = {_T_3075,_T_3068}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291410.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@291411.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@291412.4]
  assign _T_3079 = {_T_3078,_T_3077}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291413.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@291414.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@291415.4]
  assign _T_3082 = {_T_3081,_T_3080}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291416.4]
  assign _T_3083 = {_T_3082,_T_3079}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291417.4]
  assign _T_3084 = {auto_io_out_pins_25_i_ival,auto_io_out_pins_24_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291418.4]
  assign _T_3085 = {auto_io_out_pins_27_i_ival,auto_io_out_pins_26_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291419.4]
  assign _T_3086 = {_T_3085,_T_3084}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291420.4]
  assign _T_3087 = {auto_io_out_pins_29_i_ival,auto_io_out_pins_28_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291421.4]
  assign _T_3088 = {auto_io_out_pins_31_i_ival,auto_io_out_pins_30_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291422.4]
  assign _T_3089 = {_T_3088,_T_3087}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291423.4]
  assign _T_3090 = {_T_3089,_T_3086}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291424.4]
  assign _T_3091 = {_T_3090,_T_3083}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@291425.4]
  assign _T_3105 = ~ valueReg; // @[GPIO.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291452.4]
  assign inSyncReg_1 = inSyncReg_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291433.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291435.4]
  assign rise = _T_3105 & inSyncReg_1; // @[GPIO.scala 92:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291453.4]
  assign _T_3106 = ~ inSyncReg_1; // @[GPIO.scala 93:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291454.4]
  assign fall = valueReg & _T_3106; // @[GPIO.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291455.4]
  assign _T_1699_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_3115 = _T_1699_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291459.4]
  assign _T_1699_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_3116 = _T_1699_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@291461.4]
  assign _T_1699_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_1699_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_3117 = {_T_1699_a_bits_source,_T_1699_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291465.4]
  assign _T_3112_bits_index = _T_3116[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@291457.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291462.4]
  assign _T_3133 = _T_3112_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291473.4]
  assign _T_3135 = _T_3133 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291475.4]
  assign _T_1699_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_3261 = _T_1699_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291517.4]
  assign _T_3262 = _T_1699_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291518.4]
  assign _T_3263 = _T_1699_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291519.4]
  assign _T_3264 = _T_1699_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@291520.4]
  assign _T_3266 = _T_3261 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291522.4]
  assign _T_3268 = _T_3262 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291524.4]
  assign _T_3270 = _T_3263 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291526.4]
  assign _T_3272 = _T_3264 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291528.4]
  assign _T_3273 = {_T_3268,_T_3266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291529.4]
  assign _T_3274 = {_T_3272,_T_3270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291530.4]
  assign _T_3275 = {_T_3274,_T_3273}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291531.4]
  assign _T_3294 = ~ _T_3275; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291550.4]
  assign _T_3295 = _T_3294 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291551.4]
  assign _T_1699_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_1699_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_3754 = _T_3112_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292046.4]
  assign _T_3753 = _T_3112_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.4]
  assign _T_3761 = {_T_3754,_T_3753}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292053.4]
  assign _T_3752 = _T_3112_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292044.4]
  assign _T_3762 = {_T_3761,_T_3752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292054.4]
  assign _T_3751 = _T_3112_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292043.4]
  assign _T_3750 = _T_3112_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292042.4]
  assign _T_3760 = {_T_3751,_T_3750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292052.4]
  assign _T_3763 = {_T_3762,_T_3760}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292055.4]
  assign _T_3830 = _T_1699_a_valid & _T_1699_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292122.4]
  assign _T_3764 = 32'h1 << _T_3763; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292056.4]
  assign _T_4066 = _T_3115 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292402.4]
  assign _T_4067 = _T_3830 & _T_4066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292403.4]
  assign _T_1699_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign _T_3770 = _T_3764[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292062.4]
  assign _T_4100 = _T_4067 & _T_3770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292446.4]
  assign _T_4101 = _T_4100 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292447.4]
  assign _T_3328 = _T_4101 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291584.4]
  assign _T_3775 = _T_3764[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292067.4]
  assign _T_4130 = _T_4067 & _T_3775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292486.4]
  assign _T_4131 = _T_4130 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292487.4]
  assign _T_3353 = _T_4131 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291612.4]
  assign _T_3779 = _T_3764[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292071.4]
  assign _T_4154 = _T_4067 & _T_3779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292518.4]
  assign _T_4155 = _T_4154 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292519.4]
  assign _T_3389 = iofEnReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291653.4]
  assign _T_3766 = _T_3764[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292058.4]
  assign _T_4076 = _T_4067 & _T_3766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292414.4]
  assign _T_4077 = _T_4076 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292415.4]
  assign _T_3414 = ieReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291680.4]
  assign _T_3771 = _T_3764[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292063.4]
  assign _T_4106 = _T_4067 & _T_3771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292454.4]
  assign _T_4107 = _T_4106 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292455.4]
  assign _T_3428 = _T_4107 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291694.4]
  assign _T_3774 = _T_3764[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292066.4]
  assign _T_4124 = _T_4067 & _T_3774; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292478.4]
  assign _T_4125 = _T_4124 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292479.4]
  assign _T_3453 = _T_4125 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291722.4]
  assign _T_3456 = ~ fallIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291725.4]
  assign _T_3457 = _T_3453 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291726.4]
  assign _T_3458 = _T_3456 | _T_3457; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291727.4]
  assign _T_3459 = ~ _T_3458; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291728.4]
  assign _T_3460 = _T_3459 | fall; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291729.4]
  assign _T_3778 = _T_3764[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292070.4]
  assign _T_4148 = _T_4067 & _T_3778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292510.4]
  assign _T_4149 = _T_4148 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292511.4]
  assign _T_3483 = _T_4149 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291753.4]
  assign _T_3486 = ~ lowIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291756.4]
  assign _T_3487 = _T_3483 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291757.4]
  assign _T_3488 = _T_3486 | _T_3487; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291758.4]
  assign _T_3489 = ~ _T_3488; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291759.4]
  assign _T_3490 = _T_3489 | _T_3105; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291760.4]
  assign _T_3767 = _T_3764[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292059.4]
  assign _T_4082 = _T_4067 & _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292422.4]
  assign _T_4083 = _T_4082 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292423.4]
  assign _T_3524 = oeReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291797.4]
  assign _T_3777 = _T_3764[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292069.4]
  assign _T_4142 = _T_4067 & _T_3777; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292502.4]
  assign _T_4143 = _T_4142 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292503.4]
  assign _T_3538 = _T_4143 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291811.4]
  assign _T_3772 = _T_3764[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292064.4]
  assign _T_4112 = _T_4067 & _T_3772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292462.4]
  assign _T_4113 = _T_4112 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292463.4]
  assign _T_3563 = _T_4113 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291839.4]
  assign _T_3566 = ~ riseIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291842.4]
  assign _T_3567 = _T_3563 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291843.4]
  assign _T_3568 = _T_3566 | _T_3567; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291844.4]
  assign _T_3569 = ~ _T_3568; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291845.4]
  assign _T_3570 = _T_3569 | rise; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291846.4]
  assign _T_3768 = _T_3764[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292060.4]
  assign _T_4088 = _T_4067 & _T_3768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292430.4]
  assign _T_4089 = _T_4088 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292431.4]
  assign _T_3593 = _T_4089 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291870.4]
  assign _T_3781 = _T_3764[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292073.4]
  assign _T_4166 = _T_4067 & _T_3781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292534.4]
  assign _T_4167 = _T_4166 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292535.4]
  assign _T_3618 = _T_4167 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291898.4]
  assign _T_3776 = _T_3764[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292068.4]
  assign _T_4136 = _T_4067 & _T_3776; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292494.4]
  assign _T_4137 = _T_4136 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292495.4]
  assign _T_3643 = _T_4137 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291926.4]
  assign _T_3646 = ~ highIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@291929.4]
  assign _T_3647 = _T_3643 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@291930.4]
  assign _T_3648 = _T_3646 | _T_3647; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@291931.4]
  assign _T_3649 = ~ _T_3648; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@291932.4]
  assign _T_3650 = _T_3649 | valueReg; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@291933.4]
  assign _T_3773 = _T_3764[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292065.4]
  assign _T_4118 = _T_4067 & _T_3773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292470.4]
  assign _T_4119 = _T_4118 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292471.4]
  assign _T_3673 = _T_4119 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291957.4]
  assign _T_3769 = _T_3764[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292061.4]
  assign _T_4094 = _T_4067 & _T_3769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292438.4]
  assign _T_4095 = _T_4094 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292439.4]
  assign _T_3709 = pueReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291998.4]
  assign _T_3780 = _T_3764[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292072.4]
  assign _T_4160 = _T_4067 & _T_3780; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292526.4]
  assign _T_4161 = _T_4160 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292527.4]
  assign _T_3723 = _T_4161 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292012.4]
  assign _GEN_137 = 5'h1 == _T_3763 ? _T_3135 : _T_3135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_138 = 5'h2 == _T_3763 ? _T_3135 : _GEN_137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_139 = 5'h3 == _T_3763 ? _T_3135 : _GEN_138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_140 = 5'h4 == _T_3763 ? _T_3135 : _GEN_139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_141 = 5'h5 == _T_3763 ? _T_3135 : _GEN_140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_142 = 5'h6 == _T_3763 ? _T_3135 : _GEN_141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_143 = 5'h7 == _T_3763 ? _T_3135 : _GEN_142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_144 = 5'h8 == _T_3763 ? _T_3135 : _GEN_143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_145 = 5'h9 == _T_3763 ? _T_3135 : _GEN_144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_146 = 5'ha == _T_3763 ? _T_3135 : _GEN_145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_147 = 5'hb == _T_3763 ? _T_3135 : _GEN_146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_148 = 5'hc == _T_3763 ? _T_3135 : _GEN_147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_149 = 5'hd == _T_3763 ? _T_3135 : _GEN_148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_150 = 5'he == _T_3763 ? _T_3135 : _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_151 = 5'hf == _T_3763 ? _T_3135 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_152 = 5'h10 == _T_3763 ? _T_3135 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_153 = 5'h11 == _T_3763 ? 1'h1 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_154 = 5'h12 == _T_3763 ? 1'h1 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_155 = 5'h13 == _T_3763 ? 1'h1 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_156 = 5'h14 == _T_3763 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_157 = 5'h15 == _T_3763 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_158 = 5'h16 == _T_3763 ? 1'h1 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_159 = 5'h17 == _T_3763 ? 1'h1 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_160 = 5'h18 == _T_3763 ? 1'h1 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_161 = 5'h19 == _T_3763 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_162 = 5'h1a == _T_3763 ? 1'h1 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_163 = 5'h1b == _T_3763 ? 1'h1 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_164 = 5'h1c == _T_3763 ? 1'h1 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_165 = 5'h1d == _T_3763 ? 1'h1 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_166 = 5'h1e == _T_3763 ? 1'h1 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_167 = 5'h1f == _T_3763 ? 1'h1 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293286.4]
  assign _GEN_169 = 5'h1 == _T_3763 ? _T_3414 : valueReg; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_170 = 5'h2 == _T_3763 ? _T_3524 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_171 = 5'h3 == _T_3763 ? portReg : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_172 = 5'h4 == _T_3763 ? _T_3709 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_173 = 5'h5 == _T_3763 ? dsReg : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_174 = 5'h6 == _T_3763 ? riseIeReg : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_175 = 5'h7 == _T_3763 ? riseIpReg : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_176 = 5'h8 == _T_3763 ? fallIeReg : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_177 = 5'h9 == _T_3763 ? fallIpReg : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_178 = 5'ha == _T_3763 ? highIeReg : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_179 = 5'hb == _T_3763 ? highIpReg : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_180 = 5'hc == _T_3763 ? lowIeReg : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_181 = 5'hd == _T_3763 ? lowIpReg : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_182 = 5'he == _T_3763 ? _T_3389 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_183 = 5'hf == _T_3763 ? iofSelReg : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_184 = 5'h10 == _T_3763 ? xorReg : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_185 = 5'h11 == _T_3763 ? 32'h0 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_186 = 5'h12 == _T_3763 ? 32'h0 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_187 = 5'h13 == _T_3763 ? 32'h0 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_188 = 5'h14 == _T_3763 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_189 = 5'h15 == _T_3763 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_190 = 5'h16 == _T_3763 ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_191 = 5'h17 == _T_3763 ? 32'h0 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_192 = 5'h18 == _T_3763 ? 32'h0 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_193 = 5'h19 == _T_3763 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_194 = 5'h1a == _T_3763 ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_195 = 5'h1b == _T_3763 ? 32'h0 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_196 = 5'h1c == _T_3763 ? 32'h0 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_197 = 5'h1d == _T_3763 ? 32'h0 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_198 = 5'h1e == _T_3763 ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign _GEN_199 = 5'h1f == _T_3763 ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293322.4]
  assign swPinCtrl_0_oval = portReg[0]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293361.4]
  assign swPinCtrl_0_oe = oeReg_io_q[0]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293363.4]
  assign swPinCtrl_0_ie = ieReg_io_q[0]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293367.4]
  assign _T_5058 = iofSelReg[0]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293379.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@293380.4]
  assign iofCtrl_0_oe = _T_5058 ? swPinCtrl_0_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293380.4]
  assign iofCtrl_0_ie = _T_5058 ? swPinCtrl_0_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293380.4]
  assign _T_5060 = iofEnReg_io_q[0]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293384.4]
  assign _T_5061_oval = _T_5060 ? iofCtrl_0_oval : swPinCtrl_0_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293385.4]
  assign _T_5062 = xorReg[0]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293388.4]
  assign _T_5064 = riseIpReg[0]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293391.4]
  assign _T_5065 = riseIeReg[0]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293392.4]
  assign _T_5066 = _T_5064 & _T_5065; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293393.4]
  assign _T_5067 = fallIpReg[0]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293394.4]
  assign _T_5068 = fallIeReg[0]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293395.4]
  assign _T_5069 = _T_5067 & _T_5068; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293396.4]
  assign _T_5070 = _T_5066 | _T_5069; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293397.4]
  assign _T_5071 = highIpReg[0]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293398.4]
  assign _T_5072 = highIeReg[0]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293399.4]
  assign _T_5073 = _T_5071 & _T_5072; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293400.4]
  assign _T_5074 = _T_5070 | _T_5073; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293401.4]
  assign _T_5075 = lowIpReg[0]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293402.4]
  assign _T_5076 = lowIeReg[0]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293403.4]
  assign _T_5077 = _T_5075 & _T_5076; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293404.4]
  assign swPinCtrl_1_oval = portReg[1]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293413.4]
  assign swPinCtrl_1_oe = oeReg_io_q[1]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293415.4]
  assign swPinCtrl_1_ie = ieReg_io_q[1]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293419.4]
  assign _T_5088 = iofSelReg[1]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293431.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@293432.4]
  assign iofCtrl_1_oe = _T_5088 ? swPinCtrl_1_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293432.4]
  assign iofCtrl_1_ie = _T_5088 ? swPinCtrl_1_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293432.4]
  assign _T_5090 = iofEnReg_io_q[1]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293436.4]
  assign _T_5091_oval = _T_5090 ? iofCtrl_1_oval : swPinCtrl_1_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293437.4]
  assign _T_5092 = xorReg[1]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293440.4]
  assign _T_5094 = riseIpReg[1]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293443.4]
  assign _T_5095 = riseIeReg[1]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293444.4]
  assign _T_5096 = _T_5094 & _T_5095; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293445.4]
  assign _T_5097 = fallIpReg[1]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293446.4]
  assign _T_5098 = fallIeReg[1]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293447.4]
  assign _T_5099 = _T_5097 & _T_5098; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293448.4]
  assign _T_5100 = _T_5096 | _T_5099; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293449.4]
  assign _T_5101 = highIpReg[1]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293450.4]
  assign _T_5102 = highIeReg[1]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293451.4]
  assign _T_5103 = _T_5101 & _T_5102; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293452.4]
  assign _T_5104 = _T_5100 | _T_5103; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293453.4]
  assign _T_5105 = lowIpReg[1]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293454.4]
  assign _T_5106 = lowIeReg[1]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293455.4]
  assign _T_5107 = _T_5105 & _T_5106; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293456.4]
  assign swPinCtrl_2_oval = portReg[2]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293465.4]
  assign swPinCtrl_2_oe = oeReg_io_q[2]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293467.4]
  assign swPinCtrl_2_ie = ieReg_io_q[2]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293471.4]
  assign _T_5118 = iofSelReg[2]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293483.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@293484.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@293484.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@293484.4]
  assign _T_5120 = iofEnReg_io_q[2]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293488.4]
  assign _T_5121_oval = _T_5120 ? iofCtrl_2_oval : swPinCtrl_2_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293489.4]
  assign _T_5122 = xorReg[2]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293492.4]
  assign _T_5124 = riseIpReg[2]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293495.4]
  assign _T_5125 = riseIeReg[2]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293496.4]
  assign _T_5126 = _T_5124 & _T_5125; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293497.4]
  assign _T_5127 = fallIpReg[2]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293498.4]
  assign _T_5128 = fallIeReg[2]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293499.4]
  assign _T_5129 = _T_5127 & _T_5128; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293500.4]
  assign _T_5130 = _T_5126 | _T_5129; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293501.4]
  assign _T_5131 = highIpReg[2]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293502.4]
  assign _T_5132 = highIeReg[2]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293503.4]
  assign _T_5133 = _T_5131 & _T_5132; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293504.4]
  assign _T_5134 = _T_5130 | _T_5133; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293505.4]
  assign _T_5135 = lowIpReg[2]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293506.4]
  assign _T_5136 = lowIeReg[2]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293507.4]
  assign _T_5137 = _T_5135 & _T_5136; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293508.4]
  assign swPinCtrl_3_oval = portReg[3]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293517.4]
  assign swPinCtrl_3_oe = oeReg_io_q[3]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293519.4]
  assign swPinCtrl_3_ie = ieReg_io_q[3]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293523.4]
  assign _T_5148 = iofSelReg[3]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293535.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@293536.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@293536.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@293536.4]
  assign _T_5150 = iofEnReg_io_q[3]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293540.4]
  assign _T_5151_oval = _T_5150 ? iofCtrl_3_oval : swPinCtrl_3_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293541.4]
  assign _T_5152 = xorReg[3]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293544.4]
  assign _T_5154 = riseIpReg[3]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293547.4]
  assign _T_5155 = riseIeReg[3]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293548.4]
  assign _T_5156 = _T_5154 & _T_5155; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293549.4]
  assign _T_5157 = fallIpReg[3]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293550.4]
  assign _T_5158 = fallIeReg[3]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293551.4]
  assign _T_5159 = _T_5157 & _T_5158; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293552.4]
  assign _T_5160 = _T_5156 | _T_5159; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293553.4]
  assign _T_5161 = highIpReg[3]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293554.4]
  assign _T_5162 = highIeReg[3]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293555.4]
  assign _T_5163 = _T_5161 & _T_5162; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293556.4]
  assign _T_5164 = _T_5160 | _T_5163; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293557.4]
  assign _T_5165 = lowIpReg[3]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293558.4]
  assign _T_5166 = lowIeReg[3]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293559.4]
  assign _T_5167 = _T_5165 & _T_5166; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293560.4]
  assign swPinCtrl_4_oval = portReg[4]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293569.4]
  assign swPinCtrl_4_oe = oeReg_io_q[4]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293571.4]
  assign swPinCtrl_4_ie = ieReg_io_q[4]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293575.4]
  assign _T_5178 = iofSelReg[4]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293587.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@293588.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@293588.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@293588.4]
  assign _T_5180 = iofEnReg_io_q[4]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293592.4]
  assign _T_5181_oval = _T_5180 ? iofCtrl_4_oval : swPinCtrl_4_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293593.4]
  assign _T_5182 = xorReg[4]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293596.4]
  assign _T_5184 = riseIpReg[4]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293599.4]
  assign _T_5185 = riseIeReg[4]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293600.4]
  assign _T_5186 = _T_5184 & _T_5185; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293601.4]
  assign _T_5187 = fallIpReg[4]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293602.4]
  assign _T_5188 = fallIeReg[4]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293603.4]
  assign _T_5189 = _T_5187 & _T_5188; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293604.4]
  assign _T_5190 = _T_5186 | _T_5189; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293605.4]
  assign _T_5191 = highIpReg[4]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293606.4]
  assign _T_5192 = highIeReg[4]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293607.4]
  assign _T_5193 = _T_5191 & _T_5192; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293608.4]
  assign _T_5194 = _T_5190 | _T_5193; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293609.4]
  assign _T_5195 = lowIpReg[4]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293610.4]
  assign _T_5196 = lowIeReg[4]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293611.4]
  assign _T_5197 = _T_5195 & _T_5196; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293612.4]
  assign swPinCtrl_5_oval = portReg[5]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293621.4]
  assign swPinCtrl_5_oe = oeReg_io_q[5]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293623.4]
  assign swPinCtrl_5_ie = ieReg_io_q[5]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293627.4]
  assign _T_5208 = iofSelReg[5]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293639.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@293640.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@293640.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@293640.4]
  assign _T_5210 = iofEnReg_io_q[5]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293644.4]
  assign _T_5211_oval = _T_5210 ? iofCtrl_5_oval : swPinCtrl_5_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293645.4]
  assign _T_5212 = xorReg[5]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293648.4]
  assign _T_5214 = riseIpReg[5]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293651.4]
  assign _T_5215 = riseIeReg[5]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293652.4]
  assign _T_5216 = _T_5214 & _T_5215; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293653.4]
  assign _T_5217 = fallIpReg[5]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293654.4]
  assign _T_5218 = fallIeReg[5]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293655.4]
  assign _T_5219 = _T_5217 & _T_5218; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293656.4]
  assign _T_5220 = _T_5216 | _T_5219; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293657.4]
  assign _T_5221 = highIpReg[5]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293658.4]
  assign _T_5222 = highIeReg[5]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293659.4]
  assign _T_5223 = _T_5221 & _T_5222; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293660.4]
  assign _T_5224 = _T_5220 | _T_5223; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293661.4]
  assign _T_5225 = lowIpReg[5]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293662.4]
  assign _T_5226 = lowIeReg[5]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293663.4]
  assign _T_5227 = _T_5225 & _T_5226; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293664.4]
  assign swPinCtrl_6_oval = portReg[6]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293673.4]
  assign _T_5242 = xorReg[6]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293700.4]
  assign _T_5244 = riseIpReg[6]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293703.4]
  assign _T_5245 = riseIeReg[6]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293704.4]
  assign _T_5246 = _T_5244 & _T_5245; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293705.4]
  assign _T_5247 = fallIpReg[6]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293706.4]
  assign _T_5248 = fallIeReg[6]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293707.4]
  assign _T_5249 = _T_5247 & _T_5248; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293708.4]
  assign _T_5250 = _T_5246 | _T_5249; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293709.4]
  assign _T_5251 = highIpReg[6]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293710.4]
  assign _T_5252 = highIeReg[6]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293711.4]
  assign _T_5253 = _T_5251 & _T_5252; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293712.4]
  assign _T_5254 = _T_5250 | _T_5253; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293713.4]
  assign _T_5255 = lowIpReg[6]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293714.4]
  assign _T_5256 = lowIeReg[6]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293715.4]
  assign _T_5257 = _T_5255 & _T_5256; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293716.4]
  assign swPinCtrl_7_oval = portReg[7]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293725.4]
  assign _T_5272 = xorReg[7]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293752.4]
  assign _T_5274 = riseIpReg[7]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293755.4]
  assign _T_5275 = riseIeReg[7]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293756.4]
  assign _T_5276 = _T_5274 & _T_5275; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293757.4]
  assign _T_5277 = fallIpReg[7]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293758.4]
  assign _T_5278 = fallIeReg[7]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293759.4]
  assign _T_5279 = _T_5277 & _T_5278; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293760.4]
  assign _T_5280 = _T_5276 | _T_5279; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293761.4]
  assign _T_5281 = highIpReg[7]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293762.4]
  assign _T_5282 = highIeReg[7]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293763.4]
  assign _T_5283 = _T_5281 & _T_5282; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293764.4]
  assign _T_5284 = _T_5280 | _T_5283; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293765.4]
  assign _T_5285 = lowIpReg[7]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293766.4]
  assign _T_5286 = lowIeReg[7]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293767.4]
  assign _T_5287 = _T_5285 & _T_5286; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293768.4]
  assign swPinCtrl_8_oval = portReg[8]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293777.4]
  assign _T_5302 = xorReg[8]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293804.4]
  assign _T_5304 = riseIpReg[8]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293807.4]
  assign _T_5305 = riseIeReg[8]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293808.4]
  assign _T_5306 = _T_5304 & _T_5305; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293809.4]
  assign _T_5307 = fallIpReg[8]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293810.4]
  assign _T_5308 = fallIeReg[8]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293811.4]
  assign _T_5309 = _T_5307 & _T_5308; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293812.4]
  assign _T_5310 = _T_5306 | _T_5309; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293813.4]
  assign _T_5311 = highIpReg[8]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293814.4]
  assign _T_5312 = highIeReg[8]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293815.4]
  assign _T_5313 = _T_5311 & _T_5312; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293816.4]
  assign _T_5314 = _T_5310 | _T_5313; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293817.4]
  assign _T_5315 = lowIpReg[8]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293818.4]
  assign _T_5316 = lowIeReg[8]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293819.4]
  assign _T_5317 = _T_5315 & _T_5316; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293820.4]
  assign swPinCtrl_9_oval = portReg[9]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293829.4]
  assign _T_5332 = xorReg[9]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293856.4]
  assign _T_5334 = riseIpReg[9]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293859.4]
  assign _T_5335 = riseIeReg[9]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293860.4]
  assign _T_5336 = _T_5334 & _T_5335; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293861.4]
  assign _T_5337 = fallIpReg[9]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293862.4]
  assign _T_5338 = fallIeReg[9]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293863.4]
  assign _T_5339 = _T_5337 & _T_5338; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293864.4]
  assign _T_5340 = _T_5336 | _T_5339; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293865.4]
  assign _T_5341 = highIpReg[9]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293866.4]
  assign _T_5342 = highIeReg[9]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293867.4]
  assign _T_5343 = _T_5341 & _T_5342; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293868.4]
  assign _T_5344 = _T_5340 | _T_5343; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293869.4]
  assign _T_5345 = lowIpReg[9]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293870.4]
  assign _T_5346 = lowIeReg[9]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293871.4]
  assign _T_5347 = _T_5345 & _T_5346; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293872.4]
  assign swPinCtrl_10_oval = portReg[10]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293881.4]
  assign _T_5362 = xorReg[10]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293908.4]
  assign _T_5364 = riseIpReg[10]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293911.4]
  assign _T_5365 = riseIeReg[10]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293912.4]
  assign _T_5366 = _T_5364 & _T_5365; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293913.4]
  assign _T_5367 = fallIpReg[10]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293914.4]
  assign _T_5368 = fallIeReg[10]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293915.4]
  assign _T_5369 = _T_5367 & _T_5368; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293916.4]
  assign _T_5370 = _T_5366 | _T_5369; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293917.4]
  assign _T_5371 = highIpReg[10]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293918.4]
  assign _T_5372 = highIeReg[10]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293919.4]
  assign _T_5373 = _T_5371 & _T_5372; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293920.4]
  assign _T_5374 = _T_5370 | _T_5373; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293921.4]
  assign _T_5375 = lowIpReg[10]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293922.4]
  assign _T_5376 = lowIeReg[10]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293923.4]
  assign _T_5377 = _T_5375 & _T_5376; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293924.4]
  assign swPinCtrl_11_oval = portReg[11]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293933.4]
  assign _T_5392 = xorReg[11]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293960.4]
  assign _T_5394 = riseIpReg[11]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293963.4]
  assign _T_5395 = riseIeReg[11]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293964.4]
  assign _T_5396 = _T_5394 & _T_5395; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293965.4]
  assign _T_5397 = fallIpReg[11]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293966.4]
  assign _T_5398 = fallIeReg[11]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293967.4]
  assign _T_5399 = _T_5397 & _T_5398; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293968.4]
  assign _T_5400 = _T_5396 | _T_5399; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293969.4]
  assign _T_5401 = highIpReg[11]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293970.4]
  assign _T_5402 = highIeReg[11]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@293971.4]
  assign _T_5403 = _T_5401 & _T_5402; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@293972.4]
  assign _T_5404 = _T_5400 | _T_5403; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@293973.4]
  assign _T_5405 = lowIpReg[11]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293974.4]
  assign _T_5406 = lowIeReg[11]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293975.4]
  assign _T_5407 = _T_5405 & _T_5406; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@293976.4]
  assign swPinCtrl_12_oval = portReg[12]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@293985.4]
  assign swPinCtrl_12_oe = oeReg_io_q[12]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293987.4]
  assign swPinCtrl_12_ie = ieReg_io_q[12]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@293991.4]
  assign _T_5418 = iofSelReg[12]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294003.4]
  assign iofCtrl_12_oval = _T_5418 ? swPinCtrl_12_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294004.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@294004.4]
  assign iofCtrl_12_ie = _T_5418 ? swPinCtrl_12_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294004.4]
  assign _T_5420 = iofEnReg_io_q[12]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294008.4]
  assign _T_5421_oval = _T_5420 ? iofCtrl_12_oval : swPinCtrl_12_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294009.4]
  assign _T_5422 = xorReg[12]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294012.4]
  assign _T_5424 = riseIpReg[12]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294015.4]
  assign _T_5425 = riseIeReg[12]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294016.4]
  assign _T_5426 = _T_5424 & _T_5425; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294017.4]
  assign _T_5427 = fallIpReg[12]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294018.4]
  assign _T_5428 = fallIeReg[12]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294019.4]
  assign _T_5429 = _T_5427 & _T_5428; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294020.4]
  assign _T_5430 = _T_5426 | _T_5429; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294021.4]
  assign _T_5431 = highIpReg[12]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294022.4]
  assign _T_5432 = highIeReg[12]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294023.4]
  assign _T_5433 = _T_5431 & _T_5432; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294024.4]
  assign _T_5434 = _T_5430 | _T_5433; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294025.4]
  assign _T_5435 = lowIpReg[12]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294026.4]
  assign _T_5436 = lowIeReg[12]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294027.4]
  assign _T_5437 = _T_5435 & _T_5436; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294028.4]
  assign swPinCtrl_13_oval = portReg[13]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294037.4]
  assign swPinCtrl_13_oe = oeReg_io_q[13]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294039.4]
  assign swPinCtrl_13_ie = ieReg_io_q[13]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294043.4]
  assign _T_5448 = iofSelReg[13]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294055.4]
  assign iofCtrl_13_oval = _T_5448 ? swPinCtrl_13_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294056.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@294056.4]
  assign iofCtrl_13_ie = _T_5448 ? swPinCtrl_13_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294056.4]
  assign _T_5450 = iofEnReg_io_q[13]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294060.4]
  assign _T_5451_oval = _T_5450 ? iofCtrl_13_oval : swPinCtrl_13_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294061.4]
  assign _T_5452 = xorReg[13]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294064.4]
  assign _T_5454 = riseIpReg[13]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294067.4]
  assign _T_5455 = riseIeReg[13]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294068.4]
  assign _T_5456 = _T_5454 & _T_5455; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294069.4]
  assign _T_5457 = fallIpReg[13]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294070.4]
  assign _T_5458 = fallIeReg[13]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294071.4]
  assign _T_5459 = _T_5457 & _T_5458; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294072.4]
  assign _T_5460 = _T_5456 | _T_5459; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294073.4]
  assign _T_5461 = highIpReg[13]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294074.4]
  assign _T_5462 = highIeReg[13]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294075.4]
  assign _T_5463 = _T_5461 & _T_5462; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294076.4]
  assign _T_5464 = _T_5460 | _T_5463; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294077.4]
  assign _T_5465 = lowIpReg[13]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294078.4]
  assign _T_5466 = lowIeReg[13]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294079.4]
  assign _T_5467 = _T_5465 & _T_5466; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294080.4]
  assign swPinCtrl_14_oval = portReg[14]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294089.4]
  assign swPinCtrl_14_oe = oeReg_io_q[14]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294091.4]
  assign swPinCtrl_14_ie = ieReg_io_q[14]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294095.4]
  assign _T_5478 = iofSelReg[14]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294107.4]
  assign iofCtrl_14_oval = _T_5478 ? swPinCtrl_14_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.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@294108.4]
  assign iofCtrl_14_ie = _T_5478 ? swPinCtrl_14_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.4]
  assign _T_5480 = iofEnReg_io_q[14]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294112.4]
  assign _T_5481_oval = _T_5480 ? iofCtrl_14_oval : swPinCtrl_14_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294113.4]
  assign _T_5482 = xorReg[14]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294116.4]
  assign _T_5484 = riseIpReg[14]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294119.4]
  assign _T_5485 = riseIeReg[14]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294120.4]
  assign _T_5486 = _T_5484 & _T_5485; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294121.4]
  assign _T_5487 = fallIpReg[14]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294122.4]
  assign _T_5488 = fallIeReg[14]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294123.4]
  assign _T_5489 = _T_5487 & _T_5488; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294124.4]
  assign _T_5490 = _T_5486 | _T_5489; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294125.4]
  assign _T_5491 = highIpReg[14]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294126.4]
  assign _T_5492 = highIeReg[14]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294127.4]
  assign _T_5493 = _T_5491 & _T_5492; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294128.4]
  assign _T_5494 = _T_5490 | _T_5493; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294129.4]
  assign _T_5495 = lowIpReg[14]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294130.4]
  assign _T_5496 = lowIeReg[14]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294131.4]
  assign _T_5497 = _T_5495 & _T_5496; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294132.4]
  assign swPinCtrl_15_oval = portReg[15]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294141.4]
  assign swPinCtrl_15_oe = oeReg_io_q[15]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294143.4]
  assign swPinCtrl_15_ie = ieReg_io_q[15]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294147.4]
  assign _T_5508 = iofSelReg[15]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294159.4]
  assign iofCtrl_15_oval = _T_5508 ? swPinCtrl_15_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.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@294160.4]
  assign iofCtrl_15_ie = _T_5508 ? swPinCtrl_15_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
  assign _T_5510 = iofEnReg_io_q[15]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294164.4]
  assign _T_5511_oval = _T_5510 ? iofCtrl_15_oval : swPinCtrl_15_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294165.4]
  assign _T_5512 = xorReg[15]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294168.4]
  assign _T_5514 = riseIpReg[15]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294171.4]
  assign _T_5515 = riseIeReg[15]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294172.4]
  assign _T_5516 = _T_5514 & _T_5515; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294173.4]
  assign _T_5517 = fallIpReg[15]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294174.4]
  assign _T_5518 = fallIeReg[15]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294175.4]
  assign _T_5519 = _T_5517 & _T_5518; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294176.4]
  assign _T_5520 = _T_5516 | _T_5519; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294177.4]
  assign _T_5521 = highIpReg[15]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294178.4]
  assign _T_5522 = highIeReg[15]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294179.4]
  assign _T_5523 = _T_5521 & _T_5522; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294180.4]
  assign _T_5524 = _T_5520 | _T_5523; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294181.4]
  assign _T_5525 = lowIpReg[15]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294182.4]
  assign _T_5526 = lowIeReg[15]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294183.4]
  assign _T_5527 = _T_5525 & _T_5526; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294184.4]
  assign swPinCtrl_16_oval = portReg[16]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294193.4]
  assign swPinCtrl_16_oe = oeReg_io_q[16]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294195.4]
  assign swPinCtrl_16_ie = ieReg_io_q[16]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294199.4]
  assign _T_5538 = iofSelReg[16]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294211.4]
  assign iofCtrl_16_oval = _T_5538 ? swPinCtrl_16_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.4]
  assign iofCtrl_16_oe = _T_5538 ? swPinCtrl_16_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.4]
  assign iofCtrl_16_ie = _T_5538 ? swPinCtrl_16_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.4]
  assign _T_5540 = iofEnReg_io_q[16]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294216.4]
  assign _T_5541_oval = _T_5540 ? iofCtrl_16_oval : swPinCtrl_16_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294217.4]
  assign _T_5542 = xorReg[16]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294220.4]
  assign _T_5544 = riseIpReg[16]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294223.4]
  assign _T_5545 = riseIeReg[16]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294224.4]
  assign _T_5546 = _T_5544 & _T_5545; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294225.4]
  assign _T_5547 = fallIpReg[16]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294226.4]
  assign _T_5548 = fallIeReg[16]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294227.4]
  assign _T_5549 = _T_5547 & _T_5548; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294228.4]
  assign _T_5550 = _T_5546 | _T_5549; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294229.4]
  assign _T_5551 = highIpReg[16]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294230.4]
  assign _T_5552 = highIeReg[16]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294231.4]
  assign _T_5553 = _T_5551 & _T_5552; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294232.4]
  assign _T_5554 = _T_5550 | _T_5553; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294233.4]
  assign _T_5555 = lowIpReg[16]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294234.4]
  assign _T_5556 = lowIeReg[16]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294235.4]
  assign _T_5557 = _T_5555 & _T_5556; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294236.4]
  assign swPinCtrl_17_oval = portReg[17]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294245.4]
  assign swPinCtrl_17_oe = oeReg_io_q[17]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294247.4]
  assign swPinCtrl_17_ie = ieReg_io_q[17]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294251.4]
  assign _T_5568 = iofSelReg[17]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294263.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@294264.4]
  assign iofCtrl_17_oe = _T_5568 ? swPinCtrl_17_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.4]
  assign iofCtrl_17_ie = _T_5568 ? swPinCtrl_17_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.4]
  assign _T_5570 = iofEnReg_io_q[17]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294268.4]
  assign _T_5571_oval = _T_5570 ? iofCtrl_17_oval : swPinCtrl_17_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294269.4]
  assign _T_5572 = xorReg[17]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294272.4]
  assign _T_5574 = riseIpReg[17]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294275.4]
  assign _T_5575 = riseIeReg[17]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294276.4]
  assign _T_5576 = _T_5574 & _T_5575; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294277.4]
  assign _T_5577 = fallIpReg[17]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294278.4]
  assign _T_5578 = fallIeReg[17]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294279.4]
  assign _T_5579 = _T_5577 & _T_5578; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294280.4]
  assign _T_5580 = _T_5576 | _T_5579; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294281.4]
  assign _T_5581 = highIpReg[17]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294282.4]
  assign _T_5582 = highIeReg[17]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294283.4]
  assign _T_5583 = _T_5581 & _T_5582; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294284.4]
  assign _T_5584 = _T_5580 | _T_5583; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294285.4]
  assign _T_5585 = lowIpReg[17]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294286.4]
  assign _T_5586 = lowIeReg[17]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294287.4]
  assign _T_5587 = _T_5585 & _T_5586; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294288.4]
  assign swPinCtrl_18_oval = portReg[18]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294297.4]
  assign swPinCtrl_18_oe = oeReg_io_q[18]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294299.4]
  assign swPinCtrl_18_ie = ieReg_io_q[18]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294303.4]
  assign _T_5598 = iofSelReg[18]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294315.4]
  assign iofCtrl_18_oval = _T_5598 ? swPinCtrl_18_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294316.4]
  assign iofCtrl_18_oe = _T_5598 ? swPinCtrl_18_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294316.4]
  assign iofCtrl_18_ie = _T_5598 ? swPinCtrl_18_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294316.4]
  assign _T_5600 = iofEnReg_io_q[18]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294320.4]
  assign _T_5601_oval = _T_5600 ? iofCtrl_18_oval : swPinCtrl_18_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294321.4]
  assign _T_5602 = xorReg[18]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294324.4]
  assign _T_5604 = riseIpReg[18]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294327.4]
  assign _T_5605 = riseIeReg[18]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294328.4]
  assign _T_5606 = _T_5604 & _T_5605; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294329.4]
  assign _T_5607 = fallIpReg[18]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294330.4]
  assign _T_5608 = fallIeReg[18]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294331.4]
  assign _T_5609 = _T_5607 & _T_5608; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294332.4]
  assign _T_5610 = _T_5606 | _T_5609; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294333.4]
  assign _T_5611 = highIpReg[18]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294334.4]
  assign _T_5612 = highIeReg[18]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294335.4]
  assign _T_5613 = _T_5611 & _T_5612; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294336.4]
  assign _T_5614 = _T_5610 | _T_5613; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294337.4]
  assign _T_5615 = lowIpReg[18]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294338.4]
  assign _T_5616 = lowIeReg[18]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294339.4]
  assign _T_5617 = _T_5615 & _T_5616; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294340.4]
  assign swPinCtrl_19_oval = portReg[19]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294349.4]
  assign swPinCtrl_19_oe = oeReg_io_q[19]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294351.4]
  assign swPinCtrl_19_ie = ieReg_io_q[19]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294355.4]
  assign _T_5628 = iofSelReg[19]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294367.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@294368.4]
  assign iofCtrl_19_oe = _T_5628 ? swPinCtrl_19_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
  assign iofCtrl_19_ie = _T_5628 ? swPinCtrl_19_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
  assign _T_5630 = iofEnReg_io_q[19]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294372.4]
  assign _T_5631_oval = _T_5630 ? iofCtrl_19_oval : swPinCtrl_19_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294373.4]
  assign _T_5632 = xorReg[19]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294376.4]
  assign _T_5634 = riseIpReg[19]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294379.4]
  assign _T_5635 = riseIeReg[19]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294380.4]
  assign _T_5636 = _T_5634 & _T_5635; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294381.4]
  assign _T_5637 = fallIpReg[19]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294382.4]
  assign _T_5638 = fallIeReg[19]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294383.4]
  assign _T_5639 = _T_5637 & _T_5638; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294384.4]
  assign _T_5640 = _T_5636 | _T_5639; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294385.4]
  assign _T_5641 = highIpReg[19]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294386.4]
  assign _T_5642 = highIeReg[19]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294387.4]
  assign _T_5643 = _T_5641 & _T_5642; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294388.4]
  assign _T_5644 = _T_5640 | _T_5643; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294389.4]
  assign _T_5645 = lowIpReg[19]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294390.4]
  assign _T_5646 = lowIeReg[19]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294391.4]
  assign _T_5647 = _T_5645 & _T_5646; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294392.4]
  assign swPinCtrl_20_oval = portReg[20]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294401.4]
  assign swPinCtrl_20_oe = oeReg_io_q[20]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294403.4]
  assign swPinCtrl_20_ie = ieReg_io_q[20]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294407.4]
  assign _T_5658 = iofSelReg[20]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294419.4]
  assign iofCtrl_20_oval = _T_5658 ? swPinCtrl_20_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  assign iofCtrl_20_oe = _T_5658 ? swPinCtrl_20_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  assign iofCtrl_20_ie = _T_5658 ? swPinCtrl_20_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  assign _T_5660 = iofEnReg_io_q[20]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294424.4]
  assign _T_5661_oval = _T_5660 ? iofCtrl_20_oval : swPinCtrl_20_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294425.4]
  assign _T_5662 = xorReg[20]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294428.4]
  assign _T_5664 = riseIpReg[20]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294431.4]
  assign _T_5665 = riseIeReg[20]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294432.4]
  assign _T_5666 = _T_5664 & _T_5665; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294433.4]
  assign _T_5667 = fallIpReg[20]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294434.4]
  assign _T_5668 = fallIeReg[20]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294435.4]
  assign _T_5669 = _T_5667 & _T_5668; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294436.4]
  assign _T_5670 = _T_5666 | _T_5669; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294437.4]
  assign _T_5671 = highIpReg[20]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294438.4]
  assign _T_5672 = highIeReg[20]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294439.4]
  assign _T_5673 = _T_5671 & _T_5672; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294440.4]
  assign _T_5674 = _T_5670 | _T_5673; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294441.4]
  assign _T_5675 = lowIpReg[20]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294442.4]
  assign _T_5676 = lowIeReg[20]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294443.4]
  assign _T_5677 = _T_5675 & _T_5676; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
  assign swPinCtrl_21_oval = portReg[21]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294453.4]
  assign swPinCtrl_21_oe = oeReg_io_q[21]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294455.4]
  assign swPinCtrl_21_ie = ieReg_io_q[21]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294459.4]
  assign _T_5688 = iofSelReg[21]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294471.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@294472.4]
  assign iofCtrl_21_oe = _T_5688 ? swPinCtrl_21_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.4]
  assign iofCtrl_21_ie = _T_5688 ? swPinCtrl_21_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.4]
  assign _T_5690 = iofEnReg_io_q[21]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294476.4]
  assign _T_5691_oval = _T_5690 ? iofCtrl_21_oval : swPinCtrl_21_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294477.4]
  assign _T_5692 = xorReg[21]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294480.4]
  assign _T_5694 = riseIpReg[21]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294483.4]
  assign _T_5695 = riseIeReg[21]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294484.4]
  assign _T_5696 = _T_5694 & _T_5695; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294485.4]
  assign _T_5697 = fallIpReg[21]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294486.4]
  assign _T_5698 = fallIeReg[21]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294487.4]
  assign _T_5699 = _T_5697 & _T_5698; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294488.4]
  assign _T_5700 = _T_5696 | _T_5699; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294489.4]
  assign _T_5701 = highIpReg[21]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294490.4]
  assign _T_5702 = highIeReg[21]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294491.4]
  assign _T_5703 = _T_5701 & _T_5702; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294492.4]
  assign _T_5704 = _T_5700 | _T_5703; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294493.4]
  assign _T_5705 = lowIpReg[21]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294494.4]
  assign _T_5706 = lowIeReg[21]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294495.4]
  assign _T_5707 = _T_5705 & _T_5706; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294496.4]
  assign swPinCtrl_22_oval = portReg[22]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294505.4]
  assign swPinCtrl_22_oe = oeReg_io_q[22]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294507.4]
  assign swPinCtrl_22_ie = ieReg_io_q[22]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294511.4]
  assign _T_5718 = iofSelReg[22]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294523.4]
  assign iofCtrl_22_oval = _T_5718 ? swPinCtrl_22_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.4]
  assign iofCtrl_22_oe = _T_5718 ? swPinCtrl_22_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.4]
  assign iofCtrl_22_ie = _T_5718 ? swPinCtrl_22_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.4]
  assign _T_5720 = iofEnReg_io_q[22]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294528.4]
  assign _T_5721_oval = _T_5720 ? iofCtrl_22_oval : swPinCtrl_22_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294529.4]
  assign _T_5722 = xorReg[22]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294532.4]
  assign _T_5724 = riseIpReg[22]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294535.4]
  assign _T_5725 = riseIeReg[22]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294536.4]
  assign _T_5726 = _T_5724 & _T_5725; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294537.4]
  assign _T_5727 = fallIpReg[22]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294538.4]
  assign _T_5728 = fallIeReg[22]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294539.4]
  assign _T_5729 = _T_5727 & _T_5728; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294540.4]
  assign _T_5730 = _T_5726 | _T_5729; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294541.4]
  assign _T_5731 = highIpReg[22]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294542.4]
  assign _T_5732 = highIeReg[22]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294543.4]
  assign _T_5733 = _T_5731 & _T_5732; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294544.4]
  assign _T_5734 = _T_5730 | _T_5733; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294545.4]
  assign _T_5735 = lowIpReg[22]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294546.4]
  assign _T_5736 = lowIeReg[22]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294547.4]
  assign _T_5737 = _T_5735 & _T_5736; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294548.4]
  assign swPinCtrl_23_oval = portReg[23]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294557.4]
  assign swPinCtrl_23_oe = oeReg_io_q[23]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294559.4]
  assign swPinCtrl_23_ie = ieReg_io_q[23]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294563.4]
  assign _T_5748 = iofSelReg[23]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294575.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@294576.4]
  assign iofCtrl_23_oe = _T_5748 ? swPinCtrl_23_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294576.4]
  assign iofCtrl_23_ie = _T_5748 ? swPinCtrl_23_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294576.4]
  assign _T_5750 = iofEnReg_io_q[23]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294580.4]
  assign _T_5751_oval = _T_5750 ? iofCtrl_23_oval : swPinCtrl_23_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294581.4]
  assign _T_5752 = xorReg[23]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294584.4]
  assign _T_5754 = riseIpReg[23]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294587.4]
  assign _T_5755 = riseIeReg[23]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294588.4]
  assign _T_5756 = _T_5754 & _T_5755; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294589.4]
  assign _T_5757 = fallIpReg[23]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294590.4]
  assign _T_5758 = fallIeReg[23]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294591.4]
  assign _T_5759 = _T_5757 & _T_5758; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294592.4]
  assign _T_5760 = _T_5756 | _T_5759; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294593.4]
  assign _T_5761 = highIpReg[23]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294594.4]
  assign _T_5762 = highIeReg[23]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294595.4]
  assign _T_5763 = _T_5761 & _T_5762; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294596.4]
  assign _T_5764 = _T_5760 | _T_5763; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294597.4]
  assign _T_5765 = lowIpReg[23]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294598.4]
  assign _T_5766 = lowIeReg[23]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294599.4]
  assign _T_5767 = _T_5765 & _T_5766; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294600.4]
  assign swPinCtrl_24_oval = portReg[24]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294609.4]
  assign swPinCtrl_24_oe = oeReg_io_q[24]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294611.4]
  assign swPinCtrl_24_ie = ieReg_io_q[24]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294615.4]
  assign _T_5778 = iofSelReg[24]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294627.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@294628.4]
  assign iofCtrl_24_oe = _T_5778 ? swPinCtrl_24_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
  assign iofCtrl_24_ie = _T_5778 ? swPinCtrl_24_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
  assign _T_5780 = iofEnReg_io_q[24]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294632.4]
  assign _T_5781_oval = _T_5780 ? iofCtrl_24_oval : swPinCtrl_24_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294633.4]
  assign _T_5782 = xorReg[24]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294636.4]
  assign _T_5784 = riseIpReg[24]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294639.4]
  assign _T_5785 = riseIeReg[24]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294640.4]
  assign _T_5786 = _T_5784 & _T_5785; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294641.4]
  assign _T_5787 = fallIpReg[24]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294642.4]
  assign _T_5788 = fallIeReg[24]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294643.4]
  assign _T_5789 = _T_5787 & _T_5788; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294644.4]
  assign _T_5790 = _T_5786 | _T_5789; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294645.4]
  assign _T_5791 = highIpReg[24]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294646.4]
  assign _T_5792 = highIeReg[24]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294647.4]
  assign _T_5793 = _T_5791 & _T_5792; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294648.4]
  assign _T_5794 = _T_5790 | _T_5793; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294649.4]
  assign _T_5795 = lowIpReg[24]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294650.4]
  assign _T_5796 = lowIeReg[24]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294651.4]
  assign _T_5797 = _T_5795 & _T_5796; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294652.4]
  assign swPinCtrl_25_oval = portReg[25]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294661.4]
  assign _T_5812 = xorReg[25]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294688.4]
  assign _T_5814 = riseIpReg[25]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294691.4]
  assign _T_5815 = riseIeReg[25]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294692.4]
  assign _T_5816 = _T_5814 & _T_5815; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294693.4]
  assign _T_5817 = fallIpReg[25]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294694.4]
  assign _T_5818 = fallIeReg[25]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294695.4]
  assign _T_5819 = _T_5817 & _T_5818; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294696.4]
  assign _T_5820 = _T_5816 | _T_5819; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294697.4]
  assign _T_5821 = highIpReg[25]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294698.4]
  assign _T_5822 = highIeReg[25]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294699.4]
  assign _T_5823 = _T_5821 & _T_5822; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294700.4]
  assign _T_5824 = _T_5820 | _T_5823; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294701.4]
  assign _T_5825 = lowIpReg[25]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294702.4]
  assign _T_5826 = lowIeReg[25]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294703.4]
  assign _T_5827 = _T_5825 & _T_5826; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294704.4]
  assign swPinCtrl_26_oval = portReg[26]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294713.4]
  assign _T_5842 = xorReg[26]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294740.4]
  assign _T_5844 = riseIpReg[26]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294743.4]
  assign _T_5845 = riseIeReg[26]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294744.4]
  assign _T_5846 = _T_5844 & _T_5845; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294745.4]
  assign _T_5847 = fallIpReg[26]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294746.4]
  assign _T_5848 = fallIeReg[26]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294747.4]
  assign _T_5849 = _T_5847 & _T_5848; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294748.4]
  assign _T_5850 = _T_5846 | _T_5849; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294749.4]
  assign _T_5851 = highIpReg[26]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294750.4]
  assign _T_5852 = highIeReg[26]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294751.4]
  assign _T_5853 = _T_5851 & _T_5852; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294752.4]
  assign _T_5854 = _T_5850 | _T_5853; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294753.4]
  assign _T_5855 = lowIpReg[26]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294754.4]
  assign _T_5856 = lowIeReg[26]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294755.4]
  assign _T_5857 = _T_5855 & _T_5856; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294756.4]
  assign swPinCtrl_27_oval = portReg[27]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294765.4]
  assign _T_5872 = xorReg[27]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294792.4]
  assign _T_5874 = riseIpReg[27]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294795.4]
  assign _T_5875 = riseIeReg[27]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294796.4]
  assign _T_5876 = _T_5874 & _T_5875; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294797.4]
  assign _T_5877 = fallIpReg[27]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294798.4]
  assign _T_5878 = fallIeReg[27]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294799.4]
  assign _T_5879 = _T_5877 & _T_5878; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294800.4]
  assign _T_5880 = _T_5876 | _T_5879; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294801.4]
  assign _T_5881 = highIpReg[27]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294802.4]
  assign _T_5882 = highIeReg[27]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294803.4]
  assign _T_5883 = _T_5881 & _T_5882; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294804.4]
  assign _T_5884 = _T_5880 | _T_5883; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294805.4]
  assign _T_5885 = lowIpReg[27]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294806.4]
  assign _T_5886 = lowIeReg[27]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294807.4]
  assign _T_5887 = _T_5885 & _T_5886; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294808.4]
  assign swPinCtrl_28_oval = portReg[28]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294817.4]
  assign _T_5902 = xorReg[28]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294844.4]
  assign _T_5904 = riseIpReg[28]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294847.4]
  assign _T_5905 = riseIeReg[28]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294848.4]
  assign _T_5906 = _T_5904 & _T_5905; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294849.4]
  assign _T_5907 = fallIpReg[28]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294850.4]
  assign _T_5908 = fallIeReg[28]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294851.4]
  assign _T_5909 = _T_5907 & _T_5908; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294852.4]
  assign _T_5910 = _T_5906 | _T_5909; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294853.4]
  assign _T_5911 = highIpReg[28]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294854.4]
  assign _T_5912 = highIeReg[28]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294855.4]
  assign _T_5913 = _T_5911 & _T_5912; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294856.4]
  assign _T_5914 = _T_5910 | _T_5913; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294857.4]
  assign _T_5915 = lowIpReg[28]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294858.4]
  assign _T_5916 = lowIeReg[28]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294859.4]
  assign _T_5917 = _T_5915 & _T_5916; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294860.4]
  assign swPinCtrl_29_oval = portReg[29]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294869.4]
  assign _T_5932 = xorReg[29]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294896.4]
  assign _T_5934 = riseIpReg[29]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294899.4]
  assign _T_5935 = riseIeReg[29]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294900.4]
  assign _T_5936 = _T_5934 & _T_5935; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294901.4]
  assign _T_5937 = fallIpReg[29]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294902.4]
  assign _T_5938 = fallIeReg[29]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294903.4]
  assign _T_5939 = _T_5937 & _T_5938; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294904.4]
  assign _T_5940 = _T_5936 | _T_5939; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294905.4]
  assign _T_5941 = highIpReg[29]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294906.4]
  assign _T_5942 = highIeReg[29]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294907.4]
  assign _T_5943 = _T_5941 & _T_5942; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294908.4]
  assign _T_5944 = _T_5940 | _T_5943; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294909.4]
  assign _T_5945 = lowIpReg[29]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294910.4]
  assign _T_5946 = lowIeReg[29]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294911.4]
  assign _T_5947 = _T_5945 & _T_5946; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294912.4]
  assign swPinCtrl_30_oval = portReg[30]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294921.4]
  assign _T_5962 = xorReg[30]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294948.4]
  assign _T_5964 = riseIpReg[30]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@294951.4]
  assign _T_5965 = riseIeReg[30]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294952.4]
  assign _T_5966 = _T_5964 & _T_5965; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@294953.4]
  assign _T_5967 = fallIpReg[30]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294954.4]
  assign _T_5968 = fallIeReg[30]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294955.4]
  assign _T_5969 = _T_5967 & _T_5968; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294956.4]
  assign _T_5970 = _T_5966 | _T_5969; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294957.4]
  assign _T_5971 = highIpReg[30]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@294958.4]
  assign _T_5972 = highIeReg[30]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@294959.4]
  assign _T_5973 = _T_5971 & _T_5972; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@294960.4]
  assign _T_5974 = _T_5970 | _T_5973; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@294961.4]
  assign _T_5975 = lowIpReg[30]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@294962.4]
  assign _T_5976 = lowIeReg[30]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@294963.4]
  assign _T_5977 = _T_5975 & _T_5976; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@294964.4]
  assign swPinCtrl_31_oval = portReg[31]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
  assign _T_5992 = xorReg[31]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295000.4]
  assign _T_5994 = riseIpReg[31]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295003.4]
  assign _T_5995 = riseIeReg[31]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295004.4]
  assign _T_5996 = _T_5994 & _T_5995; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@295005.4]
  assign _T_5997 = fallIpReg[31]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295006.4]
  assign _T_5998 = fallIeReg[31]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@295007.4]
  assign _T_5999 = _T_5997 & _T_5998; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295008.4]
  assign _T_6000 = _T_5996 | _T_5999; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295009.4]
  assign _T_6001 = highIpReg[31]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295010.4]
  assign _T_6002 = highIeReg[31]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@295011.4]
  assign _T_6003 = _T_6001 & _T_6002; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295012.4]
  assign _T_6004 = _T_6000 | _T_6003; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295013.4]
  assign _T_6005 = lowIpReg[31]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@295014.4]
  assign _T_6006 = lowIeReg[31]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295015.4]
  assign _T_6007 = _T_6005 & _T_6006; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295016.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_4 = intsource_auto_out_sync_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_5 = intsource_auto_out_sync_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_6 = intsource_auto_out_sync_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_7 = intsource_auto_out_sync_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_8 = intsource_auto_out_sync_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_9 = intsource_auto_out_sync_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_10 = intsource_auto_out_sync_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_11 = intsource_auto_out_sync_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_12 = intsource_auto_out_sync_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_13 = intsource_auto_out_sync_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_14 = intsource_auto_out_sync_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_15 = intsource_auto_out_sync_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_16 = intsource_auto_out_sync_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_17 = intsource_auto_out_sync_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_18 = intsource_auto_out_sync_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_19 = intsource_auto_out_sync_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_20 = intsource_auto_out_sync_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_21 = intsource_auto_out_sync_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_22 = intsource_auto_out_sync_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_23 = intsource_auto_out_sync_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_24 = intsource_auto_out_sync_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_25 = intsource_auto_out_sync_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_26 = intsource_auto_out_sync_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_27 = intsource_auto_out_sync_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_28 = intsource_auto_out_sync_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_29 = intsource_auto_out_sync_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_30 = intsource_auto_out_sync_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_int_xing_out_sync_31 = intsource_auto_out_sync_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291345.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291344.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291344.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291344.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291344.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291344.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291344.4]
  assign auto_io_out_pins_0_o_oval = _T_5061_oval ^ _T_5062; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_1_o_oval = _T_5091_oval ^ _T_5092; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_2_o_oval = _T_5121_oval ^ _T_5122; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_3_o_oval = _T_5151_oval ^ _T_5152; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_4_o_oval = _T_5181_oval ^ _T_5182; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_5_o_oval = _T_5211_oval ^ _T_5212; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_6_o_oval = swPinCtrl_6_oval ^ _T_5242; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_6_o_oe = oeReg_io_q[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_7_o_oval = swPinCtrl_7_oval ^ _T_5272; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_7_o_oe = oeReg_io_q[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_8_o_oval = swPinCtrl_8_oval ^ _T_5302; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_8_o_oe = oeReg_io_q[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_9_o_oval = swPinCtrl_9_oval ^ _T_5332; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_9_o_oe = oeReg_io_q[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_10_o_oval = swPinCtrl_10_oval ^ _T_5362; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_10_o_oe = oeReg_io_q[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_11_o_oval = swPinCtrl_11_oval ^ _T_5392; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_11_o_oe = oeReg_io_q[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_12_o_oval = _T_5421_oval ^ _T_5422; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_13_o_oval = _T_5451_oval ^ _T_5452; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_14_o_oval = _T_5481_oval ^ _T_5482; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_15_o_oval = _T_5511_oval ^ _T_5512; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_16_o_oval = _T_5541_oval ^ _T_5542; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_17_o_oval = _T_5571_oval ^ _T_5572; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_18_o_oval = _T_5601_oval ^ _T_5602; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_19_o_oval = _T_5631_oval ^ _T_5632; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_20_o_oval = _T_5661_oval ^ _T_5662; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_21_o_oval = _T_5691_oval ^ _T_5692; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_22_o_oval = _T_5721_oval ^ _T_5722; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_23_o_oval = _T_5751_oval ^ _T_5752; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_24_o_oval = _T_5781_oval ^ _T_5782; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.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@291343.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@291343.4]
  assign auto_io_out_pins_25_o_oval = swPinCtrl_25_oval ^ _T_5812; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_25_o_oe = oeReg_io_q[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_26_o_oval = swPinCtrl_26_oval ^ _T_5842; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_26_o_oe = oeReg_io_q[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_27_o_oval = swPinCtrl_27_oval ^ _T_5872; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_27_o_oe = oeReg_io_q[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_28_o_oval = swPinCtrl_28_oval ^ _T_5902; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_28_o_oe = oeReg_io_q[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_29_o_oval = swPinCtrl_29_oval ^ _T_5932; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_29_o_oe = oeReg_io_q[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_30_o_oval = swPinCtrl_30_oval ^ _T_5962; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_30_o_oe = oeReg_io_q[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_31_o_oval = swPinCtrl_31_oval ^ _T_5992; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_pins_31_o_oe = oeReg_io_q[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_2_i_ival = inSyncReg_1[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_3_i_ival = inSyncReg_1[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_4_i_ival = inSyncReg_1[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_5_i_ival = inSyncReg_1[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_12_i_ival = inSyncReg_1[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_13_i_ival = inSyncReg_1[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_14_i_ival = inSyncReg_1[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_15_i_ival = inSyncReg_1[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_16_i_ival = inSyncReg_1[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_18_i_ival = inSyncReg_1[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_20_i_ival = inSyncReg_1[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign auto_io_out_iof_0_22_i_ival = inSyncReg_1[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291343.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291278.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291279.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291341.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_3115}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign buffer_auto_out_d_bits_size = _T_3117[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign buffer_auto_out_d_bits_source = _T_3117[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign buffer_auto_out_d_bits_data = _GEN_167 ? _GEN_199 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291340.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291284.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291285.4]
  assign intsource_auto_in_0 = _T_5074 | _T_5077; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_1 = _T_5104 | _T_5107; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_2 = _T_5134 | _T_5137; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_3 = _T_5164 | _T_5167; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_4 = _T_5194 | _T_5197; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_5 = _T_5224 | _T_5227; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_6 = _T_5254 | _T_5257; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_7 = _T_5284 | _T_5287; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_8 = _T_5314 | _T_5317; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_9 = _T_5344 | _T_5347; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_10 = _T_5374 | _T_5377; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_11 = _T_5404 | _T_5407; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_12 = _T_5434 | _T_5437; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_13 = _T_5464 | _T_5467; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_14 = _T_5494 | _T_5497; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_15 = _T_5524 | _T_5527; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_16 = _T_5554 | _T_5557; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_17 = _T_5584 | _T_5587; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_18 = _T_5614 | _T_5617; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_19 = _T_5644 | _T_5647; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_20 = _T_5674 | _T_5677; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_21 = _T_5704 | _T_5707; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_22 = _T_5734 | _T_5737; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_23 = _T_5764 | _T_5767; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_24 = _T_5794 | _T_5797; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_25 = _T_5824 | _T_5827; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_26 = _T_5854 | _T_5857; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_27 = _T_5884 | _T_5887; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_28 = _T_5914 | _T_5917; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_29 = _T_5944 | _T_5947; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_30 = _T_5974 | _T_5977; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign intsource_auto_in_31 = _T_6004 | _T_6007; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@291339.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291294.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291295.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_3115}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_d_bits_size = _T_3117[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign TLMonitor_io_in_d_bits_source = _T_3117[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291328.4]
  assign oeReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291349.4]
  assign oeReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291350.4]
  assign oeReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291788.4]
  assign oeReg_io_en = _T_4083 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291787.4]
  assign pueReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291353.4]
  assign pueReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291354.4]
  assign pueReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291989.4]
  assign pueReg_io_en = _T_4095 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291988.4]
  assign ieReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291358.4]
  assign ieReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291359.4]
  assign ieReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291671.4]
  assign ieReg_io_en = _T_4077 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291670.4]
  assign inSyncReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291430.4]
  assign inSyncReg_io_d = {_T_3091,_T_3076}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291432.4]
  assign iofEnReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291448.4]
  assign iofEnReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291449.4]
  assign iofEnReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291644.4]
  assign iofEnReg_io_en = _T_4155 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291643.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@295024.2]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  input   auto_in_sync_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
  output  auto_out_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.4]
);
  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_1 = auto_in_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_2 = auto_in_sync_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_3 = auto_in_sync_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_4 = auto_in_sync_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_5 = auto_in_sync_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_6 = auto_in_sync_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_7 = auto_in_sync_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_8 = auto_in_sync_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_9 = auto_in_sync_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_10 = auto_in_sync_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_11 = auto_in_sync_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_12 = auto_in_sync_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_13 = auto_in_sync_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_14 = auto_in_sync_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_15 = auto_in_sync_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_16 = auto_in_sync_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_17 = auto_in_sync_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_18 = auto_in_sync_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_19 = auto_in_sync_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_20 = auto_in_sync_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_21 = auto_in_sync_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_22 = auto_in_sync_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_23 = auto_in_sync_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_24 = auto_in_sync_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_25 = auto_in_sync_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_26 = auto_in_sync_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_27 = auto_in_sync_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_28 = auto_in_sync_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_29 = auto_in_sync_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_30 = auto_in_sync_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
  assign auto_out_31 = auto_in_sync_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295036.4]
endmodule
module TLMonitor_83( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295091.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295092.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295093.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295094.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@295121.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295122.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@295123.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295124.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295124.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295125.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295127.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@295128.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@295130.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@295131.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295132.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295133.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295134.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295136.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295137.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295139.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295140.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295141.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295142.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295143.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295144.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295145.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295146.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295147.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295148.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295149.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295150.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295151.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295152.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295153.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295154.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295155.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295156.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295157.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295158.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295181.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295184.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295185.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295186.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295187.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295188.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295193.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295214.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295215.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295221.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295222.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295227.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295229.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295230.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295235.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295236.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295238.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295244.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295246.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295247.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295253.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295307.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295309.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295310.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295333.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295336.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@295344.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295347.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295367.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295369.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295370.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295375.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295377.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295378.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295392.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295443.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295485.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295486.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295489.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295490.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295496.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295527.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295529.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295530.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295544.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295575.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295577.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295578.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295592.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295642.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@295644.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295662.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295671.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295673.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295674.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295704.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295762.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295952.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295961.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295962.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295963.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295964.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295965.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295976.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295978.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295979.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295980.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295981.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295982.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295986.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295987.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295992.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295994.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295995.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296000.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296002.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296003.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296008.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296011.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296016.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296018.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296019.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296026.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296034.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296042.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296043.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296044.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296045.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296046.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296057.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296060.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296063.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296064.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296066.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296068.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296069.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296082.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296084.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296085.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296090.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296092.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296093.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296116.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296135.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296136.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296138.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296139.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296158.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296159.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296160.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296162.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296177.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296180.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296182.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296183.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296184.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296186.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296187.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296198.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@296200.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@296201.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296205.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@296206.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@296207.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296210.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@296202.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296216.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296217.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@296218.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296220.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296223.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296224.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@296225.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296226.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@296228.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296230.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296231.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296237.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296241.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295195.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295267.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295350.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295409.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295460.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295510.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295558.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295606.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295717.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295775.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@295121.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295122.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@295123.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295124.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295124.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295125.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295127.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@295128.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@295130.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@295131.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295132.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295133.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295134.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295136.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295137.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295139.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295140.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295141.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295142.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295143.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295144.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295145.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295146.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295147.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295148.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295149.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295150.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295151.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295152.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295153.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@295154.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295155.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295156.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295157.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295158.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295181.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295184.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295185.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295186.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295187.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295188.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295193.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295214.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295215.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295221.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295222.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295227.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295229.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295230.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295235.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295236.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295238.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295244.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295246.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295247.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295253.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295307.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295309.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295310.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295333.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295336.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@295344.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295347.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295367.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295369.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295370.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295375.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295377.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295378.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295392.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295443.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295485.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295486.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295489.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295490.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295496.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295527.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295529.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295530.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295544.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295575.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295577.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295578.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295592.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295642.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@295644.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295662.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295671.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295673.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295674.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295704.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295762.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295952.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295962.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295963.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295964.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295965.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295981.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295982.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295986.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295987.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295992.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295994.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295995.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296000.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296002.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296003.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296008.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296011.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296016.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296018.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296019.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296026.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296034.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296043.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296044.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296045.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296046.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@296063.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296064.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296066.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296068.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296069.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296082.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296084.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296085.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296090.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296092.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296093.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296116.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296136.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296138.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296139.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296159.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296160.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296162.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296177.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296180.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296182.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296183.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296184.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296186.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296187.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296198.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@296200.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@296201.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296205.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@296206.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@296207.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296210.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@296202.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296216.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296217.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@296218.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296223.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@296224.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@296225.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296226.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@296228.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296230.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296231.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296237.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296241.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295195.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295267.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295350.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295409.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295460.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295510.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295558.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295606.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295717.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295775.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@295106.8]
        end
    `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@295107.8]
        end
    `ifdef STOP_COND
      end
    `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@295178.8]
        end
    `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@295179.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@295195.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@295196.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@295202.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@295203.10]
        end
    `ifdef STOP_COND
      end
    `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@295209.10]
        end
    `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@295210.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@295217.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@295218.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@295224.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@295225.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@295232.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@295233.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@295241.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@295242.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@295249.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@295250.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@295267.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@295268.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@295274.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@295275.10]
        end
    `ifdef STOP_COND
      end
    `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@295281.10]
        end
    `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@295282.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@295289.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@295290.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@295296.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@295297.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@295304.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@295305.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@295312.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@295313.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@295321.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@295322.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@295329.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@295330.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@295350.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@295351.10]
        end
    `ifdef STOP_COND
      end
    `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@295357.10]
        end
    `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@295358.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@295364.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@295365.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@295372.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@295373.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@295380.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@295381.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@295388.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@295389.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@295409.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@295410.10]
        end
    `ifdef STOP_COND
      end
    `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@295416.10]
        end
    `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@295417.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@295423.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@295424.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@295431.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@295432.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@295439.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@295440.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@295460.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@295461.10]
        end
    `ifdef STOP_COND
      end
    `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@295467.10]
        end
    `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@295468.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@295474.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@295475.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@295482.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@295483.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@295492.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@295493.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@295510.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@295511.10]
        end
    `ifdef STOP_COND
      end
    `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@295517.10]
        end
    `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@295518.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@295524.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@295525.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@295532.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@295533.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@295540.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@295541.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@295558.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@295559.10]
        end
    `ifdef STOP_COND
      end
    `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@295565.10]
        end
    `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@295566.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@295572.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@295573.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@295580.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@295581.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@295588.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@295589.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@295606.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@295607.10]
        end
    `ifdef STOP_COND
      end
    `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@295613.10]
        end
    `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@295614.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@295620.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@295621.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@295628.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@295629.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@295636.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@295637.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@295647.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@295648.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295668.10]
        end
    `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@295669.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@295676.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@295677.10]
        end
    `ifdef STOP_COND
      end
    `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@295684.10]
        end
    `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@295685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295692.10]
        end
    `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@295693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295700.10]
        end
    `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@295701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295710.10]
        end
    `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@295711.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@295717.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@295718.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@295725.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@295726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295733.10]
        end
    `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@295734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295741.10]
        end
    `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@295742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295749.10]
        end
    `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@295750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295758.10]
        end
    `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@295759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295768.10]
        end
    `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@295769.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@295775.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@295776.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@295783.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@295784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295791.10]
        end
    `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@295792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295799.10]
        end
    `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@295800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@295808.10]
        end
    `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@295809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@295817.10]
        end
    `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@295818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295827.10]
        end
    `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@295828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295835.10]
        end
    `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@295836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295843.10]
        end
    `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@295844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295852.10]
        end
    `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@295853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295862.10]
        end
    `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@295863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295870.10]
        end
    `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@295871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@295879.10]
        end
    `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@295880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@295888.10]
        end
    `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@295889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295898.10]
        end
    `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@295899.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@295906.10]
        end
    `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@295907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295914.10]
        end
    `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@295915.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@295923.10]
        end
    `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@295924.10]
        end
    `ifdef STOP_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@295933.6]
        end
    `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@295934.6]
        end
    `ifdef STOP_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@295941.6]
        end
    `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@295942.6]
        end
    `ifdef STOP_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@295949.6]
        end
    `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@295950.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@295989.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@295990.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@295997.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@295998.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@296005.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@296006.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@296013.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@296014.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@296021.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@296022.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@296071.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@296072.8]
        end
    `ifdef STOP_COND
      end
    `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@296079.8]
        end
    `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@296080.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@296087.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@296088.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@296095.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@296096.8]
        end
    `ifdef STOP_COND
      end
    `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@296103.8]
        end
    `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@296104.8]
        end
    `ifdef STOP_COND
      end
    `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@296111.8]
        end
    `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@296112.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@296189.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@296190.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@296212.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@296213.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@296233.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@296234.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_29( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296246.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296247.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296248.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296249.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.4]
  TLMonitor_83 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296256.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@296296.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296296.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296296.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296296.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296296.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296296.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296295.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296258.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296259.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@296292.4]
endmodule
module TLMonitor_84( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296367.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296368.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296369.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@297497.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@296399.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296400.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296400.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296401.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296403.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296404.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@296406.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296407.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296409.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296410.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296412.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296413.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296415.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296416.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296417.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296418.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296419.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296420.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296421.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296422.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296423.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296424.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296425.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296426.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296427.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296428.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296429.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296430.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296431.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@296432.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@296433.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@296434.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296457.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296460.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296461.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@296462.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@296463.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@296464.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296469.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296490.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296491.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296497.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296498.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296503.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296505.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296506.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@296511.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296512.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296514.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296515.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@296520.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296522.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296523.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296529.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296583.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296585.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296586.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296609.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@296612.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@296620.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296623.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296624.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296643.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296645.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296646.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296651.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296653.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296654.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296668.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296719.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@296761.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296762.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296763.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296765.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296766.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296772.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296803.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296805.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296806.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296820.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@296851.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296853.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296854.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296868.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296918.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296920.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296921.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296938.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296947.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296949.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296950.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296980.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297038.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297228.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297237.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297238.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297239.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297240.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297241.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297252.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297253.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297254.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297255.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297256.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297257.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297258.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297260.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297262.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297263.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297268.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297270.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297271.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297276.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297278.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297279.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297284.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297286.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297287.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297292.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297294.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297295.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297302.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297310.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297318.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297319.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297320.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297321.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297322.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297333.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297335.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297336.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297339.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297340.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297342.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297344.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297345.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297358.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297360.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297361.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297366.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297368.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297369.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297392.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297401.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297411.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297412.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297413.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297414.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297415.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297434.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297435.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297436.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297437.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297438.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297453.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@297456.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297458.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297459.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297460.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297463.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@297455.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297474.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@297476.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@297477.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@297479.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@297482.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@297483.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297485.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297486.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@297478.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297492.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@297493.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@297494.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297496.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297499.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297500.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@297501.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297502.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@297503.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297504.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297506.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297507.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@297513.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297517.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296471.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296543.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296626.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296685.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296736.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296786.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296834.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296882.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296952.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296993.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297051.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@297497.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@296399.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296400.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296400.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296401.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296403.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296404.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@296406.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296407.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296409.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296410.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296412.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296413.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296415.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296416.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296417.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296418.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@296419.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296420.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296421.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296422.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296423.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296424.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296425.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296426.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296427.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296428.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296429.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296430.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296431.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@296432.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@296433.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@296434.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296457.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296460.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@296461.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@296462.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@296463.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@296464.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296469.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296490.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296491.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296497.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296498.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296503.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296505.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296506.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@296511.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296512.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296514.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296515.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@296520.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296522.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296523.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296529.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296583.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296585.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296586.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296609.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@296612.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@296620.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296623.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296624.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296643.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296645.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296646.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296651.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296653.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296654.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296668.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296719.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@296761.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296762.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296763.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296765.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296766.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296772.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296803.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296805.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296806.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296820.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@296851.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296853.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296854.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296868.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296918.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296920.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@296921.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296938.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296947.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296949.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296950.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296980.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297038.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297228.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297238.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297239.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297240.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297241.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297257.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297258.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297260.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297262.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297263.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297268.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297270.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297271.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297276.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297278.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297279.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297284.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297286.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297287.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297292.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297294.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297295.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297302.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297310.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297319.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297320.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297321.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297322.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297339.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297340.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297342.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297344.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297345.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297358.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297360.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297361.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297366.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297368.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297369.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297392.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297412.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297413.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297414.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297415.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297435.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297436.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297437.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297438.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297453.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@297456.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297458.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297459.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297460.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297463.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@297455.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297474.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@297476.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@297477.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@297479.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@297482.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@297483.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297485.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297486.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@297478.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297492.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@297493.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@297494.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297499.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297500.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@297501.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297502.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@297503.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297504.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297506.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297507.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@297513.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297517.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296471.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296543.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296626.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296685.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296736.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296786.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296834.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296882.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296952.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296993.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297051.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@296382.8]
        end
    `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@296383.8]
        end
    `ifdef STOP_COND
      end
    `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@296454.8]
        end
    `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@296455.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@296471.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@296472.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@296478.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@296479.10]
        end
    `ifdef STOP_COND
      end
    `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@296485.10]
        end
    `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@296486.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@296493.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@296494.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@296500.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@296501.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@296508.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@296509.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@296517.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@296518.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@296525.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@296526.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@296543.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@296544.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@296550.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@296551.10]
        end
    `ifdef STOP_COND
      end
    `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@296557.10]
        end
    `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@296558.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@296565.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@296566.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@296572.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@296573.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@296580.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@296581.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@296588.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@296589.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@296597.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@296598.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@296605.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@296606.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@296626.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@296627.10]
        end
    `ifdef STOP_COND
      end
    `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@296633.10]
        end
    `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@296634.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@296640.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@296641.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@296648.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@296649.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@296656.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@296657.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@296664.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@296665.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@296685.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@296686.10]
        end
    `ifdef STOP_COND
      end
    `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@296692.10]
        end
    `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@296693.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@296699.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@296700.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@296707.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@296708.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@296715.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@296716.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@296736.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@296737.10]
        end
    `ifdef STOP_COND
      end
    `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@296743.10]
        end
    `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@296744.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@296750.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@296751.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@296758.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@296759.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@296768.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@296769.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@296786.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@296787.10]
        end
    `ifdef STOP_COND
      end
    `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@296793.10]
        end
    `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@296794.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@296800.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@296801.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@296808.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@296809.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@296816.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@296817.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@296834.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@296835.10]
        end
    `ifdef STOP_COND
      end
    `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@296841.10]
        end
    `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@296842.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@296848.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@296849.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@296856.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@296857.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@296864.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@296865.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@296882.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@296883.10]
        end
    `ifdef STOP_COND
      end
    `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@296889.10]
        end
    `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@296890.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@296896.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@296897.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@296904.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@296905.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@296912.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@296913.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@296923.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@296924.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@296944.10]
        end
    `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@296945.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@296952.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@296953.10]
        end
    `ifdef STOP_COND
      end
    `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@296960.10]
        end
    `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@296961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@296968.10]
        end
    `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@296969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@296976.10]
        end
    `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@296977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@296986.10]
        end
    `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@296987.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@296993.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@296994.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@297001.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@297002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297009.10]
        end
    `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@297010.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297017.10]
        end
    `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@297018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297025.10]
        end
    `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@297026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297034.10]
        end
    `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@297035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297044.10]
        end
    `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@297045.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@297051.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@297052.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@297059.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@297060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297067.10]
        end
    `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@297068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297075.10]
        end
    `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@297076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@297084.10]
        end
    `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@297085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@297093.10]
        end
    `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@297094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@297103.10]
        end
    `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@297104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@297111.10]
        end
    `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@297112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297119.10]
        end
    `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@297120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297128.10]
        end
    `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@297129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@297138.10]
        end
    `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@297139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@297146.10]
        end
    `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@297147.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@297155.10]
        end
    `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@297156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@297164.10]
        end
    `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@297165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@297174.10]
        end
    `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@297175.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@297182.10]
        end
    `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@297183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297190.10]
        end
    `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@297191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@297199.10]
        end
    `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@297200.10]
        end
    `ifdef STOP_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@297209.6]
        end
    `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@297210.6]
        end
    `ifdef STOP_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@297217.6]
        end
    `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@297218.6]
        end
    `ifdef STOP_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@297225.6]
        end
    `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@297226.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@297265.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@297266.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@297273.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@297274.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@297281.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@297282.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@297289.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@297290.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@297297.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@297298.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@297347.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@297348.8]
        end
    `ifdef STOP_COND
      end
    `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@297355.8]
        end
    `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@297356.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@297363.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@297364.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@297371.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@297372.8]
        end
    `ifdef STOP_COND
      end
    `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@297379.8]
        end
    `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@297380.8]
        end
    `ifdef STOP_COND
      end
    `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@297387.8]
        end
    `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@297388.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@297465.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@297466.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@297488.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@297489.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@297509.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@297510.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLI2C( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297522.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297524.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input         auto_io_out_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output        auto_io_out_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  input         auto_io_out_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
  output        auto_io_out_sda_oe // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297525.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297536.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297536.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297536.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297536.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.4]
  reg [7:0] prescaler_hi; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297611.4]
  reg [31:0] _RAND_0;
  reg [7:0] prescaler_lo; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297611.4]
  reg [31:0] _RAND_1;
  reg  control_coreEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297623.4]
  reg [31:0] _RAND_2;
  reg  control_intEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297623.4]
  reg [31:0] _RAND_3;
  reg [7:0] transmitData; // @[I2C.scala 121:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297624.4]
  reg [31:0] _RAND_4;
  reg [7:0] receivedData; // @[I2C.scala 122:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297625.4]
  reg [31:0] _RAND_5;
  reg  cmd_start; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297645.4]
  reg [31:0] _RAND_6;
  reg  cmd_stop; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297645.4]
  reg [31:0] _RAND_7;
  reg  cmd_read; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297645.4]
  reg [31:0] _RAND_8;
  reg  cmd_write; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297645.4]
  reg [31:0] _RAND_9;
  reg  cmd_ack; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297645.4]
  reg [31:0] _RAND_10;
  reg  cmd_irqAck; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297645.4]
  reg [31:0] _RAND_11;
  reg  status_receivedAck; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297663.4]
  reg [31:0] _RAND_12;
  reg  status_busy; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297663.4]
  reg [31:0] _RAND_13;
  reg  status_arbLost; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297663.4]
  reg [31:0] _RAND_14;
  reg  status_transferInProgress; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297663.4]
  reg [31:0] _RAND_15;
  reg  status_irqFlag; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297663.4]
  reg [31:0] _RAND_16;
  reg [13:0] filterCnt; // @[I2C.scala 133:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297666.4]
  reg [31:0] _RAND_17;
  wire  _T_346; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@297667.4]
  wire  _T_347; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297672.6]
  wire  _T_348; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297673.6]
  wire [15:0] _T_349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297675.8]
  wire [13:0] _T_350; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@297676.8]
  wire [14:0] _T_351; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297680.8]
  wire [14:0] _T_352; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297681.8]
  wire [13:0] _T_353; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297682.8]
  reg [2:0] fSCL; // @[I2C.scala 142:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297685.4]
  reg [31:0] _RAND_18;
  reg [2:0] fSDA; // @[I2C.scala 143:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297686.4]
  reg [31:0] _RAND_19;
  wire [3:0] _T_358; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297690.6]
  wire [3:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297692.6]
  wire [3:0] _GEN_2; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297689.4]
  wire [3:0] _GEN_3; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297689.4]
  wire  _T_360; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297695.4]
  wire  _T_361; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297696.4]
  wire  _T_362; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297697.4]
  wire  _T_363; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297698.4]
  wire  _T_364; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297699.4]
  wire  _T_365; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297700.4]
  wire  _T_366; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
  wire  _T_367; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297702.4]
  reg  sSCL; // @[I2C.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297703.4]
  reg [31:0] _RAND_20;
  wire  _T_369; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297705.4]
  wire  _T_370; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297706.4]
  wire  _T_371; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297707.4]
  wire  _T_372; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297708.4]
  wire  _T_373; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297709.4]
  wire  _T_374; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297710.4]
  wire  _T_375; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297711.4]
  wire  _T_376; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297712.4]
  reg  sSDA; // @[I2C.scala 150:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297713.4]
  reg [31:0] _RAND_21;
  reg  dSCL; // @[I2C.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297715.4]
  reg [31:0] _RAND_22;
  reg  dSDA; // @[I2C.scala 153:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297717.4]
  reg [31:0] _RAND_23;
  reg  dSCLOen; // @[I2C.scala 155:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297719.4]
  reg [31:0] _RAND_24;
  wire  _T_381; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@297721.4]
  wire  _T_382; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@297722.4]
  wire  _T_383; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@297723.4]
  reg  startCond; // @[I2C.scala 159:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297724.4]
  reg [31:0] _RAND_25;
  wire  _T_385; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@297726.4]
  wire  _T_386; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@297727.4]
  wire  _T_387; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@297728.4]
  reg  stopCond; // @[I2C.scala 160:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297729.4]
  reg [31:0] _RAND_26;
  wire  _T_389; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297731.4]
  wire  _T_390; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297732.4]
  reg  sclOen; // @[I2C.scala 187:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297766.4]
  reg [31:0] _RAND_27;
  wire  _T_411; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297767.4]
  wire  sclSync; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@297733.4]
  reg  slaveWait; // @[I2C.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297734.4]
  reg [31:0] _RAND_28;
  wire  _T_392; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@297735.4]
  wire  _T_393; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297736.4]
  wire  _T_395; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@297738.4]
  wire  _T_397; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@297740.4]
  wire  _T_398; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@297741.4]
  reg  clkEn; // @[I2C.scala 171:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297743.4]
  reg [31:0] _RAND_29;
  reg [15:0] cnt; // @[I2C.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297744.4]
  reg [31:0] _RAND_30;
  wire  _T_401; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297745.4]
  wire  _T_402; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297746.4]
  wire  _T_404; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297748.4]
  wire  _T_405; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@297749.4]
  wire [16:0] _T_407; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297760.8]
  wire [16:0] _T_408; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297761.8]
  wire [15:0] _T_409; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297762.8]
  reg  sdaOen; // @[I2C.scala 190:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297769.4]
  reg [31:0] _RAND_31;
  reg  sdaChk; // @[I2C.scala 193:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297772.4]
  reg [31:0] _RAND_32;
  reg  transmitBit; // @[I2C.scala 195:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297773.4]
  reg [31:0] _RAND_33;
  reg  receivedBit; // @[I2C.scala 196:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297774.4]
  reg [31:0] _RAND_34;
  wire  _T_417; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@297775.4]
  wire  _T_418; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297776.4]
  reg [3:0] bitCmd; // @[I2C.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297780.4]
  reg [31:0] _RAND_35;
  reg  bitCmdStop; // @[I2C.scala 202:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297781.4]
  reg [31:0] _RAND_36;
  wire  _T_421; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@297783.6]
  reg  bitCmdAck; // @[I2C.scala 206:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297786.4]
  reg [31:0] _RAND_37;
  reg [4:0] bitState; // @[I2C.scala 213:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297787.4]
  reg [31:0] _RAND_38;
  wire  _T_426; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@297789.4]
  wire  _T_427; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@297790.4]
  wire  _T_428; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@297791.4]
  wire  _T_429; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@297792.4]
  wire  _T_430; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@297793.4]
  wire  _T_431; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@297794.4]
  wire  _T_432; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297795.4]
  reg  arbLost; // @[I2C.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297796.4]
  reg [31:0] _RAND_39;
  wire  _T_434; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297808.8]
  wire  _T_435; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297810.10]
  wire  _T_436; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297815.12]
  wire  _T_437; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297820.14]
  wire  _T_438; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297825.16]
  wire  _T_439; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297832.10]
  wire  _T_440; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297840.12]
  wire  _T_441; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297848.14]
  wire  _T_442; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297856.16]
  wire  _T_443; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297864.18]
  wire  _T_444; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297873.20]
  wire  _T_445; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297881.22]
  wire  _T_446; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297889.24]
  wire  _T_447; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297897.26]
  wire  _T_448; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297906.28]
  wire  _T_449; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297914.30]
  wire  _T_450; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297922.32]
  wire  _T_451; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297930.34]
  wire  _T_452; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297939.36]
  wire  _T_453; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297947.38]
  wire  _T_454; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297955.40]
  wire  _T_455; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297963.42]
  reg  load; // @[I2C.scala 355:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297973.4]
  reg [31:0] _RAND_40;
  reg  shift; // @[I2C.scala 356:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297974.4]
  reg [31:0] _RAND_41;
  reg  cmdAck; // @[I2C.scala 357:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297975.4]
  reg [31:0] _RAND_42;
  reg  receivedAck; // @[I2C.scala 358:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297976.4]
  reg [31:0] _RAND_43;
  wire  _T_460; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297977.4]
  wire  _T_461; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@297978.4]
  wire  _T_462; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297979.4]
  wire  go; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@297980.4]
  reg [2:0] bitCnt; // @[I2C.scala 361:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297981.4]
  reg [31:0] _RAND_44;
  wire [3:0] _T_464; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.8]
  wire [3:0] _T_465; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297988.8]
  wire [2:0] _T_466; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.8]
  wire  _T_467; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297992.4]
  wire  bitCntDone; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@297993.4]
  wire [8:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.8]
  wire [8:0] _GEN_116; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@297998.6]
  wire [8:0] _GEN_117; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297994.4]
  reg [2:0] byteState; // @[I2C.scala 379:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298002.4]
  reg [31:0] _RAND_45;
  wire  _T_471; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@298013.6]
  wire  _T_472; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298018.6]
  wire [2:0] _GEN_119; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.14]
  wire  _T_473; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.8]
  wire  _T_474; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298058.10]
  wire  _T_475; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298073.12]
  wire  _T_476; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298089.14]
  wire [1:0] _GEN_144; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@298092.18]
  wire  _T_477; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298109.16]
  wire  _T_54_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire [2:0] _T_54_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire  _T_514; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@298189.4]
  wire [28:0] _T_54_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire [26:0] _T_515; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@298191.4]
  wire [9:0] _T_511_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298187.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@298192.4]
  wire  _T_813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298462.4]
  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298461.4]
  wire [1:0] _T_821; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298470.4]
  wire  _T_811; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298460.4]
  wire [2:0] _T_822; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298471.4]
  wire [9:0] _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298203.4]
  wire  _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298213.4]
  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298544.4]
  wire  _T_54_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire  _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298735.4]
  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298736.4]
  wire  _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298737.4]
  wire [7:0] _T_844; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298493.4]
  wire  _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298498.4]
  wire  _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298774.4]
  wire  _T_1086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298775.4]
  wire [3:0] _T_54_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298241.4]
  wire [7:0] _T_622; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298249.4]
  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298240.4]
  wire [7:0] _T_620; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298247.4]
  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298251.4]
  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298239.4]
  wire [7:0] _T_618; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298245.4]
  wire  _T_611; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298238.4]
  wire [7:0] _T_616; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298243.4]
  wire [15:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298250.4]
  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298252.4]
  wire [7:0] _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298432.4]
  wire [7:0] _T_788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298433.4]
  wire  _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298434.4]
  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298438.4]
  wire [31:0] _T_54_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire [7:0] _T_799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298444.4]
  wire [1:0] _T_494; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298143.4]
  wire [1:0] _T_493; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298142.4]
  wire [3:0] _T_495; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298144.4]
  wire [2:0] _T_491; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298140.4]
  wire [3:0] _T_492; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298141.4]
  wire [7:0] _T_496; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298145.4]
  wire [7:0] _T_497; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@298146.4]
  wire [7:0] nextCmd; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@298445.4]
  wire  _T_484; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298125.4]
  wire  _T_486; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298129.4]
  wire  _T_487; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298131.4]
  wire  _T_488; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298133.4]
  wire  _T_489; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
  wire  _T_490; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298137.4]
  wire  _T_498; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298148.4]
  wire  _T_501; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298173.4]
  wire  _T_502; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@298174.4]
  wire  _T_503; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@298175.4]
  reg  statusReadReady; // @[I2C.scala 530:28:shc.marmotcaravel.MarmotCaravelConfig.fir@298177.4]
  reg [31:0] _RAND_46;
  wire  _T_506; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@298183.6]
  wire [5:0] _T_54_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire [1:0] _T_54_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  wire [7:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  _T_627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298254.4]
  wire  _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298455.4]
  wire  _T_807; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298456.4]
  wire  _T_1020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298701.4]
  wire  _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  wire  _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  wire  _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  wire  _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298814.4]
  wire  _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298485.4]
  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298740.4]
  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298741.4]
  wire  _T_639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298266.4]
  wire  _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298486.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298748.4]
  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298749.4]
  wire  _T_664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298294.4]
  wire  _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298487.4]
  wire  _T_1073; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298756.4]
  wire  _T_1074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298757.4]
  wire  _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298337.4]
  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298340.4]
  wire  _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298341.4]
  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298350.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298351.4]
  wire [6:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298364.4]
  wire  _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298367.4]
  wire  _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298370.4]
  wire  _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298371.4]
  wire  _T_741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298380.4]
  wire  _T_742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298381.4]
  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298394.4]
  wire  _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298488.4]
  wire  _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298766.4]
  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298767.4]
  wire  _T_768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298410.4]
  wire [3:0] _T_794; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298439.4]
  wire [4:0] _T_795; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298440.4]
  wire [1:0] _T_796; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298441.4]
  wire [2:0] _T_797; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298442.4]
  wire [7:0] _T_798; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298443.4]
  wire  _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire  _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire  _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire  _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire  _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire  _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire  _GEN_251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  wire [7:0] _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  wire [7:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298848.4]
  TLBuffer_29 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297530.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@297536.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_84 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@297548.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@297667.4]
  assign _T_347 = filterCnt != 14'h0; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297672.6]
  assign _T_348 = _T_347 == 1'h0; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297673.6]
  assign _T_349 = {prescaler_hi,prescaler_lo}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297675.8]
  assign _T_350 = _T_349[15:2]; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@297676.8]
  assign _T_351 = filterCnt - 14'h1; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297680.8]
  assign _T_352 = $unsigned(_T_351); // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297681.8]
  assign _T_353 = _T_352[13:0]; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297682.8]
  assign _T_358 = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297690.6]
  assign _T_359 = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297692.6]
  assign _GEN_2 = _T_348 ? _T_358 : {{1'd0}, fSCL}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297689.4]
  assign _GEN_3 = _T_348 ? _T_359 : {{1'd0}, fSDA}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297689.4]
  assign _T_360 = fSCL[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297695.4]
  assign _T_361 = fSCL[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297696.4]
  assign _T_362 = fSCL[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297697.4]
  assign _T_363 = _T_360 & _T_361; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297698.4]
  assign _T_364 = _T_360 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297699.4]
  assign _T_365 = _T_363 | _T_364; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297700.4]
  assign _T_366 = _T_361 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
  assign _T_367 = _T_365 | _T_366; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297702.4]
  assign _T_369 = fSDA[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297705.4]
  assign _T_370 = fSDA[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297706.4]
  assign _T_371 = fSDA[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@297707.4]
  assign _T_372 = _T_369 & _T_370; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297708.4]
  assign _T_373 = _T_369 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297709.4]
  assign _T_374 = _T_372 | _T_373; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297710.4]
  assign _T_375 = _T_370 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@297711.4]
  assign _T_376 = _T_374 | _T_375; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297712.4]
  assign _T_381 = sSDA == 1'h0; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@297721.4]
  assign _T_382 = _T_381 & dSDA; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@297722.4]
  assign _T_383 = _T_382 & sSCL; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@297723.4]
  assign _T_385 = dSDA == 1'h0; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@297726.4]
  assign _T_386 = sSDA & _T_385; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@297727.4]
  assign _T_387 = _T_386 & sSCL; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@297728.4]
  assign _T_389 = sSCL == 1'h0; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@297731.4]
  assign _T_390 = dSCL & _T_389; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297732.4]
  assign _T_411 = sclOen == 1'h0; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297767.4]
  assign sclSync = _T_390 & _T_411; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@297733.4]
  assign _T_392 = dSCLOen == 1'h0; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@297735.4]
  assign _T_393 = _T_411 & _T_392; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@297736.4]
  assign _T_395 = _T_393 & _T_389; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@297738.4]
  assign _T_397 = slaveWait & _T_389; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@297740.4]
  assign _T_398 = _T_395 | _T_397; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@297741.4]
  assign _T_401 = cnt != 16'h0; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297745.4]
  assign _T_402 = _T_401 == 1'h0; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297746.4]
  assign _T_404 = _T_402 | _T_346; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297748.4]
  assign _T_405 = _T_404 | sclSync; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@297749.4]
  assign _T_407 = cnt - 16'h1; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297760.8]
  assign _T_408 = $unsigned(_T_407); // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297761.8]
  assign _T_409 = _T_408[15:0]; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297762.8]
  assign _T_417 = dSCL == 1'h0; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@297775.4]
  assign _T_418 = sSCL & _T_417; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297776.4]
  assign _T_421 = bitCmd == 4'h2; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@297783.6]
  assign _T_426 = sdaChk & _T_381; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@297789.4]
  assign _T_427 = _T_426 & sdaOen; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@297790.4]
  assign _T_428 = bitState != 5'h0; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@297791.4]
  assign _T_429 = _T_428 & stopCond; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@297792.4]
  assign _T_430 = bitCmdStop == 1'h0; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@297793.4]
  assign _T_431 = _T_429 & _T_430; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@297794.4]
  assign _T_432 = _T_427 | _T_431; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297795.4]
  assign _T_434 = 5'h0 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297808.8]
  assign _T_435 = 4'h1 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297810.10]
  assign _T_436 = 4'h2 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297815.12]
  assign _T_437 = 4'h4 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297820.14]
  assign _T_438 = 4'h8 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297825.16]
  assign _T_439 = 5'h1 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297832.10]
  assign _T_440 = 5'h2 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297840.12]
  assign _T_441 = 5'h3 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297848.14]
  assign _T_442 = 5'h4 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297856.16]
  assign _T_443 = 5'h5 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297864.18]
  assign _T_444 = 5'h6 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297873.20]
  assign _T_445 = 5'h7 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297881.22]
  assign _T_446 = 5'h8 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297889.24]
  assign _T_447 = 5'h9 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297897.26]
  assign _T_448 = 5'ha == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297906.28]
  assign _T_449 = 5'hb == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297914.30]
  assign _T_450 = 5'hc == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297922.32]
  assign _T_451 = 5'hd == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297930.34]
  assign _T_452 = 5'he == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297939.36]
  assign _T_453 = 5'hf == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297947.38]
  assign _T_454 = 5'h10 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297955.40]
  assign _T_455 = 5'h11 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297963.42]
  assign _T_460 = cmd_read | cmd_write; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297977.4]
  assign _T_461 = _T_460 | cmd_stop; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@297978.4]
  assign _T_462 = cmdAck == 1'h0; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297979.4]
  assign go = _T_461 & _T_462; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@297980.4]
  assign _T_464 = bitCnt - 3'h1; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.8]
  assign _T_465 = $unsigned(_T_464); // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297988.8]
  assign _T_466 = _T_465[2:0]; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.8]
  assign _T_467 = bitCnt != 3'h0; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@297992.4]
  assign bitCntDone = _T_467 == 1'h0; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@297993.4]
  assign _T_468 = {receivedData,receivedBit}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.8]
  assign _GEN_116 = shift ? _T_468 : {{1'd0}, receivedData}; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@297998.6]
  assign _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297994.4]
  assign _T_471 = receivedData[7]; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@298013.6]
  assign _T_472 = 3'h0 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298018.6]
  assign _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.14]
  assign _T_473 = 3'h1 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.8]
  assign _T_474 = 3'h3 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298058.10]
  assign _T_475 = 3'h2 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298073.12]
  assign _T_476 = 3'h4 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298089.14]
  assign _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@298092.18]
  assign _T_477 = 3'h5 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@298109.16]
  assign _T_54_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_54_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_514 = _T_54_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@298189.4]
  assign _T_54_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_515 = _T_54_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@298191.4]
  assign _T_511_bits_index = _T_515[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298187.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@298192.4]
  assign _T_813 = _T_511_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298462.4]
  assign _T_812 = _T_511_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298461.4]
  assign _T_821 = {_T_813,_T_812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298470.4]
  assign _T_811 = _T_511_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298460.4]
  assign _T_822 = {_T_821,_T_811}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298471.4]
  assign _T_532 = _T_511_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298203.4]
  assign _T_542 = _T_532 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298213.4]
  assign _T_883 = _T_542 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298544.4]
  assign _T_54_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_1056 = _T_54_a_valid & _T_54_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298735.4]
  assign _T_1057 = _T_514 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298736.4]
  assign _T_1058 = _T_1056 & _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298737.4]
  assign _T_844 = 8'h1 << _T_822; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298493.4]
  assign _T_849 = _T_844[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298498.4]
  assign _T_1085 = _T_1058 & _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298774.4]
  assign _T_1086 = _T_1085 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298775.4]
  assign _T_54_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_614 = _T_54_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298241.4]
  assign _T_622 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298249.4]
  assign _T_613 = _T_54_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298240.4]
  assign _T_620 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298247.4]
  assign _T_624 = {_T_622,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298251.4]
  assign _T_612 = _T_54_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298239.4]
  assign _T_618 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298245.4]
  assign _T_611 = _T_54_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298238.4]
  assign _T_616 = _T_611 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298243.4]
  assign _T_623 = {_T_618,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298250.4]
  assign _T_625 = {_T_624,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298252.4]
  assign _T_787 = _T_625[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298432.4]
  assign _T_788 = ~ _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298433.4]
  assign _T_789 = _T_788 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298434.4]
  assign _T_793 = _T_1086 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298438.4]
  assign _T_54_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_799 = _T_54_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298444.4]
  assign _T_494 = {cmd_start,cmd_stop}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298143.4]
  assign _T_493 = {cmd_read,cmd_write}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298142.4]
  assign _T_495 = {_T_494,_T_493}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298144.4]
  assign _T_491 = {cmd_ack,2'h0}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298140.4]
  assign _T_492 = {_T_491,cmd_irqAck}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298141.4]
  assign _T_496 = {_T_495,_T_492}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@298145.4]
  assign _T_497 = _T_496 & 8'hfe; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@298146.4]
  assign nextCmd = _T_793 ? _T_799 : _T_497; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@298445.4]
  assign _T_484 = nextCmd[0]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298125.4]
  assign _T_486 = nextCmd[3]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298129.4]
  assign _T_487 = nextCmd[4]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298131.4]
  assign _T_488 = nextCmd[5]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298133.4]
  assign _T_489 = nextCmd[6]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
  assign _T_490 = nextCmd[7]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298137.4]
  assign _T_498 = cmdAck | arbLost; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298148.4]
  assign _T_501 = _T_498 | status_irqFlag; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@298173.4]
  assign _T_502 = cmd_irqAck == 1'h0; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@298174.4]
  assign _T_503 = _T_501 & _T_502; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@298175.4]
  assign _T_506 = statusReadReady == 1'h0; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@298183.6]
  assign _T_54_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_54_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@297546.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign _T_516 = {_T_54_a_bits_source,_T_54_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  assign _T_627 = _T_787 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298254.4]
  assign _T_806 = _T_627 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298455.4]
  assign _T_807 = statusReadReady | _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298456.4]
  assign _T_1020 = _T_807 | _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298701.4]
  assign _GEN_232 = 3'h4 == _T_822 ? _T_1020 : 1'h1; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  assign _GEN_233 = 3'h5 == _T_822 ? 1'h1 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  assign _GEN_234 = 3'h6 == _T_822 ? 1'h1 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  assign _GEN_235 = 3'h7 == _T_822 ? 1'h1 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298734.4]
  assign _T_1125 = _T_514 ? _GEN_235 : 1'h1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298814.4]
  assign _T_836 = _T_844[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298485.4]
  assign _T_1061 = _T_1058 & _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298740.4]
  assign _T_1062 = _T_1061 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298741.4]
  assign _T_639 = _T_1062 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298266.4]
  assign _T_837 = _T_844[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298486.4]
  assign _T_1067 = _T_1058 & _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298748.4]
  assign _T_1068 = _T_1067 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298749.4]
  assign _T_664 = _T_1068 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298294.4]
  assign _T_838 = _T_844[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298487.4]
  assign _T_1073 = _T_1058 & _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298756.4]
  assign _T_1074 = _T_1073 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298757.4]
  assign _T_701 = _T_625[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298337.4]
  assign _T_704 = ~ _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298340.4]
  assign _T_705 = _T_704 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298341.4]
  assign _T_714 = _T_1074 & _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298350.4]
  assign _T_715 = _T_54_a_bits_data[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298351.4]
  assign _T_725 = {control_intEn,6'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298364.4]
  assign _T_728 = _T_625[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298367.4]
  assign _T_731 = ~ _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298370.4]
  assign _T_732 = _T_731 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298371.4]
  assign _T_741 = _T_1074 & _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298380.4]
  assign _T_742 = _T_54_a_bits_data[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298381.4]
  assign _T_752 = {control_coreEn,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@298394.4]
  assign _T_839 = _T_844[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298488.4]
  assign _T_1079 = _T_1058 & _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298766.4]
  assign _T_1080 = _T_1079 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298767.4]
  assign _T_768 = _T_1080 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298410.4]
  assign _T_794 = {3'h0,status_transferInProgress}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298439.4]
  assign _T_795 = {_T_794,status_irqFlag}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298440.4]
  assign _T_796 = {status_receivedAck,status_busy}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298441.4]
  assign _T_797 = {_T_796,status_arbLost}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298442.4]
  assign _T_798 = {_T_797,_T_795}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@298443.4]
  assign _GEN_245 = 3'h1 == _T_822 ? _T_542 : _T_542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_246 = 3'h2 == _T_822 ? _T_542 : _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_247 = 3'h3 == _T_822 ? _T_542 : _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_248 = 3'h4 == _T_822 ? _T_542 : _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_249 = 3'h5 == _T_822 ? 1'h1 : _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_250 = 3'h6 == _T_822 ? 1'h1 : _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_251 = 3'h7 == _T_822 ? 1'h1 : _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298835.4]
  assign _GEN_253 = 3'h1 == _T_822 ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _GEN_254 = 3'h2 == _T_822 ? _T_752 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _GEN_255 = 3'h3 == _T_822 ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _GEN_256 = 3'h4 == _T_822 ? _T_798 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _GEN_257 = 3'h5 == _T_822 ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _GEN_258 = 3'h6 == _T_822 ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _GEN_259 = 3'h7 == _T_822 ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@298847.4]
  assign _T_1164 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298848.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@297601.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297600.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297600.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297600.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297600.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297600.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297600.4]
  assign auto_io_out_scl_oe = sclOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@297599.4]
  assign auto_io_out_sda_oe = sdaOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@297599.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297534.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297535.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297597.4]
  assign buffer_auto_out_a_ready = _T_54_d_ready & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign buffer_auto_out_d_valid = _T_54_a_valid & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_514}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign buffer_auto_out_d_bits_size = _T_516[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign buffer_auto_out_d_bits_source = _T_516[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign buffer_auto_out_d_bits_data = {{24'd0}, _T_1164}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@297596.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297540.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297541.4]
  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@297595.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297550.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297551.4]
  assign TLMonitor_io_in_a_ready = _T_54_d_ready & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_d_valid = _T_54_a_valid & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_514}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_d_bits_size = _T_516[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.4]
  assign TLMonitor_io_in_d_bits_source = _T_516[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297584.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_85( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298947.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298948.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298949.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298950.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@300077.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@298977.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@298978.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@298979.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298980.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298980.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298981.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@298983.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298984.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@298986.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298987.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298988.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298989.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@298990.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298992.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@298993.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298995.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@298996.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298997.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298998.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@298999.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299000.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299001.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299002.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299003.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299004.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299005.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299006.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299007.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299008.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299009.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299010.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299011.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@299012.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@299013.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@299014.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299037.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@299040.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@299041.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@299042.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@299043.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@299044.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299049.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299070.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299071.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299077.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299078.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299083.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299085.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299086.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@299091.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299092.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299094.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299095.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@299100.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299102.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299103.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299109.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299163.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299165.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299166.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299189.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@299192.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@299200.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299203.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299204.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299223.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299225.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299226.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299231.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299233.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299234.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299248.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299299.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@299341.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299342.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@299343.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299345.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299346.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299352.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@299383.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299385.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299386.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299400.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@299431.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299433.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299434.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299448.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@299498.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@299500.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@299501.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299518.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299527.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299529.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299530.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299560.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299618.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299808.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299817.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299818.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299819.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299820.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299821.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299832.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299833.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299834.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299835.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299836.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299837.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@299838.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299840.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299842.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299843.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299848.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299850.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299851.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299856.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299858.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299859.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299864.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299866.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299867.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299872.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299874.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299875.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@299882.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299890.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299898.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299899.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299900.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299901.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299902.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299913.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299915.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299916.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299919.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@299920.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299922.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299924.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299925.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299938.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299940.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299941.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299946.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299948.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299949.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@299972.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299981.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299991.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299992.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299993.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299994.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299995.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300014.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300015.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300016.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300017.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300018.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300033.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@300036.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@300038.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@300039.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300040.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300042.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300043.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@300035.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300054.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@300056.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@300057.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@300059.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@300061.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@300062.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@300063.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300065.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300066.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@300058.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300072.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300073.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@300074.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300076.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@300079.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300080.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@300081.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300082.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@300083.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@300084.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300086.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300087.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300093.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300097.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299051.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299123.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299206.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299265.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299316.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299366.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299414.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299462.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299532.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299573.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299631.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@300077.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@298977.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@298978.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@298979.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298980.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298980.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@298981.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@298983.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@298984.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@298986.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298987.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298988.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298989.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@298990.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298992.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@298993.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298995.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@298996.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298997.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298998.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@298999.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299000.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299001.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299002.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299003.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299004.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299005.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299006.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299007.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299008.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299009.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@299010.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299011.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@299012.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@299013.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@299014.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299037.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@299040.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@299041.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@299042.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@299043.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@299044.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299049.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299070.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299071.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299077.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299078.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299083.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299085.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299086.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@299091.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299092.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299094.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299095.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@299100.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299102.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299103.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299109.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299163.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299165.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299166.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299189.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@299192.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@299200.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299203.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299204.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299223.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299225.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299226.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299231.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299233.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299234.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299248.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299299.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@299341.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299342.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@299343.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299345.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299346.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299352.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@299383.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299385.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299386.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299400.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@299431.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299433.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299434.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299448.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@299498.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@299500.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@299501.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299518.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@299527.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299529.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299530.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299560.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299618.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299808.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299818.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299819.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299820.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299821.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299837.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@299838.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299840.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299842.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299843.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299848.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299850.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299851.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299856.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299858.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299859.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299864.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299866.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299867.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299872.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299874.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299875.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@299882.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299890.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299899.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299900.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299901.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299902.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@299919.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@299920.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299922.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299924.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299925.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299938.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299940.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299941.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@299946.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299948.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299949.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@299972.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299992.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299993.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@299994.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@299995.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300015.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300016.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300017.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300018.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300033.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@300036.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@300038.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@300039.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300040.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300042.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300043.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@300035.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300054.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@300056.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@300057.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@300059.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@300061.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@300062.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@300063.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300065.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300066.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@300058.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300072.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300073.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@300074.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@300079.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@300080.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@300081.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300082.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@300083.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@300084.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300086.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300087.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300093.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300097.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299051.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299123.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299206.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299265.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299316.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299366.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299414.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299462.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299532.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299573.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@299631.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@298962.8]
        end
    `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@298963.8]
        end
    `ifdef STOP_COND
      end
    `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@299034.8]
        end
    `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@299035.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@299051.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@299052.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@299058.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@299059.10]
        end
    `ifdef STOP_COND
      end
    `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@299065.10]
        end
    `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@299066.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@299073.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@299074.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@299080.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@299081.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@299088.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@299089.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@299097.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@299098.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@299105.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@299106.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@299123.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@299124.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@299130.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@299131.10]
        end
    `ifdef STOP_COND
      end
    `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@299137.10]
        end
    `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@299138.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@299145.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@299146.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@299152.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@299153.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@299160.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@299161.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@299168.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@299169.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@299177.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@299178.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@299185.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@299186.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@299206.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@299207.10]
        end
    `ifdef STOP_COND
      end
    `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@299213.10]
        end
    `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@299214.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@299220.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@299221.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@299228.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@299229.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@299236.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@299237.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@299244.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@299245.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@299265.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@299266.10]
        end
    `ifdef STOP_COND
      end
    `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@299272.10]
        end
    `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@299273.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@299279.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@299280.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@299287.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@299288.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@299295.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@299296.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@299316.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@299317.10]
        end
    `ifdef STOP_COND
      end
    `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@299323.10]
        end
    `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@299324.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@299330.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@299331.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@299338.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@299339.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@299348.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@299349.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@299366.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@299367.10]
        end
    `ifdef STOP_COND
      end
    `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@299373.10]
        end
    `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@299374.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@299380.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@299381.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@299388.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@299389.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@299396.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@299397.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@299414.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@299415.10]
        end
    `ifdef STOP_COND
      end
    `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@299421.10]
        end
    `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@299422.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@299428.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@299429.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@299436.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@299437.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@299444.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@299445.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@299462.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@299463.10]
        end
    `ifdef STOP_COND
      end
    `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@299469.10]
        end
    `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@299470.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@299476.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@299477.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@299484.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@299485.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@299492.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@299493.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@299503.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@299504.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299524.10]
        end
    `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@299525.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@299532.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@299533.10]
        end
    `ifdef STOP_COND
      end
    `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@299540.10]
        end
    `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@299541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299548.10]
        end
    `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@299549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299556.10]
        end
    `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@299557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299566.10]
        end
    `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@299567.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@299573.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@299574.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@299581.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@299582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299589.10]
        end
    `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@299590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299597.10]
        end
    `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@299598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299605.10]
        end
    `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@299606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299614.10]
        end
    `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@299615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299624.10]
        end
    `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@299625.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@299631.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@299632.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@299639.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@299640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299647.10]
        end
    `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@299648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299655.10]
        end
    `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@299656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@299664.10]
        end
    `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@299665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@299673.10]
        end
    `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@299674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299683.10]
        end
    `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@299684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299691.10]
        end
    `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@299692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299699.10]
        end
    `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@299700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299708.10]
        end
    `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@299709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299718.10]
        end
    `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@299719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299726.10]
        end
    `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@299727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@299735.10]
        end
    `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@299736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@299744.10]
        end
    `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@299745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299754.10]
        end
    `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@299755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@299762.10]
        end
    `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@299763.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299770.10]
        end
    `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@299771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@299779.10]
        end
    `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@299780.10]
        end
    `ifdef STOP_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@299789.6]
        end
    `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@299790.6]
        end
    `ifdef STOP_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@299797.6]
        end
    `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@299798.6]
        end
    `ifdef STOP_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@299805.6]
        end
    `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@299806.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@299845.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@299846.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@299853.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@299854.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@299861.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@299862.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@299869.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@299870.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@299877.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@299878.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@299927.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@299928.8]
        end
    `ifdef STOP_COND
      end
    `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@299935.8]
        end
    `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@299936.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@299943.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@299944.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@299951.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@299952.8]
        end
    `ifdef STOP_COND
      end
    `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@299959.8]
        end
    `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@299960.8]
        end
    `ifdef STOP_COND
      end
    `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@299967.8]
        end
    `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@299968.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@300045.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@300046.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@300068.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@300069.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@300089.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@300090.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_30( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300102.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300103.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300104.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300105.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.4]
  TLMonitor_85 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300112.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@300152.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300152.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300152.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300152.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300152.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300152.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300151.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300114.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300115.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@300148.4]
endmodule
module TLMonitor_86( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300223.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300224.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300225.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@300226.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@301353.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@300253.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@300254.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@300255.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@300256.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@300256.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@300257.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300259.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300260.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@300262.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@300263.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300264.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300265.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@300266.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300268.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300269.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300271.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300272.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300273.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300274.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@300275.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300276.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300277.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300278.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300279.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300280.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300281.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300282.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300283.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300284.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300285.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300286.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300287.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@300288.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@300289.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@300290.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300313.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300316.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300317.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@300318.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@300319.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@300320.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300325.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300346.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300347.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300353.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300354.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300359.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300361.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300362.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@300367.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300368.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300370.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300371.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@300376.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300378.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300379.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300385.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300439.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300441.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300442.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300465.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@300468.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@300476.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300479.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300480.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300499.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300501.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300502.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300507.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300509.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300510.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300524.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300575.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@300617.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300618.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@300619.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300621.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300622.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300628.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@300659.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300661.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300662.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300676.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@300707.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300709.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300710.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300724.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@300774.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300776.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300777.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300794.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300803.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300805.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300806.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300836.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300894.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301084.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301093.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301094.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301095.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301096.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301097.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301108.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301109.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301110.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301111.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301112.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301113.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301114.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301116.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301118.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301119.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301124.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301126.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301127.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301132.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301134.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301135.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301140.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301142.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301143.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301148.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301150.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301151.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@301158.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301166.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301174.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301175.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301176.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301177.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301178.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301189.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301191.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301192.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301195.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301196.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301198.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301200.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301201.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301214.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301216.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301217.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301222.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301224.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301225.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@301248.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301257.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301267.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301268.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301269.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301270.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301271.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301290.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301291.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301292.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301293.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301294.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301309.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@301312.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301314.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301315.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301316.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301318.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301319.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@301311.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301330.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@301332.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@301333.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@301335.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@301337.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301338.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301339.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301341.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301342.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@301334.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301348.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301349.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@301350.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301352.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301355.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301356.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@301357.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301358.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@301359.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301360.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@301362.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@301363.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@301369.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301373.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300327.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300399.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300482.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300541.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300592.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300642.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300690.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300738.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300808.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300849.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300907.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@301353.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@300253.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@300254.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@300255.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@300256.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@300256.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@300257.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300259.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300260.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@300262.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@300263.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300264.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300265.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@300266.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300268.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300269.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300271.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300272.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300273.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@300274.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@300275.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300276.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300277.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300278.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300279.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300280.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300281.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300282.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300283.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300284.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300285.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@300286.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@300287.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@300288.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@300289.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@300290.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300313.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@300316.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@300317.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@300318.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@300319.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@300320.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300325.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300346.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300347.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300353.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300354.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300359.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300361.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300362.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@300367.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300368.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300370.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300371.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@300376.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300378.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300379.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300385.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300439.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300441.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300442.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300465.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@300468.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@300476.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300479.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300480.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300499.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300501.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300502.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300507.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300509.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300510.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300524.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300575.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@300617.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@300618.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@300619.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300621.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300622.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300628.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@300659.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300661.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300662.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300676.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@300707.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300709.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300710.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300724.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@300774.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300776.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@300777.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300794.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@300803.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300805.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300806.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300836.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@300894.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301084.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301094.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301095.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301096.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301097.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301113.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301114.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301116.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301118.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301119.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301124.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301126.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301127.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301132.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301134.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301135.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301140.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301142.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301143.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301148.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301150.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301151.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@301158.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301166.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301175.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301176.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301177.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301178.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301195.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301196.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301198.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301200.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301201.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301214.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301216.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301217.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301222.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301224.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301225.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@301248.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301268.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301269.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301270.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301271.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301291.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301292.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301293.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301294.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301309.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@301312.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301314.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301315.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301316.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301318.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301319.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@301311.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301330.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@301332.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@301333.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@301335.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@301337.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301338.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301339.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301341.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301342.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@301334.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301348.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301349.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@301350.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301355.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@301356.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@301357.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301358.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@301359.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301360.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@301362.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@301363.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@301369.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301373.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300327.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300399.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300482.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300541.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300592.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300642.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300690.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300738.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300808.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300849.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@300907.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@300238.8]
        end
    `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@300239.8]
        end
    `ifdef STOP_COND
      end
    `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@300310.8]
        end
    `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@300311.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@300327.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@300328.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@300334.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@300335.10]
        end
    `ifdef STOP_COND
      end
    `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@300341.10]
        end
    `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@300342.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@300349.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@300350.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@300356.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@300357.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@300364.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@300365.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@300373.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@300374.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@300381.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@300382.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@300399.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@300400.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@300406.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@300407.10]
        end
    `ifdef STOP_COND
      end
    `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@300413.10]
        end
    `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@300414.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@300421.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@300422.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@300428.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@300429.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@300436.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@300437.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@300444.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@300445.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@300453.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@300454.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@300461.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@300462.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@300482.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@300483.10]
        end
    `ifdef STOP_COND
      end
    `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@300489.10]
        end
    `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@300490.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@300496.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@300497.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@300504.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@300505.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@300512.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@300513.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@300520.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@300521.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@300541.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@300542.10]
        end
    `ifdef STOP_COND
      end
    `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@300548.10]
        end
    `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@300549.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@300555.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@300556.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@300563.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@300564.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@300571.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@300572.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@300592.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@300593.10]
        end
    `ifdef STOP_COND
      end
    `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@300599.10]
        end
    `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@300600.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@300606.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@300607.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@300614.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@300615.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@300624.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@300625.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@300642.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@300643.10]
        end
    `ifdef STOP_COND
      end
    `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@300649.10]
        end
    `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@300650.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@300656.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@300657.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@300664.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@300665.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@300672.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@300673.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@300690.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@300691.10]
        end
    `ifdef STOP_COND
      end
    `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@300697.10]
        end
    `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@300698.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@300704.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@300705.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@300712.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@300713.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@300720.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@300721.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@300738.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@300739.10]
        end
    `ifdef STOP_COND
      end
    `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@300745.10]
        end
    `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@300746.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@300752.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@300753.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@300760.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@300761.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@300768.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@300769.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@300779.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@300780.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@300800.10]
        end
    `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@300801.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@300808.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@300809.10]
        end
    `ifdef STOP_COND
      end
    `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@300816.10]
        end
    `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@300817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@300824.10]
        end
    `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@300825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@300832.10]
        end
    `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@300833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300842.10]
        end
    `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@300843.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@300849.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@300850.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@300857.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@300858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300865.10]
        end
    `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@300866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300873.10]
        end
    `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@300874.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300881.10]
        end
    `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@300882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300890.10]
        end
    `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@300891.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300900.10]
        end
    `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@300901.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@300907.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@300908.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@300915.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@300916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300923.10]
        end
    `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@300924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300931.10]
        end
    `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@300932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@300940.10]
        end
    `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@300941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@300949.10]
        end
    `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@300950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@300959.10]
        end
    `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@300960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@300967.10]
        end
    `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@300968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300975.10]
        end
    `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@300976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@300984.10]
        end
    `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@300985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@300994.10]
        end
    `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@300995.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@301002.10]
        end
    `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@301003.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@301011.10]
        end
    `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@301012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `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@301020.10]
        end
    `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@301021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@301030.10]
        end
    `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@301031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `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@301038.10]
        end
    `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@301039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@301046.10]
        end
    `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@301047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // 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@301055.10]
        end
    `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@301056.10]
        end
    `ifdef STOP_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@301065.6]
        end
    `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@301066.6]
        end
    `ifdef STOP_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@301073.6]
        end
    `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@301074.6]
        end
    `ifdef STOP_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@301081.6]
        end
    `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@301082.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@301121.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@301122.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@301129.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@301130.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@301137.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@301138.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@301145.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@301146.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@301153.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@301154.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@301203.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@301204.8]
        end
    `ifdef STOP_COND
      end
    `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@301211.8]
        end
    `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@301212.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@301219.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@301220.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@301227.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@301228.8]
        end
    `ifdef STOP_COND
      end
    `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@301235.8]
        end
    `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@301236.8]
        end
    `ifdef STOP_COND
      end
    `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@301243.8]
        end
    `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@301244.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@301321.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@301322.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@301344.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@301345.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@301365.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@301366.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLI2C_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301378.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301379.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301380.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input         auto_io_out_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output        auto_io_out_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  input         auto_io_out_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
  output        auto_io_out_sda_oe // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301381.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301392.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301392.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301392.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301392.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.4]
  reg [7:0] prescaler_hi; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301467.4]
  reg [31:0] _RAND_0;
  reg [7:0] prescaler_lo; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301467.4]
  reg [31:0] _RAND_1;
  reg  control_coreEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301479.4]
  reg [31:0] _RAND_2;
  reg  control_intEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301479.4]
  reg [31:0] _RAND_3;
  reg [7:0] transmitData; // @[I2C.scala 121:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301480.4]
  reg [31:0] _RAND_4;
  reg [7:0] receivedData; // @[I2C.scala 122:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301481.4]
  reg [31:0] _RAND_5;
  reg  cmd_start; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301501.4]
  reg [31:0] _RAND_6;
  reg  cmd_stop; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301501.4]
  reg [31:0] _RAND_7;
  reg  cmd_read; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301501.4]
  reg [31:0] _RAND_8;
  reg  cmd_write; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301501.4]
  reg [31:0] _RAND_9;
  reg  cmd_ack; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301501.4]
  reg [31:0] _RAND_10;
  reg  cmd_irqAck; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301501.4]
  reg [31:0] _RAND_11;
  reg  status_receivedAck; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301519.4]
  reg [31:0] _RAND_12;
  reg  status_busy; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301519.4]
  reg [31:0] _RAND_13;
  reg  status_arbLost; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301519.4]
  reg [31:0] _RAND_14;
  reg  status_transferInProgress; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301519.4]
  reg [31:0] _RAND_15;
  reg  status_irqFlag; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301519.4]
  reg [31:0] _RAND_16;
  reg [13:0] filterCnt; // @[I2C.scala 133:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301522.4]
  reg [31:0] _RAND_17;
  wire  _T_346; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@301523.4]
  wire  _T_347; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301528.6]
  wire  _T_348; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@301529.6]
  wire [15:0] _T_349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301531.8]
  wire [13:0] _T_350; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@301532.8]
  wire [14:0] _T_351; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301536.8]
  wire [14:0] _T_352; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301537.8]
  wire [13:0] _T_353; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301538.8]
  reg [2:0] fSCL; // @[I2C.scala 142:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301541.4]
  reg [31:0] _RAND_18;
  reg [2:0] fSDA; // @[I2C.scala 143:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301542.4]
  reg [31:0] _RAND_19;
  wire [3:0] _T_358; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301546.6]
  wire [3:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301548.6]
  wire [3:0] _GEN_2; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301545.4]
  wire [3:0] _GEN_3; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301545.4]
  wire  _T_360; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301551.4]
  wire  _T_361; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301552.4]
  wire  _T_362; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301553.4]
  wire  _T_363; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301554.4]
  wire  _T_364; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301555.4]
  wire  _T_365; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301556.4]
  wire  _T_366; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301557.4]
  wire  _T_367; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301558.4]
  reg  sSCL; // @[I2C.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301559.4]
  reg [31:0] _RAND_20;
  wire  _T_369; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301561.4]
  wire  _T_370; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301562.4]
  wire  _T_371; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301563.4]
  wire  _T_372; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301564.4]
  wire  _T_373; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301565.4]
  wire  _T_374; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301566.4]
  wire  _T_375; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301567.4]
  wire  _T_376; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301568.4]
  reg  sSDA; // @[I2C.scala 150:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301569.4]
  reg [31:0] _RAND_21;
  reg  dSCL; // @[I2C.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301571.4]
  reg [31:0] _RAND_22;
  reg  dSDA; // @[I2C.scala 153:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301573.4]
  reg [31:0] _RAND_23;
  reg  dSCLOen; // @[I2C.scala 155:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301575.4]
  reg [31:0] _RAND_24;
  wire  _T_381; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@301577.4]
  wire  _T_382; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@301578.4]
  wire  _T_383; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@301579.4]
  reg  startCond; // @[I2C.scala 159:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301580.4]
  reg [31:0] _RAND_25;
  wire  _T_385; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@301582.4]
  wire  _T_386; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@301583.4]
  wire  _T_387; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@301584.4]
  reg  stopCond; // @[I2C.scala 160:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301585.4]
  reg [31:0] _RAND_26;
  wire  _T_389; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301587.4]
  wire  _T_390; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301588.4]
  reg  sclOen; // @[I2C.scala 187:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301622.4]
  reg [31:0] _RAND_27;
  wire  _T_411; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301623.4]
  wire  sclSync; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@301589.4]
  reg  slaveWait; // @[I2C.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301590.4]
  reg [31:0] _RAND_28;
  wire  _T_392; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301591.4]
  wire  _T_393; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301592.4]
  wire  _T_395; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@301594.4]
  wire  _T_397; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@301596.4]
  wire  _T_398; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@301597.4]
  reg  clkEn; // @[I2C.scala 171:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301599.4]
  reg [31:0] _RAND_29;
  reg [15:0] cnt; // @[I2C.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301600.4]
  reg [31:0] _RAND_30;
  wire  _T_401; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@301601.4]
  wire  _T_402; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@301602.4]
  wire  _T_404; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@301604.4]
  wire  _T_405; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@301605.4]
  wire [16:0] _T_407; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301616.8]
  wire [16:0] _T_408; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301617.8]
  wire [15:0] _T_409; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301618.8]
  reg  sdaOen; // @[I2C.scala 190:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301625.4]
  reg [31:0] _RAND_31;
  reg  sdaChk; // @[I2C.scala 193:23:shc.marmotcaravel.MarmotCaravelConfig.fir@301628.4]
  reg [31:0] _RAND_32;
  reg  transmitBit; // @[I2C.scala 195:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301629.4]
  reg [31:0] _RAND_33;
  reg  receivedBit; // @[I2C.scala 196:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301630.4]
  reg [31:0] _RAND_34;
  wire  _T_417; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@301631.4]
  wire  _T_418; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301632.4]
  reg [3:0] bitCmd; // @[I2C.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301636.4]
  reg [31:0] _RAND_35;
  reg  bitCmdStop; // @[I2C.scala 202:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301637.4]
  reg [31:0] _RAND_36;
  wire  _T_421; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@301639.6]
  reg  bitCmdAck; // @[I2C.scala 206:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301642.4]
  reg [31:0] _RAND_37;
  reg [4:0] bitState; // @[I2C.scala 213:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301643.4]
  reg [31:0] _RAND_38;
  wire  _T_426; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@301645.4]
  wire  _T_427; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@301646.4]
  wire  _T_428; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@301647.4]
  wire  _T_429; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@301648.4]
  wire  _T_430; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@301649.4]
  wire  _T_431; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@301650.4]
  wire  _T_432; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301651.4]
  reg  arbLost; // @[I2C.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301652.4]
  reg [31:0] _RAND_39;
  wire  _T_434; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301664.8]
  wire  _T_435; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301666.10]
  wire  _T_436; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301671.12]
  wire  _T_437; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301676.14]
  wire  _T_438; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301681.16]
  wire  _T_439; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301688.10]
  wire  _T_440; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301696.12]
  wire  _T_441; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301704.14]
  wire  _T_442; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301712.16]
  wire  _T_443; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301720.18]
  wire  _T_444; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301729.20]
  wire  _T_445; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301737.22]
  wire  _T_446; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301745.24]
  wire  _T_447; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301753.26]
  wire  _T_448; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301762.28]
  wire  _T_449; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301770.30]
  wire  _T_450; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301778.32]
  wire  _T_451; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301786.34]
  wire  _T_452; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301795.36]
  wire  _T_453; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301803.38]
  wire  _T_454; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301811.40]
  wire  _T_455; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301819.42]
  reg  load; // @[I2C.scala 355:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301829.4]
  reg [31:0] _RAND_40;
  reg  shift; // @[I2C.scala 356:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301830.4]
  reg [31:0] _RAND_41;
  reg  cmdAck; // @[I2C.scala 357:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301831.4]
  reg [31:0] _RAND_42;
  reg  receivedAck; // @[I2C.scala 358:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301832.4]
  reg [31:0] _RAND_43;
  wire  _T_460; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301833.4]
  wire  _T_461; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@301834.4]
  wire  _T_462; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301835.4]
  wire  go; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@301836.4]
  reg [2:0] bitCnt; // @[I2C.scala 361:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301837.4]
  reg [31:0] _RAND_44;
  wire [3:0] _T_464; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301843.8]
  wire [3:0] _T_465; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301844.8]
  wire [2:0] _T_466; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301845.8]
  wire  _T_467; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301848.4]
  wire  bitCntDone; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@301849.4]
  wire [8:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301855.8]
  wire [8:0] _GEN_116; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@301854.6]
  wire [8:0] _GEN_117; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@301850.4]
  reg [2:0] byteState; // @[I2C.scala 379:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301858.4]
  reg [31:0] _RAND_45;
  wire  _T_471; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301869.6]
  wire  _T_472; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301874.6]
  wire [2:0] _GEN_119; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@301887.14]
  wire  _T_473; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301899.8]
  wire  _T_474; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301914.10]
  wire  _T_475; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301929.12]
  wire  _T_476; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301945.14]
  wire [1:0] _GEN_144; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301948.18]
  wire  _T_477; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301965.16]
  wire  _T_54_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire [2:0] _T_54_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire  _T_514; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@302045.4]
  wire [28:0] _T_54_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire [26:0] _T_515; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@302047.4]
  wire [9:0] _T_511_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302043.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@302048.4]
  wire  _T_813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302318.4]
  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302317.4]
  wire [1:0] _T_821; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302326.4]
  wire  _T_811; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302316.4]
  wire [2:0] _T_822; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302327.4]
  wire [9:0] _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302059.4]
  wire  _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302069.4]
  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302400.4]
  wire  _T_54_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire  _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302591.4]
  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302592.4]
  wire  _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302593.4]
  wire [7:0] _T_844; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@302349.4]
  wire  _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302354.4]
  wire  _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302630.4]
  wire  _T_1086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302631.4]
  wire [3:0] _T_54_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302097.4]
  wire [7:0] _T_622; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302105.4]
  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302096.4]
  wire [7:0] _T_620; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302103.4]
  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302107.4]
  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302095.4]
  wire [7:0] _T_618; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302101.4]
  wire  _T_611; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302094.4]
  wire [7:0] _T_616; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302099.4]
  wire [15:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302106.4]
  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302108.4]
  wire [7:0] _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302288.4]
  wire [7:0] _T_788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302289.4]
  wire  _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302290.4]
  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302294.4]
  wire [31:0] _T_54_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire [7:0] _T_799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302300.4]
  wire [1:0] _T_494; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301999.4]
  wire [1:0] _T_493; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301998.4]
  wire [3:0] _T_495; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302000.4]
  wire [2:0] _T_491; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301996.4]
  wire [3:0] _T_492; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301997.4]
  wire [7:0] _T_496; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302001.4]
  wire [7:0] _T_497; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@302002.4]
  wire [7:0] nextCmd; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@302301.4]
  wire  _T_484; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301981.4]
  wire  _T_486; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301985.4]
  wire  _T_487; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301987.4]
  wire  _T_488; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301989.4]
  wire  _T_489; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301991.4]
  wire  _T_490; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301993.4]
  wire  _T_498; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@302004.4]
  wire  _T_501; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302029.4]
  wire  _T_502; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302030.4]
  wire  _T_503; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@302031.4]
  reg  statusReadReady; // @[I2C.scala 530:28:shc.marmotcaravel.MarmotCaravelConfig.fir@302033.4]
  reg [31:0] _RAND_46;
  wire  _T_506; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@302039.6]
  wire [5:0] _T_54_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire [1:0] _T_54_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  wire [7:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302051.4]
  wire  _T_627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302110.4]
  wire  _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302311.4]
  wire  _T_807; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302312.4]
  wire  _T_1020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302557.4]
  wire  _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  wire  _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  wire  _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  wire  _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302670.4]
  wire  _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302341.4]
  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302596.4]
  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302597.4]
  wire  _T_639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302122.4]
  wire  _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302342.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302604.4]
  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302605.4]
  wire  _T_664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302150.4]
  wire  _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302343.4]
  wire  _T_1073; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302612.4]
  wire  _T_1074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302613.4]
  wire  _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302193.4]
  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302196.4]
  wire  _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302197.4]
  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302206.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302207.4]
  wire [6:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302220.4]
  wire  _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302223.4]
  wire  _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302226.4]
  wire  _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302227.4]
  wire  _T_741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302236.4]
  wire  _T_742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302237.4]
  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302250.4]
  wire  _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302344.4]
  wire  _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302622.4]
  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302623.4]
  wire  _T_768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302266.4]
  wire [3:0] _T_794; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302295.4]
  wire [4:0] _T_795; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302296.4]
  wire [1:0] _T_796; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302297.4]
  wire [2:0] _T_797; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302298.4]
  wire [7:0] _T_798; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302299.4]
  wire  _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire  _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire  _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire  _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire  _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire  _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire  _GEN_251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  wire [7:0] _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  wire [7:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302704.4]
  TLBuffer_30 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301386.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@301392.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_86 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@301404.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@301523.4]
  assign _T_347 = filterCnt != 14'h0; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301528.6]
  assign _T_348 = _T_347 == 1'h0; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@301529.6]
  assign _T_349 = {prescaler_hi,prescaler_lo}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301531.8]
  assign _T_350 = _T_349[15:2]; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@301532.8]
  assign _T_351 = filterCnt - 14'h1; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301536.8]
  assign _T_352 = $unsigned(_T_351); // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301537.8]
  assign _T_353 = _T_352[13:0]; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@301538.8]
  assign _T_358 = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301546.6]
  assign _T_359 = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301548.6]
  assign _GEN_2 = _T_348 ? _T_358 : {{1'd0}, fSCL}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301545.4]
  assign _GEN_3 = _T_348 ? _T_359 : {{1'd0}, fSDA}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301545.4]
  assign _T_360 = fSCL[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301551.4]
  assign _T_361 = fSCL[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301552.4]
  assign _T_362 = fSCL[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301553.4]
  assign _T_363 = _T_360 & _T_361; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301554.4]
  assign _T_364 = _T_360 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301555.4]
  assign _T_365 = _T_363 | _T_364; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301556.4]
  assign _T_366 = _T_361 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301557.4]
  assign _T_367 = _T_365 | _T_366; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301558.4]
  assign _T_369 = fSDA[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301561.4]
  assign _T_370 = fSDA[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301562.4]
  assign _T_371 = fSDA[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@301563.4]
  assign _T_372 = _T_369 & _T_370; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301564.4]
  assign _T_373 = _T_369 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301565.4]
  assign _T_374 = _T_372 | _T_373; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301566.4]
  assign _T_375 = _T_370 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@301567.4]
  assign _T_376 = _T_374 | _T_375; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301568.4]
  assign _T_381 = sSDA == 1'h0; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@301577.4]
  assign _T_382 = _T_381 & dSDA; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@301578.4]
  assign _T_383 = _T_382 & sSCL; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@301579.4]
  assign _T_385 = dSDA == 1'h0; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@301582.4]
  assign _T_386 = sSDA & _T_385; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@301583.4]
  assign _T_387 = _T_386 & sSCL; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@301584.4]
  assign _T_389 = sSCL == 1'h0; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301587.4]
  assign _T_390 = dSCL & _T_389; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@301588.4]
  assign _T_411 = sclOen == 1'h0; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301623.4]
  assign sclSync = _T_390 & _T_411; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@301589.4]
  assign _T_392 = dSCLOen == 1'h0; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301591.4]
  assign _T_393 = _T_411 & _T_392; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@301592.4]
  assign _T_395 = _T_393 & _T_389; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@301594.4]
  assign _T_397 = slaveWait & _T_389; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@301596.4]
  assign _T_398 = _T_395 | _T_397; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@301597.4]
  assign _T_401 = cnt != 16'h0; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@301601.4]
  assign _T_402 = _T_401 == 1'h0; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@301602.4]
  assign _T_404 = _T_402 | _T_346; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@301604.4]
  assign _T_405 = _T_404 | sclSync; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@301605.4]
  assign _T_407 = cnt - 16'h1; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301616.8]
  assign _T_408 = $unsigned(_T_407); // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301617.8]
  assign _T_409 = _T_408[15:0]; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301618.8]
  assign _T_417 = dSCL == 1'h0; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@301631.4]
  assign _T_418 = sSCL & _T_417; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301632.4]
  assign _T_421 = bitCmd == 4'h2; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@301639.6]
  assign _T_426 = sdaChk & _T_381; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@301645.4]
  assign _T_427 = _T_426 & sdaOen; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@301646.4]
  assign _T_428 = bitState != 5'h0; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@301647.4]
  assign _T_429 = _T_428 & stopCond; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@301648.4]
  assign _T_430 = bitCmdStop == 1'h0; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@301649.4]
  assign _T_431 = _T_429 & _T_430; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@301650.4]
  assign _T_432 = _T_427 | _T_431; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301651.4]
  assign _T_434 = 5'h0 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301664.8]
  assign _T_435 = 4'h1 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301666.10]
  assign _T_436 = 4'h2 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301671.12]
  assign _T_437 = 4'h4 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301676.14]
  assign _T_438 = 4'h8 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301681.16]
  assign _T_439 = 5'h1 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301688.10]
  assign _T_440 = 5'h2 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301696.12]
  assign _T_441 = 5'h3 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301704.14]
  assign _T_442 = 5'h4 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301712.16]
  assign _T_443 = 5'h5 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301720.18]
  assign _T_444 = 5'h6 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301729.20]
  assign _T_445 = 5'h7 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301737.22]
  assign _T_446 = 5'h8 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301745.24]
  assign _T_447 = 5'h9 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301753.26]
  assign _T_448 = 5'ha == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301762.28]
  assign _T_449 = 5'hb == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301770.30]
  assign _T_450 = 5'hc == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301778.32]
  assign _T_451 = 5'hd == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301786.34]
  assign _T_452 = 5'he == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301795.36]
  assign _T_453 = 5'hf == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301803.38]
  assign _T_454 = 5'h10 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301811.40]
  assign _T_455 = 5'h11 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301819.42]
  assign _T_460 = cmd_read | cmd_write; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301833.4]
  assign _T_461 = _T_460 | cmd_stop; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@301834.4]
  assign _T_462 = cmdAck == 1'h0; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301835.4]
  assign go = _T_461 & _T_462; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@301836.4]
  assign _T_464 = bitCnt - 3'h1; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301843.8]
  assign _T_465 = $unsigned(_T_464); // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301844.8]
  assign _T_466 = _T_465[2:0]; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@301845.8]
  assign _T_467 = bitCnt != 3'h0; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301848.4]
  assign bitCntDone = _T_467 == 1'h0; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@301849.4]
  assign _T_468 = {receivedData,receivedBit}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@301855.8]
  assign _GEN_116 = shift ? _T_468 : {{1'd0}, receivedData}; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@301854.6]
  assign _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@301850.4]
  assign _T_471 = receivedData[7]; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@301869.6]
  assign _T_472 = 3'h0 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301874.6]
  assign _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@301887.14]
  assign _T_473 = 3'h1 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301899.8]
  assign _T_474 = 3'h3 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301914.10]
  assign _T_475 = 3'h2 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301929.12]
  assign _T_476 = 3'h4 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301945.14]
  assign _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@301948.18]
  assign _T_477 = 3'h5 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@301965.16]
  assign _T_54_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_54_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_514 = _T_54_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@302045.4]
  assign _T_54_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_515 = _T_54_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@302047.4]
  assign _T_511_bits_index = _T_515[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302043.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@302048.4]
  assign _T_813 = _T_511_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302318.4]
  assign _T_812 = _T_511_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302317.4]
  assign _T_821 = {_T_813,_T_812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302326.4]
  assign _T_811 = _T_511_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302316.4]
  assign _T_822 = {_T_821,_T_811}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302327.4]
  assign _T_532 = _T_511_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302059.4]
  assign _T_542 = _T_532 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302069.4]
  assign _T_883 = _T_542 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302400.4]
  assign _T_54_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_1056 = _T_54_a_valid & _T_54_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302591.4]
  assign _T_1057 = _T_514 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302592.4]
  assign _T_1058 = _T_1056 & _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302593.4]
  assign _T_844 = 8'h1 << _T_822; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@302349.4]
  assign _T_849 = _T_844[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302354.4]
  assign _T_1085 = _T_1058 & _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302630.4]
  assign _T_1086 = _T_1085 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302631.4]
  assign _T_54_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_614 = _T_54_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302097.4]
  assign _T_622 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302105.4]
  assign _T_613 = _T_54_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302096.4]
  assign _T_620 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302103.4]
  assign _T_624 = {_T_622,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302107.4]
  assign _T_612 = _T_54_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302095.4]
  assign _T_618 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302101.4]
  assign _T_611 = _T_54_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302094.4]
  assign _T_616 = _T_611 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@302099.4]
  assign _T_623 = {_T_618,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302106.4]
  assign _T_625 = {_T_624,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302108.4]
  assign _T_787 = _T_625[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302288.4]
  assign _T_788 = ~ _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302289.4]
  assign _T_789 = _T_788 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302290.4]
  assign _T_793 = _T_1086 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302294.4]
  assign _T_54_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_799 = _T_54_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302300.4]
  assign _T_494 = {cmd_start,cmd_stop}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301999.4]
  assign _T_493 = {cmd_read,cmd_write}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301998.4]
  assign _T_495 = {_T_494,_T_493}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302000.4]
  assign _T_491 = {cmd_ack,2'h0}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301996.4]
  assign _T_492 = {_T_491,cmd_irqAck}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@301997.4]
  assign _T_496 = {_T_495,_T_492}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302001.4]
  assign _T_497 = _T_496 & 8'hfe; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@302002.4]
  assign nextCmd = _T_793 ? _T_799 : _T_497; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@302301.4]
  assign _T_484 = nextCmd[0]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301981.4]
  assign _T_486 = nextCmd[3]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301985.4]
  assign _T_487 = nextCmd[4]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301987.4]
  assign _T_488 = nextCmd[5]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301989.4]
  assign _T_489 = nextCmd[6]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301991.4]
  assign _T_490 = nextCmd[7]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@301993.4]
  assign _T_498 = cmdAck | arbLost; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@302004.4]
  assign _T_501 = _T_498 | status_irqFlag; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@302029.4]
  assign _T_502 = cmd_irqAck == 1'h0; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302030.4]
  assign _T_503 = _T_501 & _T_502; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@302031.4]
  assign _T_506 = statusReadReady == 1'h0; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@302039.6]
  assign _T_54_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_54_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@301402.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign _T_516 = {_T_54_a_bits_source,_T_54_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302051.4]
  assign _T_627 = _T_787 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302110.4]
  assign _T_806 = _T_627 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302311.4]
  assign _T_807 = statusReadReady | _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302312.4]
  assign _T_1020 = _T_807 | _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302557.4]
  assign _GEN_232 = 3'h4 == _T_822 ? _T_1020 : 1'h1; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  assign _GEN_233 = 3'h5 == _T_822 ? 1'h1 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  assign _GEN_234 = 3'h6 == _T_822 ? 1'h1 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  assign _GEN_235 = 3'h7 == _T_822 ? 1'h1 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302590.4]
  assign _T_1125 = _T_514 ? _GEN_235 : 1'h1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302670.4]
  assign _T_836 = _T_844[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302341.4]
  assign _T_1061 = _T_1058 & _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302596.4]
  assign _T_1062 = _T_1061 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302597.4]
  assign _T_639 = _T_1062 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302122.4]
  assign _T_837 = _T_844[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302342.4]
  assign _T_1067 = _T_1058 & _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302604.4]
  assign _T_1068 = _T_1067 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302605.4]
  assign _T_664 = _T_1068 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302150.4]
  assign _T_838 = _T_844[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302343.4]
  assign _T_1073 = _T_1058 & _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302612.4]
  assign _T_1074 = _T_1073 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302613.4]
  assign _T_701 = _T_625[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302193.4]
  assign _T_704 = ~ _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302196.4]
  assign _T_705 = _T_704 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302197.4]
  assign _T_714 = _T_1074 & _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302206.4]
  assign _T_715 = _T_54_a_bits_data[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302207.4]
  assign _T_725 = {control_intEn,6'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302220.4]
  assign _T_728 = _T_625[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302223.4]
  assign _T_731 = ~ _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302226.4]
  assign _T_732 = _T_731 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302227.4]
  assign _T_741 = _T_1074 & _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302236.4]
  assign _T_742 = _T_54_a_bits_data[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302237.4]
  assign _T_752 = {control_coreEn,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302250.4]
  assign _T_839 = _T_844[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302344.4]
  assign _T_1079 = _T_1058 & _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302622.4]
  assign _T_1080 = _T_1079 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302623.4]
  assign _T_768 = _T_1080 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302266.4]
  assign _T_794 = {3'h0,status_transferInProgress}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302295.4]
  assign _T_795 = {_T_794,status_irqFlag}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302296.4]
  assign _T_796 = {status_receivedAck,status_busy}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302297.4]
  assign _T_797 = {_T_796,status_arbLost}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302298.4]
  assign _T_798 = {_T_797,_T_795}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@302299.4]
  assign _GEN_245 = 3'h1 == _T_822 ? _T_542 : _T_542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_246 = 3'h2 == _T_822 ? _T_542 : _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_247 = 3'h3 == _T_822 ? _T_542 : _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_248 = 3'h4 == _T_822 ? _T_542 : _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_249 = 3'h5 == _T_822 ? 1'h1 : _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_250 = 3'h6 == _T_822 ? 1'h1 : _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_251 = 3'h7 == _T_822 ? 1'h1 : _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302691.4]
  assign _GEN_253 = 3'h1 == _T_822 ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _GEN_254 = 3'h2 == _T_822 ? _T_752 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _GEN_255 = 3'h3 == _T_822 ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _GEN_256 = 3'h4 == _T_822 ? _T_798 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _GEN_257 = 3'h5 == _T_822 ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _GEN_258 = 3'h6 == _T_822 ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _GEN_259 = 3'h7 == _T_822 ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302703.4]
  assign _T_1164 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@302704.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@301457.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301456.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301456.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301456.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301456.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301456.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301456.4]
  assign auto_io_out_scl_oe = sclOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@301455.4]
  assign auto_io_out_sda_oe = sdaOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@301455.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301390.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301391.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301453.4]
  assign buffer_auto_out_a_ready = _T_54_d_ready & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign buffer_auto_out_d_valid = _T_54_a_valid & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_514}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign buffer_auto_out_d_bits_size = _T_516[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign buffer_auto_out_d_bits_source = _T_516[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign buffer_auto_out_d_bits_data = {{24'd0}, _T_1164}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@301452.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301396.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301397.4]
  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@301451.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301406.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@301407.4]
  assign TLMonitor_io_in_a_ready = _T_54_d_ready & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_d_valid = _T_54_a_valid & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_514}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_d_bits_size = _T_516[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.4]
  assign TLMonitor_io_in_d_bits_source = _T_516[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@301440.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@302752.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302753.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302754.4]
  input        io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  input        io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  input        io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  input        io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  output       io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  input  [1:0] io_capture_bits_dmiStatus, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  output       io_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
  output       io_update_bits_dmireset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302755.4]
);
  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302763.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302764.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302765.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302766.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302767.4]
  reg [31:0] _RAND_4;
  reg  regs_5; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302768.4]
  reg [31:0] _RAND_5;
  reg  regs_6; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302769.4]
  reg [31:0] _RAND_6;
  reg  regs_7; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302770.4]
  reg [31:0] _RAND_7;
  reg  regs_8; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302771.4]
  reg [31:0] _RAND_8;
  reg  regs_9; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302772.4]
  reg [31:0] _RAND_9;
  reg  regs_10; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302773.4]
  reg [31:0] _RAND_10;
  reg  regs_11; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302774.4]
  reg [31:0] _RAND_11;
  reg  regs_12; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302775.4]
  reg [31:0] _RAND_12;
  reg  regs_13; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302776.4]
  reg [31:0] _RAND_13;
  reg  regs_14; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302777.4]
  reg [31:0] _RAND_14;
  reg  regs_15; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302778.4]
  reg [31:0] _RAND_15;
  reg  regs_16; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302779.4]
  reg [31:0] _RAND_16;
  reg  regs_17; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302780.4]
  reg [31:0] _RAND_17;
  reg  regs_18; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302781.4]
  reg [31:0] _RAND_18;
  reg  regs_19; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302782.4]
  reg [31:0] _RAND_19;
  reg  regs_20; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302783.4]
  reg [31:0] _RAND_20;
  reg  regs_21; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302784.4]
  reg [31:0] _RAND_21;
  reg  regs_22; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302785.4]
  reg [31:0] _RAND_22;
  reg  regs_23; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302786.4]
  reg [31:0] _RAND_23;
  reg  regs_24; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302787.4]
  reg [31:0] _RAND_24;
  reg  regs_25; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302788.4]
  reg [31:0] _RAND_25;
  reg  regs_26; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302789.4]
  reg [31:0] _RAND_26;
  reg  regs_27; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302790.4]
  reg [31:0] _RAND_27;
  reg  regs_28; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302791.4]
  reg [31:0] _RAND_28;
  reg  regs_29; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302792.4]
  reg [31:0] _RAND_29;
  reg  regs_30; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302793.4]
  reg [31:0] _RAND_30;
  reg  regs_31; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302794.4]
  reg [31:0] _RAND_31;
  wire [1:0] _T_45; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302796.4]
  wire [1:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302797.4]
  wire [3:0] _T_47; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302798.4]
  wire [1:0] _T_48; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302799.4]
  wire [1:0] _T_49; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302800.4]
  wire [3:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302801.4]
  wire [7:0] _T_51; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302802.4]
  wire [1:0] _T_52; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302803.4]
  wire [1:0] _T_53; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302804.4]
  wire [3:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302805.4]
  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302806.4]
  wire [1:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302807.4]
  wire [3:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302808.4]
  wire [7:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302809.4]
  wire [15:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302810.4]
  wire [1:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302811.4]
  wire [1:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302812.4]
  wire [3:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302813.4]
  wire [1:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302814.4]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302815.4]
  wire [3:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302816.4]
  wire [7:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302817.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302818.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302819.4]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302820.4]
  wire [1:0] _T_70; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302821.4]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302822.4]
  wire [3:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302823.4]
  wire [7:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302824.4]
  wire [15:0] _T_74; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302825.4]
  wire [31:0] updateBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302826.4]
  wire [7:0] _T_87; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@302848.4]
  wire [11:0] _T_88; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@302849.4]
  wire [31:0] captureBits; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@302853.4]
  wire  _T_92; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302855.6]
  wire  _T_93; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302857.6]
  wire  _T_94; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302859.6]
  wire  _T_95; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302861.6]
  wire  _T_96; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302863.6]
  wire  _T_97; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302865.6]
  wire  _T_98; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302867.6]
  wire  _T_99; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302869.6]
  wire  _T_100; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302871.6]
  wire  _T_101; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302873.6]
  wire  _T_102; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302875.6]
  wire  _T_103; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302877.6]
  wire  _T_104; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302879.6]
  wire  _T_105; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302881.6]
  wire  _T_106; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302883.6]
  wire  _T_107; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302885.6]
  wire  _T_108; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302887.6]
  wire  _T_109; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302889.6]
  wire  _T_110; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302891.6]
  wire  _T_111; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302893.6]
  wire  _T_112; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302895.6]
  wire  _T_113; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302897.6]
  wire  _T_114; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302899.6]
  wire  _T_115; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302901.6]
  wire  _T_116; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302903.6]
  wire  _T_117; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302905.6]
  wire  _T_118; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302907.6]
  wire  _T_119; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302909.6]
  wire  _T_120; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302911.6]
  wire  _T_121; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302913.6]
  wire  _T_122; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302915.6]
  wire  _T_123; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302917.6]
  wire  _T_124; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@302968.4]
  wire  _T_125; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302969.4]
  wire  _T_126; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@302970.4]
  wire  _T_127; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302971.4]
  wire  _T_128; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@302972.4]
  wire  _T_129; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@302973.4]
  wire  _T_130; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302974.4]
  wire  _T_131; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@302975.4]
  wire  _T_133; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@302977.4]
  wire  _T_134; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@302978.4]
  assign _T_45 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302796.4]
  assign _T_46 = {regs_3,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302797.4]
  assign _T_47 = {_T_46,_T_45}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302798.4]
  assign _T_48 = {regs_5,regs_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302799.4]
  assign _T_49 = {regs_7,regs_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302800.4]
  assign _T_50 = {_T_49,_T_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302801.4]
  assign _T_51 = {_T_50,_T_47}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302802.4]
  assign _T_52 = {regs_9,regs_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302803.4]
  assign _T_53 = {regs_11,regs_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302804.4]
  assign _T_54 = {_T_53,_T_52}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302805.4]
  assign _T_55 = {regs_13,regs_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302806.4]
  assign _T_56 = {regs_15,regs_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302807.4]
  assign _T_57 = {_T_56,_T_55}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302808.4]
  assign _T_58 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302809.4]
  assign _T_59 = {_T_58,_T_51}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302810.4]
  assign _T_60 = {regs_17,regs_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302811.4]
  assign _T_61 = {regs_19,regs_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302812.4]
  assign _T_62 = {_T_61,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302813.4]
  assign _T_63 = {regs_21,regs_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302814.4]
  assign _T_64 = {regs_23,regs_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302815.4]
  assign _T_65 = {_T_64,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302816.4]
  assign _T_66 = {_T_65,_T_62}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302817.4]
  assign _T_67 = {regs_25,regs_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302818.4]
  assign _T_68 = {regs_27,regs_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302819.4]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302820.4]
  assign _T_70 = {regs_29,regs_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302821.4]
  assign _T_71 = {regs_31,regs_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302822.4]
  assign _T_72 = {_T_71,_T_70}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302823.4]
  assign _T_73 = {_T_72,_T_69}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302824.4]
  assign _T_74 = {_T_73,_T_66}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302825.4]
  assign updateBits = {_T_74,_T_59}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@302826.4]
  assign _T_87 = {io_capture_bits_dmiStatus,6'h7}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@302848.4]
  assign _T_88 = {_T_87,4'h1}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@302849.4]
  assign captureBits = {20'h5,_T_88}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@302853.4]
  assign _T_92 = captureBits[0]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302855.6]
  assign _T_93 = captureBits[1]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302857.6]
  assign _T_94 = captureBits[2]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302859.6]
  assign _T_95 = captureBits[3]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302861.6]
  assign _T_96 = captureBits[4]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302863.6]
  assign _T_97 = captureBits[5]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302865.6]
  assign _T_98 = captureBits[6]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302867.6]
  assign _T_99 = captureBits[7]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302869.6]
  assign _T_100 = captureBits[8]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302871.6]
  assign _T_101 = captureBits[9]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302873.6]
  assign _T_102 = captureBits[10]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302875.6]
  assign _T_103 = captureBits[11]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302877.6]
  assign _T_104 = captureBits[12]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302879.6]
  assign _T_105 = captureBits[13]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302881.6]
  assign _T_106 = captureBits[14]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302883.6]
  assign _T_107 = captureBits[15]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302885.6]
  assign _T_108 = captureBits[16]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302887.6]
  assign _T_109 = captureBits[17]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302889.6]
  assign _T_110 = captureBits[18]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302891.6]
  assign _T_111 = captureBits[19]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302893.6]
  assign _T_112 = captureBits[20]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302895.6]
  assign _T_113 = captureBits[21]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302897.6]
  assign _T_114 = captureBits[22]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302899.6]
  assign _T_115 = captureBits[23]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302901.6]
  assign _T_116 = captureBits[24]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302903.6]
  assign _T_117 = captureBits[25]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302905.6]
  assign _T_118 = captureBits[26]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302907.6]
  assign _T_119 = captureBits[27]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302909.6]
  assign _T_120 = captureBits[28]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302911.6]
  assign _T_121 = captureBits[29]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302913.6]
  assign _T_122 = captureBits[30]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302915.6]
  assign _T_123 = captureBits[31]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@302917.6]
  assign _T_124 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@302968.4]
  assign _T_125 = _T_124 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302969.4]
  assign _T_126 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@302970.4]
  assign _T_127 = _T_126 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302971.4]
  assign _T_128 = _T_125 & _T_127; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@302972.4]
  assign _T_129 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@302973.4]
  assign _T_130 = _T_129 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@302974.4]
  assign _T_131 = _T_128 & _T_130; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@302975.4]
  assign _T_133 = _T_131 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@302977.4]
  assign _T_134 = _T_133 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@302978.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@302795.4]
  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 172:21:shc.marmotcaravel.MarmotCaravelConfig.fir@302920.6 JtagShifter.scala 175:21:shc.marmotcaravel.MarmotCaravelConfig.fir@302925.8 JtagShifter.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@302962.10 JtagShifter.scala 183:21:shc.marmotcaravel.MarmotCaravelConfig.fir@302966.10]
  assign io_update_bits_dmireset = updateBits[16]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@302847.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@302980.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@302981.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CaptureUpdateChain_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302984.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302985.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302986.4]
  input         io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  input         io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  input         io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  input         io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  output        io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  input  [6:0]  io_capture_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  input  [31:0] io_capture_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  input  [1:0]  io_capture_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  output        io_capture_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  output        io_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  output [6:0]  io_update_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  output [31:0] io_update_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
  output [1:0]  io_update_bits_op // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@302987.4]
);
  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302995.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302996.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302997.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302998.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@302999.4]
  reg [31:0] _RAND_4;
  reg  regs_5; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303000.4]
  reg [31:0] _RAND_5;
  reg  regs_6; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303001.4]
  reg [31:0] _RAND_6;
  reg  regs_7; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303002.4]
  reg [31:0] _RAND_7;
  reg  regs_8; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303003.4]
  reg [31:0] _RAND_8;
  reg  regs_9; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303004.4]
  reg [31:0] _RAND_9;
  reg  regs_10; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303005.4]
  reg [31:0] _RAND_10;
  reg  regs_11; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303006.4]
  reg [31:0] _RAND_11;
  reg  regs_12; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303007.4]
  reg [31:0] _RAND_12;
  reg  regs_13; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303008.4]
  reg [31:0] _RAND_13;
  reg  regs_14; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303009.4]
  reg [31:0] _RAND_14;
  reg  regs_15; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303010.4]
  reg [31:0] _RAND_15;
  reg  regs_16; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303011.4]
  reg [31:0] _RAND_16;
  reg  regs_17; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303012.4]
  reg [31:0] _RAND_17;
  reg  regs_18; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303013.4]
  reg [31:0] _RAND_18;
  reg  regs_19; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303014.4]
  reg [31:0] _RAND_19;
  reg  regs_20; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303015.4]
  reg [31:0] _RAND_20;
  reg  regs_21; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303016.4]
  reg [31:0] _RAND_21;
  reg  regs_22; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303017.4]
  reg [31:0] _RAND_22;
  reg  regs_23; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303018.4]
  reg [31:0] _RAND_23;
  reg  regs_24; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303019.4]
  reg [31:0] _RAND_24;
  reg  regs_25; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303020.4]
  reg [31:0] _RAND_25;
  reg  regs_26; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303021.4]
  reg [31:0] _RAND_26;
  reg  regs_27; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303022.4]
  reg [31:0] _RAND_27;
  reg  regs_28; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303023.4]
  reg [31:0] _RAND_28;
  reg  regs_29; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303024.4]
  reg [31:0] _RAND_29;
  reg  regs_30; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303025.4]
  reg [31:0] _RAND_30;
  reg  regs_31; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303026.4]
  reg [31:0] _RAND_31;
  reg  regs_32; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303027.4]
  reg [31:0] _RAND_32;
  reg  regs_33; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303028.4]
  reg [31:0] _RAND_33;
  reg  regs_34; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303029.4]
  reg [31:0] _RAND_34;
  reg  regs_35; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303030.4]
  reg [31:0] _RAND_35;
  reg  regs_36; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303031.4]
  reg [31:0] _RAND_36;
  reg  regs_37; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303032.4]
  reg [31:0] _RAND_37;
  reg  regs_38; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303033.4]
  reg [31:0] _RAND_38;
  reg  regs_39; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303034.4]
  reg [31:0] _RAND_39;
  reg  regs_40; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303035.4]
  reg [31:0] _RAND_40;
  wire [1:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303037.4]
  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303038.4]
  wire [2:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303039.4]
  wire [4:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303040.4]
  wire [1:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303041.4]
  wire [1:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303042.4]
  wire [2:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303043.4]
  wire [4:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303044.4]
  wire [9:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303045.4]
  wire [1:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303046.4]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303047.4]
  wire [2:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303048.4]
  wire [4:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303049.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303050.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303051.4]
  wire [2:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303052.4]
  wire [4:0] _T_70; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303053.4]
  wire [9:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303054.4]
  wire [19:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303055.4]
  wire [1:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303056.4]
  wire [1:0] _T_74; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303057.4]
  wire [2:0] _T_75; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303058.4]
  wire [4:0] _T_76; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303059.4]
  wire [1:0] _T_77; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303060.4]
  wire [1:0] _T_78; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303061.4]
  wire [2:0] _T_79; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303062.4]
  wire [4:0] _T_80; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303063.4]
  wire [9:0] _T_81; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303064.4]
  wire [1:0] _T_82; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303065.4]
  wire [1:0] _T_83; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303066.4]
  wire [2:0] _T_84; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303067.4]
  wire [4:0] _T_85; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303068.4]
  wire [1:0] _T_86; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303069.4]
  wire [2:0] _T_87; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303070.4]
  wire [1:0] _T_88; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303071.4]
  wire [2:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303072.4]
  wire [5:0] _T_90; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303073.4]
  wire [10:0] _T_91; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303074.4]
  wire [20:0] _T_92; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303075.4]
  wire [40:0] updateBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303076.4]
  wire [38:0] _T_101; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@303090.4]
  wire [40:0] captureBits; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@303091.4]
  wire  _T_102; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303093.6]
  wire  _T_103; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303095.6]
  wire  _T_104; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303097.6]
  wire  _T_105; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303099.6]
  wire  _T_106; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303101.6]
  wire  _T_107; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303103.6]
  wire  _T_108; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303105.6]
  wire  _T_109; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303107.6]
  wire  _T_110; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303109.6]
  wire  _T_111; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303111.6]
  wire  _T_112; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303113.6]
  wire  _T_113; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303115.6]
  wire  _T_114; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303117.6]
  wire  _T_115; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303119.6]
  wire  _T_116; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303121.6]
  wire  _T_117; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303123.6]
  wire  _T_118; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303125.6]
  wire  _T_119; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303127.6]
  wire  _T_120; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303129.6]
  wire  _T_121; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303131.6]
  wire  _T_122; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303133.6]
  wire  _T_123; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303135.6]
  wire  _T_124; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303137.6]
  wire  _T_125; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303139.6]
  wire  _T_126; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303141.6]
  wire  _T_127; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303143.6]
  wire  _T_128; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303145.6]
  wire  _T_129; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303147.6]
  wire  _T_130; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303149.6]
  wire  _T_131; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303151.6]
  wire  _T_132; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303153.6]
  wire  _T_133; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303155.6]
  wire  _T_134; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303157.6]
  wire  _T_135; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303159.6]
  wire  _T_136; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303161.6]
  wire  _T_137; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303163.6]
  wire  _T_138; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303165.6]
  wire  _T_139; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303167.6]
  wire  _T_140; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303169.6]
  wire  _T_141; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303171.6]
  wire  _T_142; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303173.6]
  wire  _T_143; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303233.4]
  wire  _T_144; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303234.4]
  wire  _T_145; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303235.4]
  wire  _T_146; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303236.4]
  wire  _T_147; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303237.4]
  wire  _T_148; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303238.4]
  wire  _T_149; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303239.4]
  wire  _T_150; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303240.4]
  wire  _T_152; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303242.4]
  wire  _T_153; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303243.4]
  assign _T_54 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303037.4]
  assign _T_55 = {regs_4,regs_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303038.4]
  assign _T_56 = {_T_55,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303039.4]
  assign _T_57 = {_T_56,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303040.4]
  assign _T_58 = {regs_6,regs_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303041.4]
  assign _T_59 = {regs_9,regs_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303042.4]
  assign _T_60 = {_T_59,regs_7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303043.4]
  assign _T_61 = {_T_60,_T_58}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303044.4]
  assign _T_62 = {_T_61,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303045.4]
  assign _T_63 = {regs_11,regs_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303046.4]
  assign _T_64 = {regs_14,regs_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303047.4]
  assign _T_65 = {_T_64,regs_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303048.4]
  assign _T_66 = {_T_65,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303049.4]
  assign _T_67 = {regs_16,regs_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303050.4]
  assign _T_68 = {regs_19,regs_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303051.4]
  assign _T_69 = {_T_68,regs_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303052.4]
  assign _T_70 = {_T_69,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303053.4]
  assign _T_71 = {_T_70,_T_66}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303054.4]
  assign _T_72 = {_T_71,_T_62}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303055.4]
  assign _T_73 = {regs_21,regs_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303056.4]
  assign _T_74 = {regs_24,regs_23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303057.4]
  assign _T_75 = {_T_74,regs_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303058.4]
  assign _T_76 = {_T_75,_T_73}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303059.4]
  assign _T_77 = {regs_26,regs_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303060.4]
  assign _T_78 = {regs_29,regs_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303061.4]
  assign _T_79 = {_T_78,regs_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303062.4]
  assign _T_80 = {_T_79,_T_77}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303063.4]
  assign _T_81 = {_T_80,_T_76}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303064.4]
  assign _T_82 = {regs_31,regs_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303065.4]
  assign _T_83 = {regs_34,regs_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303066.4]
  assign _T_84 = {_T_83,regs_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303067.4]
  assign _T_85 = {_T_84,_T_82}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303068.4]
  assign _T_86 = {regs_37,regs_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303069.4]
  assign _T_87 = {_T_86,regs_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303070.4]
  assign _T_88 = {regs_40,regs_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303071.4]
  assign _T_89 = {_T_88,regs_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303072.4]
  assign _T_90 = {_T_89,_T_87}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303073.4]
  assign _T_91 = {_T_90,_T_85}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303074.4]
  assign _T_92 = {_T_91,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303075.4]
  assign updateBits = {_T_92,_T_72}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303076.4]
  assign _T_101 = {io_capture_bits_addr,io_capture_bits_data}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@303090.4]
  assign captureBits = {_T_101,io_capture_bits_resp}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@303091.4]
  assign _T_102 = captureBits[0]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303093.6]
  assign _T_103 = captureBits[1]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303095.6]
  assign _T_104 = captureBits[2]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303097.6]
  assign _T_105 = captureBits[3]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303099.6]
  assign _T_106 = captureBits[4]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303101.6]
  assign _T_107 = captureBits[5]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303103.6]
  assign _T_108 = captureBits[6]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303105.6]
  assign _T_109 = captureBits[7]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303107.6]
  assign _T_110 = captureBits[8]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303109.6]
  assign _T_111 = captureBits[9]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303111.6]
  assign _T_112 = captureBits[10]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303113.6]
  assign _T_113 = captureBits[11]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303115.6]
  assign _T_114 = captureBits[12]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303117.6]
  assign _T_115 = captureBits[13]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303119.6]
  assign _T_116 = captureBits[14]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303121.6]
  assign _T_117 = captureBits[15]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303123.6]
  assign _T_118 = captureBits[16]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303125.6]
  assign _T_119 = captureBits[17]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303127.6]
  assign _T_120 = captureBits[18]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303129.6]
  assign _T_121 = captureBits[19]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303131.6]
  assign _T_122 = captureBits[20]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303133.6]
  assign _T_123 = captureBits[21]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303135.6]
  assign _T_124 = captureBits[22]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303137.6]
  assign _T_125 = captureBits[23]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303139.6]
  assign _T_126 = captureBits[24]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303141.6]
  assign _T_127 = captureBits[25]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303143.6]
  assign _T_128 = captureBits[26]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303145.6]
  assign _T_129 = captureBits[27]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303147.6]
  assign _T_130 = captureBits[28]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303149.6]
  assign _T_131 = captureBits[29]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303151.6]
  assign _T_132 = captureBits[30]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303153.6]
  assign _T_133 = captureBits[31]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303155.6]
  assign _T_134 = captureBits[32]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303157.6]
  assign _T_135 = captureBits[33]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303159.6]
  assign _T_136 = captureBits[34]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303161.6]
  assign _T_137 = captureBits[35]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303163.6]
  assign _T_138 = captureBits[36]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303165.6]
  assign _T_139 = captureBits[37]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303167.6]
  assign _T_140 = captureBits[38]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303169.6]
  assign _T_141 = captureBits[39]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303171.6]
  assign _T_142 = captureBits[40]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@303173.6]
  assign _T_143 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303233.4]
  assign _T_144 = _T_143 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303234.4]
  assign _T_145 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303235.4]
  assign _T_146 = _T_145 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303236.4]
  assign _T_147 = _T_144 & _T_146; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303237.4]
  assign _T_148 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303238.4]
  assign _T_149 = _T_148 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303239.4]
  assign _T_150 = _T_147 & _T_149; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303240.4]
  assign _T_152 = _T_150 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303242.4]
  assign _T_153 = _T_152 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303243.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@303036.4]
  assign io_capture_capture = io_chainIn_capture; // @[JtagShifter.scala 171:24:shc.marmotcaravel.MarmotCaravelConfig.fir@303175.6 JtagShifter.scala 174:24:shc.marmotcaravel.MarmotCaravelConfig.fir@303180.8 JtagShifter.scala 179:24:shc.marmotcaravel.MarmotCaravelConfig.fir@303226.10 JtagShifter.scala 182:24:shc.marmotcaravel.MarmotCaravelConfig.fir@303230.10]
  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 172:21:shc.marmotcaravel.MarmotCaravelConfig.fir@303176.6 JtagShifter.scala 175:21:shc.marmotcaravel.MarmotCaravelConfig.fir@303181.8 JtagShifter.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@303227.10 JtagShifter.scala 183:21:shc.marmotcaravel.MarmotCaravelConfig.fir@303231.10]
  assign io_update_bits_addr = updateBits[40:34]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@303089.4]
  assign io_update_bits_data = updateBits[33:2]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@303089.4]
  assign io_update_bits_op = updateBits[1:0]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@303089.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@303245.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@303246.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CaptureChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303249.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303250.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303251.4]
  input   io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303252.4]
  input   io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303252.4]
  input   io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303252.4]
  input   io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303252.4]
  output  io_chainOut_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303252.4]
);
  reg  regs_0; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303260.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303261.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303262.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303263.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303264.4]
  reg [31:0] _RAND_4;
  reg  regs_5; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303265.4]
  reg [31:0] _RAND_5;
  reg  regs_6; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303266.4]
  reg [31:0] _RAND_6;
  reg  regs_7; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303267.4]
  reg [31:0] _RAND_7;
  reg  regs_8; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303268.4]
  reg [31:0] _RAND_8;
  reg  regs_9; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303269.4]
  reg [31:0] _RAND_9;
  reg  regs_10; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303270.4]
  reg [31:0] _RAND_10;
  reg  regs_11; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303271.4]
  reg [31:0] _RAND_11;
  reg  regs_12; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303272.4]
  reg [31:0] _RAND_12;
  reg  regs_13; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303273.4]
  reg [31:0] _RAND_13;
  reg  regs_14; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303274.4]
  reg [31:0] _RAND_14;
  reg  regs_15; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303275.4]
  reg [31:0] _RAND_15;
  reg  regs_16; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303276.4]
  reg [31:0] _RAND_16;
  reg  regs_17; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303277.4]
  reg [31:0] _RAND_17;
  reg  regs_18; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303278.4]
  reg [31:0] _RAND_18;
  reg  regs_19; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303279.4]
  reg [31:0] _RAND_19;
  reg  regs_20; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303280.4]
  reg [31:0] _RAND_20;
  reg  regs_21; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303281.4]
  reg [31:0] _RAND_21;
  reg  regs_22; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303282.4]
  reg [31:0] _RAND_22;
  reg  regs_23; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303283.4]
  reg [31:0] _RAND_23;
  reg  regs_24; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303284.4]
  reg [31:0] _RAND_24;
  reg  regs_25; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303285.4]
  reg [31:0] _RAND_25;
  reg  regs_26; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303286.4]
  reg [31:0] _RAND_26;
  reg  regs_27; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303287.4]
  reg [31:0] _RAND_27;
  reg  regs_28; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303288.4]
  reg [31:0] _RAND_28;
  reg  regs_29; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303289.4]
  reg [31:0] _RAND_29;
  reg  regs_30; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303290.4]
  reg [31:0] _RAND_30;
  reg  regs_31; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303291.4]
  reg [31:0] _RAND_31;
  wire  _T_171; // @[JtagShifter.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303495.4]
  wire  _T_172; // @[JtagShifter.scala 119:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303496.4]
  wire  _T_173; // @[JtagShifter.scala 120:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303497.4]
  wire  _T_174; // @[JtagShifter.scala 120:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303498.4]
  wire  _T_175; // @[JtagShifter.scala 120:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303499.4]
  wire  _T_176; // @[JtagShifter.scala 121:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303500.4]
  wire  _T_177; // @[JtagShifter.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303501.4]
  wire  _T_178; // @[JtagShifter.scala 121:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303502.4]
  wire  _T_180; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303504.4]
  wire  _T_181; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303505.4]
  assign _T_171 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303495.4]
  assign _T_172 = _T_171 == 1'h0; // @[JtagShifter.scala 119:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303496.4]
  assign _T_173 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 120:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303497.4]
  assign _T_174 = _T_173 == 1'h0; // @[JtagShifter.scala 120:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303498.4]
  assign _T_175 = _T_172 & _T_174; // @[JtagShifter.scala 120:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303499.4]
  assign _T_176 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 121:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303500.4]
  assign _T_177 = _T_176 == 1'h0; // @[JtagShifter.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303501.4]
  assign _T_178 = _T_175 & _T_177; // @[JtagShifter.scala 121:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303502.4]
  assign _T_180 = _T_178 | reset; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303504.4]
  assign _T_181 = _T_180 == 1'h0; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303505.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 105:20:shc.marmotcaravel.MarmotCaravelConfig.fir@303292.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@303507.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@303508.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncResetRegVec_w4_i15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303551.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303552.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303553.4]
  input  [3:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303554.4]
  output [3:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303554.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303559.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303559.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303559.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303559.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303559.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303565.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303565.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303565.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303565.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303565.4]
  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303571.4]
  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303571.4]
  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303571.4]
  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303571.4]
  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303571.4]
  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303577.4]
  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303577.4]
  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303577.4]
  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303577.4]
  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303577.4]
  wire [1:0] _T_11; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303603.4]
  wire [1:0] _T_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303604.4]
  AsyncResetReg #(.RESET_VALUE(1)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@303559.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@303565.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@303571.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@303577.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@303603.4]
  assign _T_12 = {reg_3_q,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303604.4]
  assign io_q = {_T_12,_T_11}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@303606.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303584.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303583.4]
  assign reg_0_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303587.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303586.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303589.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303588.4]
  assign reg_1_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303592.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303591.4]
  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303594.4]
  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303593.4]
  assign reg_2_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303597.4]
  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303596.4]
  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303599.4]
  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303598.4]
  assign reg_3_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303602.4]
  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303601.4]
endmodule
module JtagStateMachine( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303608.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303609.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303610.4]
  input        io_tms, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303611.4]
  output [3:0] io_currState // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303611.4]
);
  wire  currStateReg_clock; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@303618.4]
  wire  currStateReg_reset; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@303618.4]
  wire [3:0] currStateReg_io_d; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@303618.4]
  wire [3:0] currStateReg_io_q; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@303618.4]
  wire  _T_10; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303624.4]
  wire [3:0] _T_11; // @[JtagStateMachine.scala 90:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303626.6]
  wire  _T_12; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303630.6]
  wire [3:0] _T_13; // @[JtagStateMachine.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303632.8]
  wire  _T_14; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303636.8]
  wire [3:0] _T_15; // @[JtagStateMachine.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303638.10]
  wire  _T_16; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303642.10]
  wire [3:0] _T_17; // @[JtagStateMachine.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303644.12]
  wire  _T_18; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303648.12]
  wire  _T_20; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303654.14]
  wire [3:0] _T_21; // @[JtagStateMachine.scala 105:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303656.16]
  wire  _T_22; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303660.16]
  wire [3:0] _T_23; // @[JtagStateMachine.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303662.18]
  wire  _T_24; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303666.18]
  wire [3:0] _T_25; // @[JtagStateMachine.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303668.20]
  wire  _T_26; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303672.20]
  wire  _T_28; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303678.22]
  wire [3:0] _T_29; // @[JtagStateMachine.scala 117:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303680.24]
  wire  _T_30; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303684.24]
  wire [3:0] _T_31; // @[JtagStateMachine.scala 120:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303686.26]
  wire  _T_32; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303690.26]
  wire  _T_34; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303696.28]
  wire [3:0] _T_35; // @[JtagStateMachine.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303698.30]
  wire  _T_36; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303702.30]
  wire [3:0] _T_37; // @[JtagStateMachine.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303704.32]
  wire  _T_38; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303708.32]
  wire [3:0] _T_39; // @[JtagStateMachine.scala 132:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303710.34]
  wire [3:0] _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303709.32]
  wire [3:0] _GEN_2; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303703.30]
  wire [3:0] _GEN_3; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303697.28]
  wire [3:0] _GEN_4; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303691.26]
  wire [3:0] _GEN_5; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303685.24]
  wire [3:0] _GEN_6; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303679.22]
  wire [3:0] _GEN_7; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303673.20]
  wire [3:0] _GEN_8; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303667.18]
  wire [3:0] _GEN_9; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303661.16]
  wire [3:0] _GEN_10; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303655.14]
  wire [3:0] _GEN_11; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303649.12]
  wire [3:0] _GEN_12; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303643.10]
  wire [3:0] _GEN_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303637.8]
  wire [3:0] _GEN_14; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303631.6]
  AsyncResetRegVec_w4_i15 currStateReg ( // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@303618.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@303624.4]
  assign _T_11 = io_tms ? 4'hf : 4'hc; // @[JtagStateMachine.scala 90:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303626.6]
  assign _T_12 = 4'hc == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303630.6]
  assign _T_13 = io_tms ? 4'h7 : 4'hc; // @[JtagStateMachine.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303632.8]
  assign _T_14 = 4'h7 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303636.8]
  assign _T_15 = io_tms ? 4'h4 : 4'h6; // @[JtagStateMachine.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303638.10]
  assign _T_16 = 4'h6 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303642.10]
  assign _T_17 = io_tms ? 4'h1 : 4'h2; // @[JtagStateMachine.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303644.12]
  assign _T_18 = 4'h2 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303648.12]
  assign _T_20 = 4'h1 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303654.14]
  assign _T_21 = io_tms ? 4'h5 : 4'h3; // @[JtagStateMachine.scala 105:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303656.16]
  assign _T_22 = 4'h3 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303660.16]
  assign _T_23 = io_tms ? 4'h0 : 4'h3; // @[JtagStateMachine.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303662.18]
  assign _T_24 = 4'h0 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303666.18]
  assign _T_25 = io_tms ? 4'h5 : 4'h2; // @[JtagStateMachine.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303668.20]
  assign _T_26 = 4'h5 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303672.20]
  assign _T_28 = 4'h4 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303678.22]
  assign _T_29 = io_tms ? 4'hf : 4'he; // @[JtagStateMachine.scala 117:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303680.24]
  assign _T_30 = 4'he == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303684.24]
  assign _T_31 = io_tms ? 4'h9 : 4'ha; // @[JtagStateMachine.scala 120:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303686.26]
  assign _T_32 = 4'ha == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303690.26]
  assign _T_34 = 4'h9 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303696.28]
  assign _T_35 = io_tms ? 4'hd : 4'hb; // @[JtagStateMachine.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303698.30]
  assign _T_36 = 4'hb == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303702.30]
  assign _T_37 = io_tms ? 4'h8 : 4'hb; // @[JtagStateMachine.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303704.32]
  assign _T_38 = 4'h8 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303708.32]
  assign _T_39 = io_tms ? 4'hd : 4'ha; // @[JtagStateMachine.scala 132:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303710.34]
  assign _GEN_1 = _T_38 ? _T_39 : _T_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303709.32]
  assign _GEN_2 = _T_36 ? _T_37 : _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303703.30]
  assign _GEN_3 = _T_34 ? _T_35 : _GEN_2; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303697.28]
  assign _GEN_4 = _T_32 ? _T_31 : _GEN_3; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303691.26]
  assign _GEN_5 = _T_30 ? _T_31 : _GEN_4; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303685.24]
  assign _GEN_6 = _T_28 ? _T_29 : _GEN_5; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303679.22]
  assign _GEN_7 = _T_26 ? _T_13 : _GEN_6; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303673.20]
  assign _GEN_8 = _T_24 ? _T_25 : _GEN_7; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303667.18]
  assign _GEN_9 = _T_22 ? _T_23 : _GEN_8; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303661.16]
  assign _GEN_10 = _T_20 ? _T_21 : _GEN_9; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303655.14]
  assign _GEN_11 = _T_18 ? _T_17 : _GEN_10; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303649.12]
  assign _GEN_12 = _T_16 ? _T_17 : _GEN_11; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303643.10]
  assign _GEN_13 = _T_14 ? _T_15 : _GEN_12; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303637.8]
  assign _GEN_14 = _T_12 ? _T_13 : _GEN_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@303631.6]
  assign io_currState = currStateReg_io_q; // @[JtagStateMachine.scala 139:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303719.4]
  assign currStateReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303620.4]
  assign currStateReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303621.4]
  assign currStateReg_io_d = _T_10 ? _T_11 : _GEN_14; // @[JtagStateMachine.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@303623.4]
endmodule
module CaptureUpdateChain_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303881.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303882.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303883.4]
  input        io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303884.4]
  input        io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303884.4]
  input        io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303884.4]
  input        io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303884.4]
  output       io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303884.4]
  output [4:0] io_update_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303884.4]
);
  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303892.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303893.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303894.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303895.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@303896.4]
  reg [31:0] _RAND_4;
  wire [1:0] _T_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303898.4]
  wire [1:0] _T_19; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303899.4]
  wire [2:0] _T_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303900.4]
  wire  _T_29; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303940.4]
  wire  _T_30; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303941.4]
  wire  _T_31; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303942.4]
  wire  _T_32; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303943.4]
  wire  _T_33; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303944.4]
  wire  _T_34; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303945.4]
  wire  _T_35; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303946.4]
  wire  _T_36; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303947.4]
  wire  _T_38; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303949.4]
  wire  _T_39; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303950.4]
  assign _T_18 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303898.4]
  assign _T_19 = {regs_4,regs_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303899.4]
  assign _T_20 = {_T_19,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@303900.4]
  assign _T_29 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303940.4]
  assign _T_30 = _T_29 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303941.4]
  assign _T_31 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303942.4]
  assign _T_32 = _T_31 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303943.4]
  assign _T_33 = _T_30 & _T_32; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303944.4]
  assign _T_34 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303945.4]
  assign _T_35 = _T_34 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@303946.4]
  assign _T_36 = _T_33 & _T_35; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@303947.4]
  assign _T_38 = _T_36 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303949.4]
  assign _T_39 = _T_38 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@303950.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@303897.4]
  assign io_update_bits = {_T_20,_T_18}; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@303906.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@303952.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@303953.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module JtagTapController( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303956.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303957.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303958.4]
  input        io_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  input        io_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  input        io_control_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output [4:0] io_output_instruction, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_output_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_dataChainOut_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_dataChainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_dataChainOut_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  output       io_dataChainOut_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
  input        io_dataChainIn_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303959.4]
);
  wire  stateMachine_clock; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303986.4]
  wire  stateMachine_reset; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303986.4]
  wire  stateMachine_io_tms; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303986.4]
  wire [3:0] stateMachine_io_currState; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303986.4]
  wire  irChain_clock; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  irChain_reset; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  irChain_io_chainIn_shift; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  irChain_io_chainIn_data; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  irChain_io_chainIn_capture; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  irChain_io_chainIn_update; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  irChain_io_chainOut_data; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire [4:0] irChain_io_update_bits; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303993.4]
  wire  _T_37; // @[Utils.scala 21:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303968.4]
  wire  _T_38; // @[Utils.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303969.4]
  wire  _T_39; // @[Utils.scala 21:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303970.4]
  reg  tdoReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303971.4]
  reg [31:0] _RAND_0;
  wire [3:0] currState; // @[JtagTap.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303984.4 JtagTap.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@303991.4]
  wire  _T_62; // @[JtagTap.scala 142:19:shc.marmotcaravel.MarmotCaravelConfig.fir@304040.4]
  wire  _T_63; // @[JtagTap.scala 145:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304046.6]
  wire  _GEN_7; // @[JtagTap.scala 145:51:shc.marmotcaravel.MarmotCaravelConfig.fir@304047.6]
  reg  tdoeReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303979.4]
  reg [31:0] _RAND_1;
  wire  _T_49; // @[JtagTap.scala 108:42:shc.marmotcaravel.MarmotCaravelConfig.fir@304002.4]
  reg [4:0] irReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@304012.4]
  reg [31:0] _RAND_2;
  wire  updateInstruction; // @[JtagTap.scala 116:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304017.4]
  wire [4:0] _GEN_3; // @[JtagTap.scala 119:52:shc.marmotcaravel.MarmotCaravelConfig.fir@304023.6]
  JtagStateMachine stateMachine ( // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@303986.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@303993.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@303968.4]
  assign _T_38 = _T_37 == 1'h0; // @[Utils.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@303969.4]
  assign _T_39 = _T_38; // @[Utils.scala 21:31:shc.marmotcaravel.MarmotCaravelConfig.fir@303970.4]
  assign currState = stateMachine_io_currState; // @[JtagTap.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@303984.4 JtagTap.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@303991.4]
  assign _T_62 = currState == 4'h2; // @[JtagTap.scala 142:19:shc.marmotcaravel.MarmotCaravelConfig.fir@304040.4]
  assign _T_63 = currState == 4'ha; // @[JtagTap.scala 145:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304046.6]
  assign _GEN_7 = irChain_io_chainOut_data; // @[JtagTap.scala 145:51:shc.marmotcaravel.MarmotCaravelConfig.fir@304047.6]
  assign _T_49 = currState == 4'hd; // @[JtagTap.scala 108:42:shc.marmotcaravel.MarmotCaravelConfig.fir@304002.4]
  assign updateInstruction = reset ? 1'h1 : _T_49; // @[JtagTap.scala 116:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304017.4]
  assign _GEN_3 = irChain_io_update_bits; // @[JtagTap.scala 119:52:shc.marmotcaravel.MarmotCaravelConfig.fir@304023.6]
  assign io_jtag_TDO_data = tdoReg; // @[JtagTap.scala 76:20:shc.marmotcaravel.MarmotCaravelConfig.fir@303975.4]
  assign io_jtag_TDO_driven = tdoeReg; // @[JtagTap.scala 77:22:shc.marmotcaravel.MarmotCaravelConfig.fir@303983.4]
  assign io_output_instruction = irReg; // @[JtagTap.scala 127:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304030.4]
  assign io_output_reset = currState == 4'hf; // @[JtagTap.scala 129:19:shc.marmotcaravel.MarmotCaravelConfig.fir@304032.4]
  assign io_dataChainOut_shift = currState == 4'h2; // @[JtagTap.scala 134:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304034.4]
  assign io_dataChainOut_data = io_jtag_TDI; // @[JtagTap.scala 135:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304035.4]
  assign io_dataChainOut_capture = currState == 4'h6; // @[JtagTap.scala 136:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304037.4]
  assign io_dataChainOut_update = currState == 4'h5; // @[JtagTap.scala 137:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304039.4]
  assign stateMachine_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303988.4]
  assign stateMachine_reset = io_control_jtag_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303989.4]
  assign stateMachine_io_tms = io_jtag_TMS; // @[JtagTap.scala 92:25:shc.marmotcaravel.MarmotCaravelConfig.fir@303990.4]
  assign irChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303995.4]
  assign irChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@303996.4]
  assign irChain_io_chainIn_shift = currState == 4'ha; // @[JtagTap.scala 105:28:shc.marmotcaravel.MarmotCaravelConfig.fir@303998.4]
  assign irChain_io_chainIn_data = io_jtag_TDI; // @[JtagTap.scala 106:27:shc.marmotcaravel.MarmotCaravelConfig.fir@303999.4]
  assign irChain_io_chainIn_capture = currState == 4'he; // @[JtagTap.scala 107:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304001.4]
  assign irChain_io_chainIn_update = currState == 4'hd; // @[JtagTap.scala 108:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304003.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@304055.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304056.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304057.4]
  input   io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304058.4]
  input   io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304058.4]
  input   io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304058.4]
  input   io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304058.4]
  output  io_chainOut_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304058.4]
);
  reg  reg$; // @[JtagShifter.scala 63:16:shc.marmotcaravel.MarmotCaravelConfig.fir@304066.4]
  reg [31:0] _RAND_0;
  wire  _T_10; // @[JtagShifter.scala 74:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304075.4]
  wire  _T_11; // @[JtagShifter.scala 74:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304076.4]
  wire  _T_12; // @[JtagShifter.scala 75:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304077.4]
  wire  _T_13; // @[JtagShifter.scala 75:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304078.4]
  wire  _T_14; // @[JtagShifter.scala 75:7:shc.marmotcaravel.MarmotCaravelConfig.fir@304079.4]
  wire  _T_15; // @[JtagShifter.scala 76:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304080.4]
  wire  _T_16; // @[JtagShifter.scala 76:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304081.4]
  wire  _T_17; // @[JtagShifter.scala 76:7:shc.marmotcaravel.MarmotCaravelConfig.fir@304082.4]
  wire  _T_19; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304084.4]
  wire  _T_20; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304085.4]
  assign _T_10 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 74:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304075.4]
  assign _T_11 = _T_10 == 1'h0; // @[JtagShifter.scala 74:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304076.4]
  assign _T_12 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 75:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304077.4]
  assign _T_13 = _T_12 == 1'h0; // @[JtagShifter.scala 75:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304078.4]
  assign _T_14 = _T_11 & _T_13; // @[JtagShifter.scala 75:7:shc.marmotcaravel.MarmotCaravelConfig.fir@304079.4]
  assign _T_15 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 76:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304080.4]
  assign _T_16 = _T_15 == 1'h0; // @[JtagShifter.scala 76:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304081.4]
  assign _T_17 = _T_14 & _T_16; // @[JtagShifter.scala 76:7:shc.marmotcaravel.MarmotCaravelConfig.fir@304082.4]
  assign _T_19 = _T_17 | reset; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304084.4]
  assign _T_20 = _T_19 == 1'h0; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304085.4]
  assign io_chainOut_data = reg$; // @[JtagShifter.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@304067.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@304087.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@304088.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module DebugTransportModuleJTAG( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304091.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304092.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304093.4]
  input         io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output        io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output        io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  input         io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  input  [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  input  [1:0]  io_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  input         io_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  input         io_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output        io_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output        io_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  input         io_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
  output        io_fsmReset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304094.4]
);
  wire  dtmInfoChain_clock; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_reset; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_chainIn_shift; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_chainIn_data; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_chainIn_capture; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_chainIn_update; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_chainOut_data; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire [1:0] dtmInfoChain_io_capture_bits_dmiStatus; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_update_valid; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dtmInfoChain_io_update_bits_dmireset; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.4]
  wire  dmiAccessChain_clock; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_reset; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_chainIn_shift; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_chainIn_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_chainIn_capture; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_chainIn_update; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_chainOut_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire [6:0] dmiAccessChain_io_capture_bits_addr; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire [31:0] dmiAccessChain_io_capture_bits_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire [1:0] dmiAccessChain_io_capture_bits_resp; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  dmiAccessChain_io_update_valid; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire [6:0] dmiAccessChain_io_update_bits_addr; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire [31:0] dmiAccessChain_io_update_bits_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire [1:0] dmiAccessChain_io_update_bits_op; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304137.4]
  wire  idcodeChain_clock; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  idcodeChain_reset; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  idcodeChain_io_chainIn_shift; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  idcodeChain_io_chainIn_data; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  idcodeChain_io_chainIn_capture; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  idcodeChain_io_chainIn_update; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  idcodeChain_io_chainOut_data; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@304290.4]
  wire  JtagTapController_clock; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_jtag_TMS; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_jtag_TDI; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_jtag_TDO_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_jtag_TDO_driven; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_control_jtag_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire [4:0] JtagTapController_io_output_instruction; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_output_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_dataChainOut_shift; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_dataChainOut_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_dataChainOut_capture; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_dataChainOut_update; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagTapController_io_dataChainIn_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@304321.4]
  wire  JtagBypassChain_clock; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  wire  JtagBypassChain_reset; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  wire  JtagBypassChain_io_chainIn_shift; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  wire  JtagBypassChain_io_chainIn_data; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  wire  JtagBypassChain_io_chainIn_capture; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  wire  JtagBypassChain_io_chainIn_update; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  wire  JtagBypassChain_io_chainOut_data; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304331.4]
  reg  busyReg; // @[DebugTransport.scala 87:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304101.4]
  reg [31:0] _RAND_0;
  reg  stickyBusyReg; // @[DebugTransport.scala 88:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304102.4]
  reg [31:0] _RAND_1;
  reg  stickyNonzeroRespReg; // @[DebugTransport.scala 89:37:shc.marmotcaravel.MarmotCaravelConfig.fir@304103.4]
  reg [31:0] _RAND_2;
  reg  skipOpReg; // @[DebugTransport.scala 91:22:shc.marmotcaravel.MarmotCaravelConfig.fir@304104.4]
  reg [31:0] _RAND_3;
  reg  downgradeOpReg; // @[DebugTransport.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304105.4]
  reg [31:0] _RAND_4;
  reg [6:0] dmiReqReg_addr; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304118.4]
  reg [31:0] _RAND_5;
  reg [31:0] dmiReqReg_data; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304118.4]
  reg [31:0] _RAND_6;
  reg [1:0] dmiReqReg_op; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304118.4]
  reg [31:0] _RAND_7;
  reg  dmiReqValidReg; // @[DebugTransport.scala 104:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304119.4]
  reg [31:0] _RAND_8;
  wire  _T_40; // @[DebugTransport.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@304122.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@304144.4]
  wire  _T_46; // @[DebugTransport.scala 148:22:shc.marmotcaravel.MarmotCaravelConfig.fir@304148.4]
  wire  _T_47; // @[DebugTransport.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@304149.4]
  wire  busy; // @[DebugTransport.scala 148:42:shc.marmotcaravel.MarmotCaravelConfig.fir@304150.4]
  wire  _T_49; // @[DebugTransport.scala 159:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304158.6]
  wire  _T_51; // @[DebugTransport.scala 176:85:shc.marmotcaravel.MarmotCaravelConfig.fir@304170.4]
  wire  _T_52; // @[DebugTransport.scala 176:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304171.4]
  wire  nonzeroResp; // @[DebugTransport.scala 176:39:shc.marmotcaravel.MarmotCaravelConfig.fir@304172.4]
  wire  _T_50; // @[DebugTransport.scala 159:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304159.6]
  wire  _T_54; // @[DebugTransport.scala 177:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304174.4]
  wire  _T_56; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304176.4]
  wire  _T_57; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304177.4]
  wire  _T_58; // @[DebugTransport.scala 178:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304182.4]
  wire  _T_60; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304184.4]
  wire  _T_61; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304185.4]
  wire [6:0] _T_63_addr; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304200.4]
  wire [31:0] _T_63_data; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304200.4]
  wire [1:0] _T_63_resp; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304200.4]
  wire  _T_68; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@304218.4]
  wire  _T_74; // @[DebugTransport.scala 216:69:shc.marmotcaravel.MarmotCaravelConfig.fir@304232.8]
  wire  _T_75; // @[DebugTransport.scala 216:32:shc.marmotcaravel.MarmotCaravelConfig.fir@304233.8]
  wire  _GEN_22; // @[DebugTransport.scala 216:97:shc.marmotcaravel.MarmotCaravelConfig.fir@304234.8]
  wire  _GEN_27; // @[DebugTransport.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@304229.6]
  wire  dmiReqValidCheck; // @[DebugTransport.scala 213:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304228.4]
  wire  _T_69; // @[DebugTransport.scala 211:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304219.4]
  wire  _T_70; // @[DebugTransport.scala 211:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304220.4]
  wire  _T_72; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304222.4]
  wire  _T_73; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304223.4]
  wire  _T_77; // @[DebugTransport.scala 233:18:shc.marmotcaravel.MarmotCaravelConfig.fir@304249.4]
  wire [31:0] _GEN_0; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@304297.4]
  wire [1:0] _T_136; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@304297.4]
  wire  _T_137; // @[JtagTap.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304298.4]
  wire  _T_139; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304300.4]
  wire  _T_140; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304301.4]
  wire [12:0] _T_143; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304308.4]
  wire [12:0] _T_144; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304309.4]
  wire [11:0] _T_145; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304310.4]
  wire [30:0] _GEN_62; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304311.4]
  wire [30:0] _T_146; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304311.4]
  wire  _T_147; // @[JtagTap.scala 193:49:shc.marmotcaravel.MarmotCaravelConfig.fir@304312.4]
  wire  _T_149; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304314.4]
  wire  _T_150; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304315.4]
  wire  _T_153; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@304336.4]
  wire  _T_154; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@304337.4]
  wire  _T_155; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@304338.4]
  wire  _GEN_35; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304350.10]
  wire  _GEN_39; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304346.8]
  CaptureUpdateChain dtmInfoChain ( // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304132.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@304137.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@304290.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@304321.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@304331.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@304122.4]
  assign _T_45 = io_dmi_resp_ready & io_dmi_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@304144.4]
  assign _T_46 = io_dmi_resp_valid == 1'h0; // @[DebugTransport.scala 148:22:shc.marmotcaravel.MarmotCaravelConfig.fir@304148.4]
  assign _T_47 = busyReg & _T_46; // @[DebugTransport.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@304149.4]
  assign busy = _T_47 | stickyBusyReg; // @[DebugTransport.scala 148:42:shc.marmotcaravel.MarmotCaravelConfig.fir@304150.4]
  assign _T_49 = busy == 1'h0; // @[DebugTransport.scala 159:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304158.6]
  assign _T_51 = io_dmi_resp_bits_resp != 2'h0; // @[DebugTransport.scala 176:85:shc.marmotcaravel.MarmotCaravelConfig.fir@304170.4]
  assign _T_52 = io_dmi_resp_valid & _T_51; // @[DebugTransport.scala 176:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304171.4]
  assign nonzeroResp = stickyNonzeroRespReg | _T_52; // @[DebugTransport.scala 176:39:shc.marmotcaravel.MarmotCaravelConfig.fir@304172.4]
  assign _T_50 = _T_49 & nonzeroResp; // @[DebugTransport.scala 159:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304159.6]
  assign _T_54 = nonzeroResp == 1'h0; // @[DebugTransport.scala 177:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304174.4]
  assign _T_56 = _T_54 | reset; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304176.4]
  assign _T_57 = _T_56 == 1'h0; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304177.4]
  assign _T_58 = stickyNonzeroRespReg == 1'h0; // @[DebugTransport.scala 178:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304182.4]
  assign _T_60 = _T_58 | reset; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304184.4]
  assign _T_61 = _T_60 == 1'h0; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304185.4]
  assign _T_63_addr = io_dmi_resp_valid ? dmiReqReg_addr : 7'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304200.4]
  assign _T_63_data = io_dmi_resp_valid ? io_dmi_resp_bits_data : 32'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304200.4]
  assign _T_63_resp = io_dmi_resp_valid ? io_dmi_resp_bits_resp : 2'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@304200.4]
  assign _T_68 = io_dmi_req_ready & io_dmi_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@304218.4]
  assign _T_74 = dmiAccessChain_io_update_bits_op == 2'h0; // @[DebugTransport.scala 216:69:shc.marmotcaravel.MarmotCaravelConfig.fir@304232.8]
  assign _T_75 = downgradeOpReg | _T_74; // @[DebugTransport.scala 216:32:shc.marmotcaravel.MarmotCaravelConfig.fir@304233.8]
  assign _GEN_22 = _T_75 ? 1'h0 : 1'h1; // @[DebugTransport.scala 216:97:shc.marmotcaravel.MarmotCaravelConfig.fir@304234.8]
  assign _GEN_27 = skipOpReg ? 1'h0 : _GEN_22; // @[DebugTransport.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@304229.6]
  assign dmiReqValidCheck = dmiAccessChain_io_update_valid ? _GEN_27 : 1'h0; // @[DebugTransport.scala 213:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304228.4]
  assign _T_69 = dmiReqValidCheck & _T_68; // @[DebugTransport.scala 211:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304219.4]
  assign _T_70 = _T_69 == 1'h0; // @[DebugTransport.scala 211:10:shc.marmotcaravel.MarmotCaravelConfig.fir@304220.4]
  assign _T_72 = _T_70 | reset; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304222.4]
  assign _T_73 = _T_72 == 1'h0; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@304223.4]
  assign _T_77 = dmiReqReg_op == 2'h2; // @[DebugTransport.scala 233:18:shc.marmotcaravel.MarmotCaravelConfig.fir@304249.4]
  assign _GEN_0 = 32'h20000913 % 32'h2; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@304297.4]
  assign _T_136 = _GEN_0[1:0]; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@304297.4]
  assign _T_137 = _T_136 == 2'h1; // @[JtagTap.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304298.4]
  assign _T_139 = _T_137 | reset; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304300.4]
  assign _T_140 = _T_139 == 1'h0; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304301.4]
  assign _T_143 = 12'h800 - 12'h1; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304308.4]
  assign _T_144 = $unsigned(_T_143); // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304309.4]
  assign _T_145 = _T_144[11:0]; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304310.4]
  assign _GEN_62 = {{19'd0}, _T_145}; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304311.4]
  assign _T_146 = 31'h10000489 & _GEN_62; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304311.4]
  assign _T_147 = _T_146 != 31'h7f; // @[JtagTap.scala 193:49:shc.marmotcaravel.MarmotCaravelConfig.fir@304312.4]
  assign _T_149 = _T_147 | reset; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304314.4]
  assign _T_150 = _T_149 == 1'h0; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304315.4]
  assign _T_153 = JtagTapController_io_output_instruction == 5'h1; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@304336.4]
  assign _T_154 = JtagTapController_io_output_instruction == 5'h10; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@304337.4]
  assign _T_155 = JtagTapController_io_output_instruction == 5'h11; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@304338.4]
  assign _GEN_35 = _T_155 ? dmiAccessChain_io_chainOut_data : JtagBypassChain_io_chainOut_data; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304350.10]
  assign _GEN_39 = _T_154 ? dtmInfoChain_io_chainOut_data : _GEN_35; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304346.8]
  assign io_dmi_req_valid = dmiReqValidReg; // @[DebugTransport.scala 249:20:shc.marmotcaravel.MarmotCaravelConfig.fir@304266.4]
  assign io_dmi_req_bits_addr = dmiReqReg_addr; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@304267.4]
  assign io_dmi_req_bits_data = dmiReqReg_data; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@304267.4]
  assign io_dmi_req_bits_op = dmiReqReg_op; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@304267.4]
  assign io_dmi_resp_ready = _T_77 ? io_dmi_resp_valid : dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 232:21:shc.marmotcaravel.MarmotCaravelConfig.fir@304251.4]
  assign io_jtag_TDO_data = JtagTapController_io_jtag_TDO_data; // @[DebugTransport.scala 270:14:shc.marmotcaravel.MarmotCaravelConfig.fir@304378.4]
  assign io_jtag_TDO_driven = JtagTapController_io_jtag_TDO_driven; // @[DebugTransport.scala 270:14:shc.marmotcaravel.MarmotCaravelConfig.fir@304378.4]
  assign io_fsmReset = JtagTapController_io_output_reset; // @[DebugTransport.scala 278:15:shc.marmotcaravel.MarmotCaravelConfig.fir@304380.4]
  assign dtmInfoChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304134.4]
  assign dtmInfoChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304135.4]
  assign dtmInfoChain_io_chainIn_shift = _T_154 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304363.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304366.6]
  assign dtmInfoChain_io_chainIn_data = _T_154 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304363.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304366.6]
  assign dtmInfoChain_io_chainIn_capture = _T_154 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304363.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304366.6]
  assign dtmInfoChain_io_chainIn_update = _T_154 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304363.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304366.6]
  assign dtmInfoChain_io_capture_bits_dmiStatus = {stickyNonzeroRespReg,_T_40}; // @[DebugTransport.scala 122:32:shc.marmotcaravel.MarmotCaravelConfig.fir@304136.4]
  assign dmiAccessChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304139.4]
  assign dmiAccessChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304140.4]
  assign dmiAccessChain_io_chainIn_shift = _T_155 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304369.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304372.6]
  assign dmiAccessChain_io_chainIn_data = _T_155 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304369.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304372.6]
  assign dmiAccessChain_io_chainIn_capture = _T_155 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304369.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304372.6]
  assign dmiAccessChain_io_chainIn_update = _T_155 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304369.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304372.6]
  assign dmiAccessChain_io_capture_bits_addr = busy ? 7'h0 : _T_63_addr; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@304202.4]
  assign dmiAccessChain_io_capture_bits_data = busy ? 32'h0 : _T_63_data; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@304202.4]
  assign dmiAccessChain_io_capture_bits_resp = busy ? 2'h3 : _T_63_resp; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@304202.4]
  assign idcodeChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304292.4]
  assign idcodeChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304293.4]
  assign idcodeChain_io_chainIn_shift = _T_153 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304357.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304360.6]
  assign idcodeChain_io_chainIn_data = _T_153 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304357.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304360.6]
  assign idcodeChain_io_chainIn_capture = _T_153 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304357.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304360.6]
  assign idcodeChain_io_chainIn_update = _T_153 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304357.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304360.6]
  assign JtagTapController_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304323.4]
  assign JtagTapController_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304324.4]
  assign JtagTapController_io_jtag_TMS = io_jtag_TMS; // @[JtagTap.scala 260:32:shc.marmotcaravel.MarmotCaravelConfig.fir@304374.4]
  assign JtagTapController_io_jtag_TDI = io_jtag_TDI; // @[JtagTap.scala 260:32:shc.marmotcaravel.MarmotCaravelConfig.fir@304374.4]
  assign JtagTapController_io_control_jtag_reset = io_jtag_reset; // @[JtagTap.scala 261:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304375.4]
  assign JtagTapController_io_dataChainIn_data = _T_153 ? idcodeChain_io_chainOut_data : _GEN_39; // @[JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@304343.8 JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@304347.10 JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@304351.12 JtagTap.scala 246:41:shc.marmotcaravel.MarmotCaravelConfig.fir@304354.12]
  assign JtagBypassChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304333.4]
  assign JtagBypassChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304334.4]
  assign JtagBypassChain_io_chainIn_shift = JtagTapController_io_dataChainOut_shift; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304335.4]
  assign JtagBypassChain_io_chainIn_data = JtagTapController_io_dataChainOut_data; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304335.4]
  assign JtagBypassChain_io_chainIn_capture = JtagTapController_io_dataChainOut_capture; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304335.4]
  assign JtagBypassChain_io_chainIn_update = JtagTapController_io_dataChainOut_update; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304335.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@304179.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@304180.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@304187.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@304188.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@304225.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@304226.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@304303.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@304304.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@304317.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@304318.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MarmotCaravelSystem( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304540.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304541.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304542.4]
  input   debug_systemjtag_jtag_TCK, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304544.4]
  input   debug_systemjtag_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304544.4]
  input   debug_systemjtag_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304544.4]
  output  debug_systemjtag_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304544.4]
  output  debug_systemjtag_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304544.4]
  input   debug_systemjtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304544.4]
  output  uart_0_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304545.4]
  input   uart_0_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304545.4]
  output  uart_1_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304546.4]
  input   uart_1_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304546.4]
  output  uart_2_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304547.4]
  input   uart_2_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304547.4]
  output  uart_3_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304548.4]
  input   uart_3_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304548.4]
  output  uart_4_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304549.4]
  input   uart_4_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304549.4]
  output  spi_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  input   spi_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  input   spi_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  input   spi_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  input   spi_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  output  spi_0_cs_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304550.4]
  input   gpio_0_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_25_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_25_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_25_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_26_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_26_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_26_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_27_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_27_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_27_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_28_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_28_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_28_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_29_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_29_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_29_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_30_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_30_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_30_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_pins_31_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_31_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_pins_31_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  gpio_0_iof_0_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  input   gpio_0_iof_0_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304551.4]
  output  qspi_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  input   qspi_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  input   qspi_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  input   qspi_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  input   qspi_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304552.4]
  output  qspi_ram_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  input   qspi_ram_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  input   qspi_ram_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  input   qspi_ram_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  input   qspi_ram_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  output  qspi_ram_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304553.4]
  input   aon_pins_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304554.4]
  input   aon_pins_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304554.4]
  output  aon_rsts_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304554.4]
  input   i2c_0_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304555.4]
  output  i2c_0_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304555.4]
  input   i2c_0_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304555.4]
  output  i2c_0_sda_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304555.4]
  input   i2c_1_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304556.4]
  output  i2c_1_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304556.4]
  input   i2c_1_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304556.4]
  output  i2c_1_sda_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304556.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@304574.4]
  wire  int_bus_auto_int_in_10_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_2; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_3; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_4; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_5; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_6; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_7; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_8; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_9; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_10; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_11; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_12; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_13; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_14; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_15; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_16; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_17; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_18; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_19; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_20; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_21; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_22; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_23; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_24; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_25; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_26; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_27; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_28; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_29; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_30; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_9_31; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_8_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_7_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_6_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_5_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_4_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_3_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_2_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_1_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_0_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_in_0_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_2; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_3; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_4; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_5; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_6; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_7; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_8; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_9; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_10; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_11; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_12; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_13; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_14; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_15; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_16; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_17; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_18; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_19; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_20; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_21; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_22; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_23; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_24; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_25; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_26; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_27; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_28; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_29; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_30; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_31; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_32; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_33; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_34; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_35; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_36; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_37; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_38; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_39; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_40; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_41; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_42; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  int_bus_auto_int_out_43; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.4]
  wire  sbus_clock; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_reset; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire [30:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.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@304580.4]
  wire  pbus_clock; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_reset; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [30:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [1:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [5:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [28:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [3:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [31:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [1:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [5:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [31:0] pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.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@304586.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@304586.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@304586.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@304586.4]
  wire  pbus_auto_from_cbus_in_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_from_cbus_in_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_from_cbus_in_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [3:0] pbus_auto_from_cbus_in_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [30:0] pbus_auto_from_cbus_in_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [3:0] pbus_auto_from_cbus_in_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [31:0] pbus_auto_from_cbus_in_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [2:0] pbus_auto_from_cbus_in_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [1:0] pbus_auto_from_cbus_in_d_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [3:0] pbus_auto_from_cbus_in_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_d_bits_sink; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_d_bits_denied; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire [31:0] pbus_auto_from_cbus_in_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  pbus_auto_from_cbus_in_d_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@304586.4]
  wire  plic_clock; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_reset; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_0; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_1; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_2; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_3; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_4; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_5; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_6; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_7; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_8; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_9; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_10; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_11; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_12; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_13; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_14; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_15; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_16; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_17; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_18; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_19; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_20; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_21; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_22; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_23; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_24; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_25; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_26; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_27; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_28; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_29; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_30; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_31; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_32; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_33; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_34; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_35; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_36; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_37; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_38; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_39; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_40; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_41; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_42; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_in_43; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_int_out_0; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_in_a_ready; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_in_a_valid; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [2:0] plic_auto_in_a_bits_opcode; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [2:0] plic_auto_in_a_bits_param; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [1:0] plic_auto_in_a_bits_size; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [5:0] plic_auto_in_a_bits_source; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [27:0] plic_auto_in_a_bits_address; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [3:0] plic_auto_in_a_bits_mask; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [31:0] plic_auto_in_a_bits_data; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_in_a_bits_corrupt; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_in_d_ready; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  plic_auto_in_d_valid; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [2:0] plic_auto_in_d_bits_opcode; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [1:0] plic_auto_in_d_bits_size; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [5:0] plic_auto_in_d_bits_source; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire [31:0] plic_auto_in_d_bits_data; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304616.4]
  wire  clint_clock; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_reset; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_int_out_0; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_int_out_1; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_in_a_ready; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_in_a_valid; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [2:0] clint_auto_in_a_bits_opcode; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [2:0] clint_auto_in_a_bits_param; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [1:0] clint_auto_in_a_bits_size; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [5:0] clint_auto_in_a_bits_source; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [25:0] clint_auto_in_a_bits_address; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [3:0] clint_auto_in_a_bits_mask; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [31:0] clint_auto_in_a_bits_data; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_in_a_bits_corrupt; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_in_d_ready; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_auto_in_d_valid; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [2:0] clint_auto_in_d_bits_opcode; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [1:0] clint_auto_in_d_bits_size; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [5:0] clint_auto_in_d_bits_source; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire [31:0] clint_auto_in_d_bits_data; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  clint_io_rtcTick; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304622.4]
  wire  debug_1_clock; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_reset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_a_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_param; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_size; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [5:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_source; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [11:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_address; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [3:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_d_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [5:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_auto_dmOuter_intsource_out_sync_0; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_ctrl_ndreset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_dmi_dmi_req_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [6:0] debug_1_io_dmi_dmi_req_bits_addr; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [31:0] debug_1_io_dmi_dmi_req_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [1:0] debug_1_io_dmi_dmi_req_bits_op; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_dmi_dmi_resp_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [31:0] debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire [1:0] debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_dmi_dmiClock; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  debug_1_io_dmi_dmiReset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304629.4]
  wire  tile_clock; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_reset; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_intsink_in_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_int_in_xing_in_1_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_int_in_xing_in_0_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_int_in_xing_in_0_sync_1; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_a_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_a_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_a_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_auto_tl_slave_xing_in_a_bits_address; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [3:0] tile_auto_tl_slave_xing_in_a_bits_mask; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_auto_tl_slave_xing_in_a_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_a_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_d_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_d_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_slave_xing_in_d_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [1:0] tile_auto_tl_slave_xing_in_d_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_slave_xing_in_d_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_sink; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_denied; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_auto_tl_slave_xing_in_d_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_a_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_a_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_master_xing_out_a_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_master_xing_out_a_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [3:0] tile_auto_tl_master_xing_out_a_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_a_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_auto_tl_master_xing_out_a_bits_address; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [3:0] tile_auto_tl_master_xing_out_a_bits_mask; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_auto_tl_master_xing_out_a_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_a_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_d_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_d_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [2:0] tile_auto_tl_master_xing_out_d_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [1:0] tile_auto_tl_master_xing_out_d_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [3:0] tile_auto_tl_master_xing_out_d_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_d_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_d_bits_sink; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_d_bits_denied; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_auto_tl_master_xing_out_d_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_auto_tl_master_xing_out_d_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  tile_constants_hartid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire [31:0] tile_constants_reset_vector; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@304642.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304649.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304649.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304649.4]
  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304649.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304649.4]
  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304649.4]
  wire  intsource_1_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304655.4]
  wire  intsource_1_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304655.4]
  wire  intsource_1_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304655.4]
  wire  intsource_1_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304655.4]
  wire  maskROM_clock; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  maskROM_reset; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  maskROM_auto_in_a_ready; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  maskROM_auto_in_a_valid; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [2:0] maskROM_auto_in_a_bits_opcode; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [2:0] maskROM_auto_in_a_bits_param; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [1:0] maskROM_auto_in_a_bits_size; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [5:0] maskROM_auto_in_a_bits_source; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [16:0] maskROM_auto_in_a_bits_address; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [3:0] maskROM_auto_in_a_bits_mask; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  maskROM_auto_in_a_bits_corrupt; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  maskROM_auto_in_d_ready; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  maskROM_auto_in_d_valid; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [1:0] maskROM_auto_in_d_bits_size; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [5:0] maskROM_auto_in_d_bits_source; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire [31:0] maskROM_auto_in_d_bits_data; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304667.4]
  wire  aon_1_auto_intsource_out_sync_0; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_intsource_out_sync_1; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [2:0] aon_1_auto_isolation_in_a_mem_0_opcode; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [2:0] aon_1_auto_isolation_in_a_mem_0_param; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [1:0] aon_1_auto_isolation_in_a_mem_0_size; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [5:0] aon_1_auto_isolation_in_a_mem_0_source; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [28:0] aon_1_auto_isolation_in_a_mem_0_address; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [3:0] aon_1_auto_isolation_in_a_mem_0_mask; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [31:0] aon_1_auto_isolation_in_a_mem_0_data; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_mem_0_corrupt; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_ridx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_widx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_safe_ridx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_safe_widx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_safe_source_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [2:0] aon_1_auto_isolation_in_d_mem_0_opcode; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [1:0] aon_1_auto_isolation_in_d_mem_0_param; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [1:0] aon_1_auto_isolation_in_d_mem_0_size; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [5:0] aon_1_auto_isolation_in_d_mem_0_source; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_mem_0_sink; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_mem_0_denied; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire [31:0] aon_1_auto_isolation_in_d_mem_0_data; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_mem_0_corrupt; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_ridx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_widx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_safe_ridx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_safe_widx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_safe_source_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_auto_isolation_in_d_safe_sink_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_io_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_io_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_io_rtc; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  aon_1_io_ndreset; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@304673.4]
  wire  intsink_1_clock; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304680.4]
  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304680.4]
  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304680.4]
  wire  intsink_1_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304680.4]
  wire  intsink_1_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304680.4]
  wire  asyncXing_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304686.4]
  wire  asyncXing_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304686.4]
  wire  asyncXing_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304686.4]
  wire  uart_0_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [2:0] uart_0_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [2:0] uart_0_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [1:0] uart_0_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [5:0] uart_0_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [28:0] uart_0_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [3:0] uart_0_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [31:0] uart_0_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [2:0] uart_0_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [1:0] uart_0_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [5:0] uart_0_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire [31:0] uart_0_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  uart_0_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304692.4]
  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304698.4]
  wire  intsink_2_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304698.4]
  wire  asyncXing_1_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304704.4]
  wire  asyncXing_1_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304704.4]
  wire  asyncXing_1_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304704.4]
  wire  uart_1_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [2:0] uart_1_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [2:0] uart_1_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [1:0] uart_1_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [5:0] uart_1_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [28:0] uart_1_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [3:0] uart_1_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [31:0] uart_1_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [2:0] uart_1_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [1:0] uart_1_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [5:0] uart_1_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire [31:0] uart_1_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  uart_1_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304710.4]
  wire  intsink_3_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304716.4]
  wire  intsink_3_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304716.4]
  wire  asyncXing_2_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304722.4]
  wire  asyncXing_2_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304722.4]
  wire  asyncXing_2_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304722.4]
  wire  uart_2_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [2:0] uart_2_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [2:0] uart_2_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [1:0] uart_2_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [5:0] uart_2_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [28:0] uart_2_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [3:0] uart_2_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [31:0] uart_2_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [2:0] uart_2_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [1:0] uart_2_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [5:0] uart_2_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire [31:0] uart_2_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  uart_2_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304728.4]
  wire  intsink_4_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304734.4]
  wire  intsink_4_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304734.4]
  wire  asyncXing_3_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304740.4]
  wire  asyncXing_3_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304740.4]
  wire  asyncXing_3_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304740.4]
  wire  uart_3_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [2:0] uart_3_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [2:0] uart_3_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [1:0] uart_3_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [5:0] uart_3_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [28:0] uart_3_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [3:0] uart_3_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [31:0] uart_3_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [2:0] uart_3_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [1:0] uart_3_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [5:0] uart_3_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire [31:0] uart_3_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  uart_3_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304746.4]
  wire  intsink_5_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304752.4]
  wire  intsink_5_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304752.4]
  wire  asyncXing_4_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304758.4]
  wire  asyncXing_4_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304758.4]
  wire  asyncXing_4_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304758.4]
  wire  uart_4_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [2:0] uart_4_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [2:0] uart_4_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [1:0] uart_4_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [5:0] uart_4_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [28:0] uart_4_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [3:0] uart_4_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [31:0] uart_4_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [2:0] uart_4_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [1:0] uart_4_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [5:0] uart_4_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire [31:0] uart_4_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  uart_4_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304764.4]
  wire  intsink_6_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304770.4]
  wire  intsink_6_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304770.4]
  wire  asyncXing_5_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304776.4]
  wire  asyncXing_5_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304776.4]
  wire  asyncXing_5_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304776.4]
  wire  qspi_0_1_clock; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_reset; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_a_ready; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_a_valid; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [2:0] qspi_0_1_auto_mem_xing_in_a_bits_opcode; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [2:0] qspi_0_1_auto_mem_xing_in_a_bits_param; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_a_bits_size; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [7:0] qspi_0_1_auto_mem_xing_in_a_bits_source; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [29:0] qspi_0_1_auto_mem_xing_in_a_bits_address; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_a_bits_mask; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_a_bits_corrupt; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_d_ready; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_d_valid; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_mem_xing_in_d_bits_size; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [7:0] qspi_0_1_auto_mem_xing_in_d_bits_source; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [7:0] qspi_0_1_auto_mem_xing_in_d_bits_data; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [2:0] qspi_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [2:0] qspi_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [1:0] qspi_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [5:0] qspi_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [28:0] qspi_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [3:0] qspi_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [31:0] qspi_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [2:0] qspi_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [1:0] qspi_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [5:0] qspi_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire [31:0] qspi_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_sck; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_0_i; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_0_o; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_1_i; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_1_o; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_2_i; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_2_o; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_3_i; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_3_o; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  qspi_0_1_auto_io_out_cs_0; // @[SPI.scala 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.4]
  wire  intsink_7_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304788.4]
  wire  intsink_7_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304788.4]
  wire  asyncXing_6_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304794.4]
  wire  asyncXing_6_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304794.4]
  wire  asyncXing_6_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304794.4]
  wire  qspi_ram_0_1_clock; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_reset; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_a_ready; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_a_valid; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [2:0] qspi_ram_0_1_auto_mem_xing_in_a_bits_opcode; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [2:0] qspi_ram_0_1_auto_mem_xing_in_a_bits_param; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_a_bits_size; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [7:0] qspi_ram_0_1_auto_mem_xing_in_a_bits_source; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [30:0] qspi_ram_0_1_auto_mem_xing_in_a_bits_address; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_a_bits_mask; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [7:0] qspi_ram_0_1_auto_mem_xing_in_a_bits_data; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_a_bits_corrupt; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_d_ready; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_d_valid; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [2:0] qspi_ram_0_1_auto_mem_xing_in_d_bits_opcode; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_mem_xing_in_d_bits_size; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [7:0] qspi_ram_0_1_auto_mem_xing_in_d_bits_source; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [7:0] qspi_ram_0_1_auto_mem_xing_in_d_bits_data; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [2:0] qspi_ram_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [2:0] qspi_ram_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [1:0] qspi_ram_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [5:0] qspi_ram_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [28:0] qspi_ram_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [3:0] qspi_ram_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [31:0] qspi_ram_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [2:0] qspi_ram_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [1:0] qspi_ram_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [5:0] qspi_ram_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire [31:0] qspi_ram_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_sck; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_0_i; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_0_o; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_1_i; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_1_o; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_2_i; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_2_o; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_3_i; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_3_o; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  qspi_ram_0_1_auto_io_out_cs_0; // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
  wire  intsink_8_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304806.4]
  wire  intsink_8_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304806.4]
  wire  asyncXing_7_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304812.4]
  wire  asyncXing_7_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304812.4]
  wire  asyncXing_7_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304812.4]
  wire  spi_0_1_clock; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_reset; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [2:0] spi_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [2:0] spi_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [1:0] spi_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [5:0] spi_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [28:0] spi_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [3:0] spi_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [31:0] spi_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [2:0] spi_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [1:0] spi_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [5:0] spi_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire [31:0] spi_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_sck; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_0_i; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_0_o; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_1_i; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_1_o; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_2_i; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_2_o; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_3_i; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_3_o; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_cs_0; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  spi_0_1_auto_io_out_cs_1; // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.4]
  wire  intsink_9_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304824.4]
  wire  intsink_9_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304824.4]
  wire  asyncXing_8_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_1; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_2; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_3; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_4; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_5; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_6; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_7; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_8; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_9; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_10; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_11; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_12; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_13; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_14; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_15; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_16; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_17; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_18; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_19; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_20; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_21; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_22; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_23; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_24; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_25; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_26; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_27; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_28; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_29; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_30; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_in_31; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_1; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_2; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_3; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_4; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_5; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_6; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_7; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_8; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_9; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_10; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_11; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_12; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_13; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_14; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_15; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_16; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_17; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_18; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_19; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_20; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_21; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_22; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_23; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_24; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_25; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_26; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_27; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_28; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_29; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_30; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  asyncXing_8_auto_int_out_31; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304830.4]
  wire  gpio_0_1_clock; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_reset; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_0; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_1; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_2; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_3; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_4; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_5; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_6; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_7; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_8; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_9; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_10; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_11; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_12; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_13; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_14; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_15; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_16; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_17; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_18; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_19; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_20; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_21; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_22; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_23; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_24; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_25; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_26; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_27; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_28; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_29; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_30; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_int_xing_out_sync_31; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_control_xing_in_a_ready; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_control_xing_in_a_valid; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [2:0] gpio_0_1_auto_control_xing_in_a_bits_opcode; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [2:0] gpio_0_1_auto_control_xing_in_a_bits_param; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [1:0] gpio_0_1_auto_control_xing_in_a_bits_size; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [5:0] gpio_0_1_auto_control_xing_in_a_bits_source; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [28:0] gpio_0_1_auto_control_xing_in_a_bits_address; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [3:0] gpio_0_1_auto_control_xing_in_a_bits_mask; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [31:0] gpio_0_1_auto_control_xing_in_a_bits_data; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_control_xing_in_a_bits_corrupt; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_control_xing_in_d_ready; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_control_xing_in_d_valid; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [2:0] gpio_0_1_auto_control_xing_in_d_bits_opcode; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [1:0] gpio_0_1_auto_control_xing_in_d_bits_size; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [5:0] gpio_0_1_auto_control_xing_in_d_bits_source; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire [31:0] gpio_0_1_auto_control_xing_in_d_bits_data; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_0_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_0_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_0_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_0_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_1_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_1_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_1_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_1_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_2_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_2_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_2_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_2_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_3_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_3_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_3_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_3_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_4_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_4_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_4_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_4_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_5_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_5_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_5_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_5_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_6_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_6_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_6_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_7_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_7_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_7_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_8_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_8_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_8_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_9_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_9_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_9_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_10_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_10_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_10_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_11_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_11_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_11_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_12_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_12_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_12_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_12_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_13_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_13_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_13_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_13_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_14_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_14_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_14_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_14_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_15_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_15_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_15_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_15_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_16_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_16_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_16_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_16_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_17_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_17_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_17_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_17_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_18_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_18_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_18_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_18_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_19_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_19_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_19_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_19_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_20_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_20_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_20_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_20_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_21_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_21_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_21_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_21_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_22_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_22_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_22_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_22_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_23_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_23_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_23_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_23_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_24_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_24_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_24_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_24_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_25_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_25_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_25_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_26_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_26_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_26_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_27_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_27_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_27_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_28_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_28_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_28_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_29_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_29_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_29_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_30_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_30_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_30_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_31_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_31_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_pins_31_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_0_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_1_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_12_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_12_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_13_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_13_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_14_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_14_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_15_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_15_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_16_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_17_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_18_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_19_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_20_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_21_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_22_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_23_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  gpio_0_1_auto_io_out_iof_0_24_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304836.4]
  wire  intsink_10_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_2; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_3; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_4; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_5; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_6; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_7; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_8; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_9; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_10; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_11; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_12; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_13; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_14; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_15; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_16; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_17; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_18; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_19; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_20; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_21; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_22; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_23; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_24; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_25; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_26; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_27; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_28; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_29; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_30; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_in_sync_31; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_2; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_3; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_4; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_5; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_6; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_7; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_8; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_9; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_10; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_11; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_12; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_13; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_14; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_15; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_16; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_17; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_18; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_19; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_20; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_21; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_22; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_23; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_24; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_25; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_26; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_27; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_28; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_29; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_30; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  intsink_10_auto_out_31; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304842.4]
  wire  asyncXing_9_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304848.4]
  wire  asyncXing_9_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304848.4]
  wire  asyncXing_9_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304848.4]
  wire  i2c_0_1_clock; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_reset; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_int_xing_out_sync_0; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_control_xing_in_a_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_control_xing_in_a_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [2:0] i2c_0_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [2:0] i2c_0_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [1:0] i2c_0_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [5:0] i2c_0_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [28:0] i2c_0_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [3:0] i2c_0_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [31:0] i2c_0_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_control_xing_in_d_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_control_xing_in_d_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [2:0] i2c_0_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [1:0] i2c_0_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [5:0] i2c_0_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire [31:0] i2c_0_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_io_out_scl_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_io_out_scl_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_io_out_sda_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  i2c_0_1_auto_io_out_sda_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304854.4]
  wire  intsink_11_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304860.4]
  wire  intsink_11_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304860.4]
  wire  asyncXing_10_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304866.4]
  wire  asyncXing_10_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304866.4]
  wire  asyncXing_10_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304866.4]
  wire  i2c_1_1_clock; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_reset; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_int_xing_out_sync_0; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_control_xing_in_a_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_control_xing_in_a_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [2:0] i2c_1_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [2:0] i2c_1_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [1:0] i2c_1_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [5:0] i2c_1_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [28:0] i2c_1_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [3:0] i2c_1_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [31:0] i2c_1_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_control_xing_in_d_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_control_xing_in_d_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [2:0] i2c_1_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [1:0] i2c_1_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [5:0] i2c_1_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire [31:0] i2c_1_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_io_out_scl_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_io_out_scl_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_io_out_sda_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  i2c_1_1_auto_io_out_sda_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304872.4]
  wire  intsink_12_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304878.4]
  wire  intsink_12_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304878.4]
  wire  dtm_clock; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_reset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_dmi_req_ready; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_dmi_req_valid; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire [6:0] dtm_io_dmi_req_bits_addr; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire [31:0] dtm_io_dmi_req_bits_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire [1:0] dtm_io_dmi_req_bits_op; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_dmi_resp_ready; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_dmi_resp_valid; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire [31:0] dtm_io_dmi_resp_bits_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire [1:0] dtm_io_dmi_resp_bits_resp; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_jtag_TMS; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_jtag_TDI; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_jtag_TDO_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_jtag_TDO_driven; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_jtag_reset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dtm_io_fsmReset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305088.4]
  wire  dmiResetCatch_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@305111.4]
  wire  dmiResetCatch_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@305111.4]
  wire  dmiResetCatch_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@305111.4]
  wire  rtc_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305139.4]
  wire  rtc_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305139.4]
  wire  rtc_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305139.4]
  wire  _T_2162; // @[Periphery.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@305106.4]
  reg  rtc_last; // @[MockAONPeriphery.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305147.4]
  reg [31:0] _RAND_0;
  wire  _T_3451; // @[MockAONPeriphery.scala 46:60:shc.marmotcaravel.MarmotCaravelConfig.fir@305149.4]
  wire  rtc_sync; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305144.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305146.4]
  wire  _T_3452; // @[MockAONPeriphery.scala 46:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305150.4]
  reg  rtc_tick; // @[MockAONPeriphery.scala 46:21:shc.marmotcaravel.MarmotCaravelConfig.fir@305151.4]
  reg [31:0] _RAND_1;
  wire [31:0] global_reset_vector; // @[ResetVector.scala 10:33:shc.marmotcaravel.MarmotCaravelConfig.fir@305080.4 System.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305157.4]
  wire  tile_inputs_0_hartid; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@305122.4]
  wire [31:0] tile_inputs_0_reset_vector; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 75:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305123.4]
  wire  tile_inputs_0_clock; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 72:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305120.4]
  wire  tile_inputs_0_reset; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305121.4]
  IntXbar int_bus ( // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@304574.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@304580.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@304586.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_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_ram_0_mem_xing_out_a_ready(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_ready),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_valid(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_valid),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_opcode(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_opcode),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_param(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_param),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_size(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_size),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_source(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_source),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_address(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_address),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_mask(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_mask),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_data(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_data),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_corrupt(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_corrupt),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_ready(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_ready),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_valid(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_valid),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_opcode(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_opcode),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_size(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_size),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_source(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_source),
    .auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_data(pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_data),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_qspi_ram_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@304616.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@304622.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@304629.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@304642.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@304649.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@304655.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@304667.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@304673.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@304680.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@304686.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@304692.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@304698.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@304704.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@304710.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@304716.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@304722.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@304728.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@304734.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@304740.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@304746.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@304752.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@304758.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@304764.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@304770.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@304776.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 80:26:shc.marmotcaravel.MarmotCaravelConfig.fir@304782.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@304788.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@304794.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)
  );
  TLSPIRAM qspi_ram_0_1 ( // @[SPI.scala 115:30:shc.marmotcaravel.MarmotCaravelConfig.fir@304800.4]
    .clock(qspi_ram_0_1_clock),
    .reset(qspi_ram_0_1_reset),
    .auto_int_xing_out_sync_0(qspi_ram_0_1_auto_int_xing_out_sync_0),
    .auto_mem_xing_in_a_ready(qspi_ram_0_1_auto_mem_xing_in_a_ready),
    .auto_mem_xing_in_a_valid(qspi_ram_0_1_auto_mem_xing_in_a_valid),
    .auto_mem_xing_in_a_bits_opcode(qspi_ram_0_1_auto_mem_xing_in_a_bits_opcode),
    .auto_mem_xing_in_a_bits_param(qspi_ram_0_1_auto_mem_xing_in_a_bits_param),
    .auto_mem_xing_in_a_bits_size(qspi_ram_0_1_auto_mem_xing_in_a_bits_size),
    .auto_mem_xing_in_a_bits_source(qspi_ram_0_1_auto_mem_xing_in_a_bits_source),
    .auto_mem_xing_in_a_bits_address(qspi_ram_0_1_auto_mem_xing_in_a_bits_address),
    .auto_mem_xing_in_a_bits_mask(qspi_ram_0_1_auto_mem_xing_in_a_bits_mask),
    .auto_mem_xing_in_a_bits_data(qspi_ram_0_1_auto_mem_xing_in_a_bits_data),
    .auto_mem_xing_in_a_bits_corrupt(qspi_ram_0_1_auto_mem_xing_in_a_bits_corrupt),
    .auto_mem_xing_in_d_ready(qspi_ram_0_1_auto_mem_xing_in_d_ready),
    .auto_mem_xing_in_d_valid(qspi_ram_0_1_auto_mem_xing_in_d_valid),
    .auto_mem_xing_in_d_bits_opcode(qspi_ram_0_1_auto_mem_xing_in_d_bits_opcode),
    .auto_mem_xing_in_d_bits_size(qspi_ram_0_1_auto_mem_xing_in_d_bits_size),
    .auto_mem_xing_in_d_bits_source(qspi_ram_0_1_auto_mem_xing_in_d_bits_source),
    .auto_mem_xing_in_d_bits_data(qspi_ram_0_1_auto_mem_xing_in_d_bits_data),
    .auto_control_xing_in_a_ready(qspi_ram_0_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(qspi_ram_0_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(qspi_ram_0_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(qspi_ram_0_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(qspi_ram_0_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(qspi_ram_0_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(qspi_ram_0_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(qspi_ram_0_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(qspi_ram_0_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(qspi_ram_0_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(qspi_ram_0_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(qspi_ram_0_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(qspi_ram_0_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(qspi_ram_0_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(qspi_ram_0_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(qspi_ram_0_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_sck(qspi_ram_0_1_auto_io_out_sck),
    .auto_io_out_dq_0_i(qspi_ram_0_1_auto_io_out_dq_0_i),
    .auto_io_out_dq_0_o(qspi_ram_0_1_auto_io_out_dq_0_o),
    .auto_io_out_dq_0_oe(qspi_ram_0_1_auto_io_out_dq_0_oe),
    .auto_io_out_dq_1_i(qspi_ram_0_1_auto_io_out_dq_1_i),
    .auto_io_out_dq_1_o(qspi_ram_0_1_auto_io_out_dq_1_o),
    .auto_io_out_dq_1_oe(qspi_ram_0_1_auto_io_out_dq_1_oe),
    .auto_io_out_dq_2_i(qspi_ram_0_1_auto_io_out_dq_2_i),
    .auto_io_out_dq_2_o(qspi_ram_0_1_auto_io_out_dq_2_o),
    .auto_io_out_dq_2_oe(qspi_ram_0_1_auto_io_out_dq_2_oe),
    .auto_io_out_dq_3_i(qspi_ram_0_1_auto_io_out_dq_3_i),
    .auto_io_out_dq_3_o(qspi_ram_0_1_auto_io_out_dq_3_o),
    .auto_io_out_dq_3_oe(qspi_ram_0_1_auto_io_out_dq_3_oe),
    .auto_io_out_cs_0(qspi_ram_0_1_auto_io_out_cs_0)
  );
  IntSyncCrossingSink_2 intsink_8 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304806.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@304812.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 spi_0_1 ( // @[SPI.scala 53:25:shc.marmotcaravel.MarmotCaravelConfig.fir@304818.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_9 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@304824.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@304830.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@304836.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_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_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_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_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_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_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_pins_25_i_ival(gpio_0_1_auto_io_out_pins_25_i_ival),
    .auto_io_out_pins_25_o_oval(gpio_0_1_auto_io_out_pins_25_o_oval),
    .auto_io_out_pins_25_o_oe(gpio_0_1_auto_io_out_pins_25_o_oe),
    .auto_io_out_pins_26_i_ival(gpio_0_1_auto_io_out_pins_26_i_ival),
    .auto_io_out_pins_26_o_oval(gpio_0_1_auto_io_out_pins_26_o_oval),
    .auto_io_out_pins_26_o_oe(gpio_0_1_auto_io_out_pins_26_o_oe),
    .auto_io_out_pins_27_i_ival(gpio_0_1_auto_io_out_pins_27_i_ival),
    .auto_io_out_pins_27_o_oval(gpio_0_1_auto_io_out_pins_27_o_oval),
    .auto_io_out_pins_27_o_oe(gpio_0_1_auto_io_out_pins_27_o_oe),
    .auto_io_out_pins_28_i_ival(gpio_0_1_auto_io_out_pins_28_i_ival),
    .auto_io_out_pins_28_o_oval(gpio_0_1_auto_io_out_pins_28_o_oval),
    .auto_io_out_pins_28_o_oe(gpio_0_1_auto_io_out_pins_28_o_oe),
    .auto_io_out_pins_29_i_ival(gpio_0_1_auto_io_out_pins_29_i_ival),
    .auto_io_out_pins_29_o_oval(gpio_0_1_auto_io_out_pins_29_o_oval),
    .auto_io_out_pins_29_o_oe(gpio_0_1_auto_io_out_pins_29_o_oe),
    .auto_io_out_pins_30_i_ival(gpio_0_1_auto_io_out_pins_30_i_ival),
    .auto_io_out_pins_30_o_oval(gpio_0_1_auto_io_out_pins_30_o_oval),
    .auto_io_out_pins_30_o_oe(gpio_0_1_auto_io_out_pins_30_o_oe),
    .auto_io_out_pins_31_i_ival(gpio_0_1_auto_io_out_pins_31_i_ival),
    .auto_io_out_pins_31_o_oval(gpio_0_1_auto_io_out_pins_31_o_oval),
    .auto_io_out_pins_31_o_oe(gpio_0_1_auto_io_out_pins_31_o_oe),
    .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_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@304842.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@304848.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@304854.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@304860.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@304866.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@304872.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@304878.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@305088.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@305111.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@305139.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@305106.4]
  assign _T_3451 = ~ rtc_last; // @[MockAONPeriphery.scala 46:60:shc.marmotcaravel.MarmotCaravelConfig.fir@305149.4]
  assign rtc_sync = rtc_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305144.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305146.4]
  assign _T_3452 = rtc_sync & _T_3451; // @[MockAONPeriphery.scala 46:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305150.4]
  assign global_reset_vector = 32'h10000; // @[ResetVector.scala 10:33:shc.marmotcaravel.MarmotCaravelConfig.fir@305080.4 System.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305157.4]
  assign tile_inputs_0_hartid = 1'h0; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@305122.4]
  assign tile_inputs_0_reset_vector = 32'h10000; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 75:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305123.4]
  assign tile_inputs_0_clock = clock; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 72:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305120.4]
  assign tile_inputs_0_reset = reset; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305082.4 RocketSubsystem.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305121.4]
  assign debug_systemjtag_jtag_TDO_data = dtm_io_jtag_TDO_data; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@305092.4]
  assign debug_systemjtag_jtag_TDO_driven = dtm_io_jtag_TDO_driven; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@305092.4]
  assign uart_0_txd = uart_0_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305124.4]
  assign uart_1_txd = uart_1_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305125.4]
  assign uart_2_txd = uart_2_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305126.4]
  assign uart_3_txd = uart_3_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305127.4]
  assign uart_4_txd = uart_4_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305128.4]
  assign spi_0_sck = spi_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_0_o = spi_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_0_oe = spi_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_1_o = spi_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_1_oe = spi_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_2_o = spi_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_2_oe = spi_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_3_o = spi_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_dq_3_oe = spi_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_cs_0 = spi_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.4]
  assign spi_0_cs_1 = spi_0_1_auto_io_out_cs_1; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305129.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.4]
  assign gpio_0_pins_25_o_oval = gpio_0_1_auto_io_out_pins_25_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_25_o_oe = gpio_0_1_auto_io_out_pins_25_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_26_o_oval = gpio_0_1_auto_io_out_pins_26_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_26_o_oe = gpio_0_1_auto_io_out_pins_26_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_27_o_oval = gpio_0_1_auto_io_out_pins_27_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_27_o_oe = gpio_0_1_auto_io_out_pins_27_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_28_o_oval = gpio_0_1_auto_io_out_pins_28_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_28_o_oe = gpio_0_1_auto_io_out_pins_28_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_29_o_oval = gpio_0_1_auto_io_out_pins_29_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_29_o_oe = gpio_0_1_auto_io_out_pins_29_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_30_o_oval = gpio_0_1_auto_io_out_pins_30_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_30_o_oe = gpio_0_1_auto_io_out_pins_30_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_31_o_oval = gpio_0_1_auto_io_out_pins_31_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.4]
  assign gpio_0_pins_31_o_oe = gpio_0_1_auto_io_out_pins_31_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.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@305130.4]
  assign qspi_0_sck = qspi_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_0_o = qspi_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_0_oe = qspi_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_1_o = qspi_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_1_oe = qspi_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_2_o = qspi_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_2_oe = qspi_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_3_o = qspi_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_dq_3_oe = qspi_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_0_cs_0 = qspi_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305131.4]
  assign qspi_ram_0_sck = qspi_ram_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_0_o = qspi_ram_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_0_oe = qspi_ram_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_1_o = qspi_ram_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_1_oe = qspi_ram_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_2_o = qspi_ram_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_2_oe = qspi_ram_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_3_o = qspi_ram_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_dq_3_oe = qspi_ram_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign qspi_ram_0_cs_0 = qspi_ram_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305132.4]
  assign aon_rsts_corerst = aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@305133.4]
  assign i2c_0_scl_oe = i2c_0_1_auto_io_out_scl_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305155.4]
  assign i2c_0_sda_oe = i2c_0_1_auto_io_out_sda_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305155.4]
  assign i2c_1_scl_oe = i2c_1_1_auto_io_out_scl_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305156.4]
  assign i2c_1_sda_oe = i2c_1_1_auto_io_out_sda_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305156.4]
  assign int_bus_auto_int_in_11_0 = asyncXing_10_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305052.4]
  assign int_bus_auto_int_in_10_0 = asyncXing_9_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305046.4]
  assign int_bus_auto_int_in_9_0 = asyncXing_8_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_1 = asyncXing_8_auto_int_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_2 = asyncXing_8_auto_int_out_2; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_3 = asyncXing_8_auto_int_out_3; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_4 = asyncXing_8_auto_int_out_4; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_5 = asyncXing_8_auto_int_out_5; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_6 = asyncXing_8_auto_int_out_6; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_7 = asyncXing_8_auto_int_out_7; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_8 = asyncXing_8_auto_int_out_8; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_9 = asyncXing_8_auto_int_out_9; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_10 = asyncXing_8_auto_int_out_10; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_11 = asyncXing_8_auto_int_out_11; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_12 = asyncXing_8_auto_int_out_12; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_13 = asyncXing_8_auto_int_out_13; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_14 = asyncXing_8_auto_int_out_14; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_15 = asyncXing_8_auto_int_out_15; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_16 = asyncXing_8_auto_int_out_16; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_17 = asyncXing_8_auto_int_out_17; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_18 = asyncXing_8_auto_int_out_18; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_19 = asyncXing_8_auto_int_out_19; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_20 = asyncXing_8_auto_int_out_20; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_21 = asyncXing_8_auto_int_out_21; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_22 = asyncXing_8_auto_int_out_22; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_23 = asyncXing_8_auto_int_out_23; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_24 = asyncXing_8_auto_int_out_24; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_25 = asyncXing_8_auto_int_out_25; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_26 = asyncXing_8_auto_int_out_26; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_27 = asyncXing_8_auto_int_out_27; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_28 = asyncXing_8_auto_int_out_28; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_29 = asyncXing_8_auto_int_out_29; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_30 = asyncXing_8_auto_int_out_30; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_9_31 = asyncXing_8_auto_int_out_31; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305040.4]
  assign int_bus_auto_int_in_8_0 = asyncXing_7_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305034.4]
  assign int_bus_auto_int_in_7_0 = asyncXing_6_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305027.4]
  assign int_bus_auto_int_in_6_0 = asyncXing_5_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305020.4]
  assign int_bus_auto_int_in_5_0 = asyncXing_4_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305014.4]
  assign int_bus_auto_int_in_4_0 = asyncXing_3_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305008.4]
  assign int_bus_auto_int_in_3_0 = asyncXing_2_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305002.4]
  assign int_bus_auto_int_in_2_0 = asyncXing_1_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304996.4]
  assign int_bus_auto_int_in_1_0 = asyncXing_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304990.4]
  assign int_bus_auto_int_in_0_0 = intsink_1_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304989.4]
  assign int_bus_auto_int_in_0_1 = intsink_1_auto_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304989.4]
  assign sbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304584.4]
  assign sbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304585.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304986.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@304986.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@304986.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@304986.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@304986.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304978.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@304978.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@304978.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@304978.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@304978.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@304978.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@304976.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@304976.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@304976.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@304976.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@304976.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@304976.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@304974.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@304974.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@304974.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@304974.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@304974.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@304974.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.4]
  assign pbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304590.4]
  assign pbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304591.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@305054.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@305054.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@305054.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@305054.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@305054.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@305054.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@305048.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@305048.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@305048.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@305048.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@305048.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@305048.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@305042.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@305042.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@305042.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@305042.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@305042.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@305042.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@305036.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@305036.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@305036.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@305036.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@305036.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@305036.4]
  assign pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_ready = qspi_ram_0_1_auto_mem_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_valid = qspi_ram_0_1_auto_mem_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_opcode = qspi_ram_0_1_auto_mem_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_size = qspi_ram_0_1_auto_mem_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_source = qspi_ram_0_1_auto_mem_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_bits_data = qspi_ram_0_1_auto_mem_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready = qspi_ram_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid = qspi_ram_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode = qspi_ram_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size = qspi_ram_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source = qspi_ram_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data = qspi_ram_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.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@305023.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@305023.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@305023.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@305023.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@305023.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@305022.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@305022.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@305022.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@305022.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@305022.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@305022.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@305016.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@305016.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@305016.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@305016.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@305016.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@305016.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@305010.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@305010.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@305010.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@305010.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@305010.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@305010.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@305004.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@305004.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@305004.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@305004.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@305004.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@305004.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@304998.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@304998.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@304998.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@304998.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@304998.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@304998.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@304992.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@304992.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@304992.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@304992.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@304992.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@304992.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.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@304972.4]
  assign plic_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304620.4]
  assign plic_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304621.4]
  assign plic_auto_int_in_0 = int_bus_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_1 = int_bus_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_2 = int_bus_auto_int_out_2; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_3 = int_bus_auto_int_out_3; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_4 = int_bus_auto_int_out_4; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_5 = int_bus_auto_int_out_5; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_6 = int_bus_auto_int_out_6; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_7 = int_bus_auto_int_out_7; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_8 = int_bus_auto_int_out_8; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_9 = int_bus_auto_int_out_9; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_10 = int_bus_auto_int_out_10; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_11 = int_bus_auto_int_out_11; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_12 = int_bus_auto_int_out_12; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_13 = int_bus_auto_int_out_13; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_14 = int_bus_auto_int_out_14; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_15 = int_bus_auto_int_out_15; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_16 = int_bus_auto_int_out_16; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_17 = int_bus_auto_int_out_17; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_18 = int_bus_auto_int_out_18; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_19 = int_bus_auto_int_out_19; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_20 = int_bus_auto_int_out_20; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_21 = int_bus_auto_int_out_21; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_22 = int_bus_auto_int_out_22; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_23 = int_bus_auto_int_out_23; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_24 = int_bus_auto_int_out_24; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_25 = int_bus_auto_int_out_25; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_26 = int_bus_auto_int_out_26; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_27 = int_bus_auto_int_out_27; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_28 = int_bus_auto_int_out_28; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_29 = int_bus_auto_int_out_29; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_30 = int_bus_auto_int_out_30; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_31 = int_bus_auto_int_out_31; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_32 = int_bus_auto_int_out_32; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_33 = int_bus_auto_int_out_33; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_34 = int_bus_auto_int_out_34; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_35 = int_bus_auto_int_out_35; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_36 = int_bus_auto_int_out_36; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_37 = int_bus_auto_int_out_37; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_38 = int_bus_auto_int_out_38; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_39 = int_bus_auto_int_out_39; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_40 = int_bus_auto_int_out_40; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_41 = int_bus_auto_int_out_41; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_42 = int_bus_auto_int_out_42; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.4]
  assign plic_auto_int_in_43 = int_bus_auto_int_out_43; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304971.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@304974.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@304974.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@304974.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@304974.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@304974.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@304974.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@304974.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@304974.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@304974.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@304974.4]
  assign clint_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304627.4]
  assign clint_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304628.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@304976.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@304976.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@304976.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@304976.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@304976.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@304976.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@304976.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@304976.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@304976.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@304976.4]
  assign clint_io_rtcTick = rtc_tick; // @[MockAONPeriphery.scala 49:29:shc.marmotcaravel.MarmotCaravelConfig.fir@305153.4]
  assign debug_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304634.4]
  assign debug_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304635.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@304978.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@304978.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@304978.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@304978.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@304978.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@304978.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@304978.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@304978.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@304978.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@304978.4]
  assign debug_1_io_dmi_dmi_req_valid = dtm_io_dmi_req_valid; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign debug_1_io_dmi_dmi_req_bits_addr = dtm_io_dmi_req_bits_addr; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign debug_1_io_dmi_dmi_req_bits_data = dtm_io_dmi_req_bits_data; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign debug_1_io_dmi_dmi_req_bits_op = dtm_io_dmi_req_bits_op; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign debug_1_io_dmi_dmi_resp_ready = dtm_io_dmi_resp_ready; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign debug_1_io_dmi_dmiClock = debug_systemjtag_jtag_TCK; // @[Periphery.scala 60:40:shc.marmotcaravel.MarmotCaravelConfig.fir@305098.4]
  assign debug_1_io_dmi_dmiReset = dmiResetCatch_io_sync_reset; // @[Periphery.scala 64:40:shc.marmotcaravel.MarmotCaravelConfig.fir@305116.4]
  assign tile_clock = tile_inputs_0_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304647.4 HasTiles.scala 143:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305084.4]
  assign tile_reset = tile_inputs_0_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304648.4 HasTiles.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305085.4]
  assign tile_auto_intsink_in_sync_0 = debug_1_auto_dmOuter_intsource_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304977.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@304984.4]
  assign tile_auto_int_in_xing_in_0_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304982.4]
  assign tile_auto_int_in_xing_in_0_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304982.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304981.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.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@304980.4]
  assign tile_constants_hartid = _T_2162; // @[HasTiles.scala 145:27:shc.marmotcaravel.MarmotCaravelConfig.fir@305086.4]
  assign tile_constants_reset_vector = global_reset_vector; // @[HasTiles.scala 146:33:shc.marmotcaravel.MarmotCaravelConfig.fir@305087.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304653.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304654.4]
  assign intsource_auto_in_0 = clint_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304975.4]
  assign intsource_auto_in_1 = clint_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304975.4]
  assign intsource_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304659.4]
  assign intsource_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304660.4]
  assign intsource_1_auto_in_0 = plic_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304973.4]
  assign maskROM_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304671.4]
  assign maskROM_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304672.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@304986.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@304986.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@304986.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@304986.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@304986.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@304986.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@304986.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@304986.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@304986.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.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@304988.4]
  assign aon_1_io_pins_erst_n_i_ival = aon_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@305133.4]
  assign aon_1_io_pins_lfextclk_i_ival = aon_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@305133.4]
  assign aon_1_io_ndreset = debug_1_io_ctrl_ndreset; // @[MockAONPeriphery.scala 52:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305154.4]
  assign intsink_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304684.4]
  assign intsink_1_auto_in_sync_0 = aon_1_auto_intsource_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304987.4]
  assign intsink_1_auto_in_sync_1 = aon_1_auto_intsource_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@304987.4]
  assign asyncXing_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304690.4]
  assign asyncXing_auto_int_in_0 = intsink_2_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304993.4]
  assign uart_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304696.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305058.4]
  assign uart_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304697.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305059.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@304992.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@304992.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@304992.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@304992.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@304992.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@304992.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@304992.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@304992.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@304992.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@304992.4]
  assign uart_0_1_auto_io_out_rxd = uart_0_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304991.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@304994.4]
  assign asyncXing_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304708.4]
  assign asyncXing_1_auto_int_in_0 = intsink_3_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304999.4]
  assign uart_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304714.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305060.4]
  assign uart_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304715.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305061.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@304998.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@304998.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@304998.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@304998.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@304998.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@304998.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@304998.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@304998.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@304998.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@304998.4]
  assign uart_1_1_auto_io_out_rxd = uart_1_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@304997.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@305000.4]
  assign asyncXing_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304726.4]
  assign asyncXing_2_auto_int_in_0 = intsink_4_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305005.4]
  assign uart_2_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304732.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305062.4]
  assign uart_2_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304733.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305063.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@305004.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@305004.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@305004.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@305004.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@305004.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@305004.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@305004.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@305004.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@305004.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@305004.4]
  assign uart_2_1_auto_io_out_rxd = uart_2_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305003.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@305006.4]
  assign asyncXing_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304744.4]
  assign asyncXing_3_auto_int_in_0 = intsink_5_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305011.4]
  assign uart_3_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304750.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305064.4]
  assign uart_3_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304751.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305065.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@305010.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@305010.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@305010.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@305010.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@305010.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@305010.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@305010.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@305010.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@305010.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@305010.4]
  assign uart_3_1_auto_io_out_rxd = uart_3_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305009.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@305012.4]
  assign asyncXing_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304762.4]
  assign asyncXing_4_auto_int_in_0 = intsink_6_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305017.4]
  assign uart_4_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304768.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305066.4]
  assign uart_4_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304769.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305067.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@305016.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@305016.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@305016.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@305016.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@305016.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@305016.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@305016.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@305016.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@305016.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@305016.4]
  assign uart_4_1_auto_io_out_rxd = uart_4_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305015.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@305018.4]
  assign asyncXing_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304780.4]
  assign asyncXing_5_auto_int_in_0 = intsink_7_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305024.4]
  assign qspi_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304786.4 SPI.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305068.4]
  assign qspi_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304787.4 SPI.scala 98:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305069.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@305023.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@305023.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@305023.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@305023.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@305023.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@305023.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@305023.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@305023.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@305023.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@305022.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@305022.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@305022.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@305022.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@305022.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@305022.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@305022.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@305022.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@305022.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@305022.4]
  assign qspi_0_1_auto_io_out_dq_0_i = qspi_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305021.4]
  assign qspi_0_1_auto_io_out_dq_1_i = qspi_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305021.4]
  assign qspi_0_1_auto_io_out_dq_2_i = qspi_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305021.4]
  assign qspi_0_1_auto_io_out_dq_3_i = qspi_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305021.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@305025.4]
  assign asyncXing_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304798.4]
  assign asyncXing_6_auto_int_in_0 = intsink_8_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305031.4]
  assign qspi_ram_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304804.4 SPI.scala 132:42:shc.marmotcaravel.MarmotCaravelConfig.fir@305070.4]
  assign qspi_ram_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304805.4 SPI.scala 133:42:shc.marmotcaravel.MarmotCaravelConfig.fir@305071.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_valid = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_opcode = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_param = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_size = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_source = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_address = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_mask = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_data = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_a_bits_corrupt = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_mem_xing_in_d_ready = pbus_auto_coupler_to_mem_named_qspi_ram_0_mem_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305030.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305029.4]
  assign qspi_ram_0_1_auto_io_out_dq_0_i = qspi_ram_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305028.4]
  assign qspi_ram_0_1_auto_io_out_dq_1_i = qspi_ram_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305028.4]
  assign qspi_ram_0_1_auto_io_out_dq_2_i = qspi_ram_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305028.4]
  assign qspi_ram_0_1_auto_io_out_dq_3_i = qspi_ram_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305028.4]
  assign intsink_8_auto_in_sync_0 = qspi_ram_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305032.4]
  assign asyncXing_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304816.4]
  assign asyncXing_7_auto_int_in_0 = intsink_9_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305037.4]
  assign spi_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304822.4 SPI.scala 62:37:shc.marmotcaravel.MarmotCaravelConfig.fir@305072.4]
  assign spi_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304823.4 SPI.scala 63:37:shc.marmotcaravel.MarmotCaravelConfig.fir@305073.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@305036.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@305036.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@305036.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@305036.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@305036.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@305036.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@305036.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@305036.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@305036.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@305036.4]
  assign spi_0_1_auto_io_out_dq_0_i = spi_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305035.4]
  assign spi_0_1_auto_io_out_dq_1_i = spi_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305035.4]
  assign spi_0_1_auto_io_out_dq_2_i = spi_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305035.4]
  assign spi_0_1_auto_io_out_dq_3_i = spi_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305035.4]
  assign intsink_9_auto_in_sync_0 = spi_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@305038.4]
  assign asyncXing_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304834.4]
  assign asyncXing_8_auto_int_in_0 = intsink_10_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_1 = intsink_10_auto_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_2 = intsink_10_auto_out_2; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_3 = intsink_10_auto_out_3; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_4 = intsink_10_auto_out_4; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_5 = intsink_10_auto_out_5; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_6 = intsink_10_auto_out_6; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_7 = intsink_10_auto_out_7; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_8 = intsink_10_auto_out_8; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_9 = intsink_10_auto_out_9; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_10 = intsink_10_auto_out_10; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_11 = intsink_10_auto_out_11; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_12 = intsink_10_auto_out_12; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_13 = intsink_10_auto_out_13; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_14 = intsink_10_auto_out_14; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_15 = intsink_10_auto_out_15; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_16 = intsink_10_auto_out_16; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_17 = intsink_10_auto_out_17; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_18 = intsink_10_auto_out_18; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_19 = intsink_10_auto_out_19; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_20 = intsink_10_auto_out_20; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_21 = intsink_10_auto_out_21; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_22 = intsink_10_auto_out_22; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_23 = intsink_10_auto_out_23; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_24 = intsink_10_auto_out_24; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_25 = intsink_10_auto_out_25; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_26 = intsink_10_auto_out_26; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_27 = intsink_10_auto_out_27; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_28 = intsink_10_auto_out_28; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_29 = intsink_10_auto_out_29; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_30 = intsink_10_auto_out_30; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign asyncXing_8_auto_int_in_31 = intsink_10_auto_out_31; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305043.4]
  assign gpio_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304840.4 GPIO.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305074.4]
  assign gpio_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304841.4 GPIO.scala 232:38:shc.marmotcaravel.MarmotCaravelConfig.fir@305075.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@305042.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@305042.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@305042.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@305042.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@305042.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@305042.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@305042.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@305042.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@305042.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@305042.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.4]
  assign gpio_0_1_auto_io_out_pins_25_i_ival = gpio_0_pins_25_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.4]
  assign gpio_0_1_auto_io_out_pins_26_i_ival = gpio_0_pins_26_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.4]
  assign gpio_0_1_auto_io_out_pins_27_i_ival = gpio_0_pins_27_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.4]
  assign gpio_0_1_auto_io_out_pins_28_i_ival = gpio_0_pins_28_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.4]
  assign gpio_0_1_auto_io_out_pins_29_i_ival = gpio_0_pins_29_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.4]
  assign gpio_0_1_auto_io_out_pins_30_i_ival = gpio_0_pins_30_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.4]
  assign gpio_0_1_auto_io_out_pins_31_i_ival = gpio_0_pins_31_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305041.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.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@305044.4]
  assign asyncXing_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304852.4]
  assign asyncXing_9_auto_int_in_0 = intsink_11_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305049.4]
  assign i2c_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304858.4 I2C.scala 602:37:shc.marmotcaravel.MarmotCaravelConfig.fir@305076.4]
  assign i2c_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304859.4 I2C.scala 603:37:shc.marmotcaravel.MarmotCaravelConfig.fir@305077.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@305048.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@305048.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@305048.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@305048.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@305048.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@305048.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@305048.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@305048.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@305048.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@305048.4]
  assign i2c_0_1_auto_io_out_scl_in = i2c_0_scl_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305047.4]
  assign i2c_0_1_auto_io_out_sda_in = i2c_0_sda_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305047.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@305050.4]
  assign asyncXing_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304870.4]
  assign asyncXing_10_auto_int_in_0 = intsink_12_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305055.4]
  assign i2c_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304876.4 I2C.scala 602:37:shc.marmotcaravel.MarmotCaravelConfig.fir@305078.4]
  assign i2c_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@304877.4 I2C.scala 603:37:shc.marmotcaravel.MarmotCaravelConfig.fir@305079.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@305054.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@305054.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@305054.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@305054.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@305054.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@305054.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@305054.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@305054.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@305054.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@305054.4]
  assign i2c_1_1_auto_io_out_scl_in = i2c_1_scl_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305053.4]
  assign i2c_1_1_auto_io_out_sda_in = i2c_1_sda_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@305053.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@305056.4]
  assign dtm_clock = debug_systemjtag_jtag_TCK; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305090.4 Periphery.scala 54:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305093.4]
  assign dtm_reset = dtm_io_fsmReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305091.4 Periphery.scala 57:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305096.4]
  assign dtm_io_dmi_req_ready = debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign dtm_io_dmi_resp_valid = debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign dtm_io_dmi_resp_bits_data = debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign dtm_io_dmi_resp_bits_resp = debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@305097.4]
  assign dtm_io_jtag_TMS = debug_systemjtag_jtag_TMS; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@305092.4]
  assign dtm_io_jtag_TDI = debug_systemjtag_jtag_TDI; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@305092.4]
  assign dtm_io_jtag_reset = debug_systemjtag_reset; // @[Periphery.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305094.4]
  assign dmiResetCatch_clock = debug_systemjtag_jtag_TCK; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305113.4]
  assign dmiResetCatch_reset = debug_systemjtag_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305114.4]
  assign rtc_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305141.4]
  assign rtc_io_d = $unsigned(aon_1_io_rtc); // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305143.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@305779.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305780.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305781.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305782.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305787.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305787.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305787.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305787.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305787.4]
  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305791.4]
  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305791.4]
  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305791.4]
  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305791.4]
  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305791.4]
  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305795.4]
  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305795.4]
  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305795.4]
  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305795.4]
  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305795.4]
  wire  sync_3_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305799.4]
  wire  sync_3_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305799.4]
  wire  sync_3_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305799.4]
  wire  sync_3_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305799.4]
  wire  sync_3_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305799.4]
  wire  sync_4_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305803.4]
  wire  sync_4_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305803.4]
  wire  sync_4_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305803.4]
  wire  sync_4_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305803.4]
  wire  sync_4_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305803.4]
  wire  sync_5_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305807.4]
  wire  sync_5_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305807.4]
  wire  sync_5_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305807.4]
  wire  sync_5_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305807.4]
  wire  sync_5_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305807.4]
  wire  sync_6_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305811.4]
  wire  sync_6_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305811.4]
  wire  sync_6_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305811.4]
  wire  sync_6_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305811.4]
  wire  sync_6_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305811.4]
  wire  sync_7_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305815.4]
  wire  sync_7_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305815.4]
  wire  sync_7_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305815.4]
  wire  sync_7_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305815.4]
  wire  sync_7_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305815.4]
  wire  sync_8_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305819.4]
  wire  sync_8_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305819.4]
  wire  sync_8_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305819.4]
  wire  sync_8_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305819.4]
  wire  sync_8_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305819.4]
  wire  sync_9_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305823.4]
  wire  sync_9_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305823.4]
  wire  sync_9_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305823.4]
  wire  sync_9_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305823.4]
  wire  sync_9_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305823.4]
  wire  sync_10_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305827.4]
  wire  sync_10_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305827.4]
  wire  sync_10_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305827.4]
  wire  sync_10_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305827.4]
  wire  sync_10_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305827.4]
  wire  sync_11_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305831.4]
  wire  sync_11_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305831.4]
  wire  sync_11_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305831.4]
  wire  sync_11_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305831.4]
  wire  sync_11_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305831.4]
  wire  sync_12_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305835.4]
  wire  sync_12_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305835.4]
  wire  sync_12_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305835.4]
  wire  sync_12_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305835.4]
  wire  sync_12_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305835.4]
  wire  sync_13_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305839.4]
  wire  sync_13_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305839.4]
  wire  sync_13_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305839.4]
  wire  sync_13_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305839.4]
  wire  sync_13_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305839.4]
  wire  sync_14_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305843.4]
  wire  sync_14_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305843.4]
  wire  sync_14_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305843.4]
  wire  sync_14_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305843.4]
  wire  sync_14_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305843.4]
  wire  sync_15_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305847.4]
  wire  sync_15_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305847.4]
  wire  sync_15_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305847.4]
  wire  sync_15_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305847.4]
  wire  sync_15_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305847.4]
  wire  sync_16_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305851.4]
  wire  sync_16_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305851.4]
  wire  sync_16_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305851.4]
  wire  sync_16_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305851.4]
  wire  sync_16_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305851.4]
  wire  sync_17_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305855.4]
  wire  sync_17_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305855.4]
  wire  sync_17_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305855.4]
  wire  sync_17_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305855.4]
  wire  sync_17_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305855.4]
  wire  sync_18_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305859.4]
  wire  sync_18_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305859.4]
  wire  sync_18_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305859.4]
  wire  sync_18_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305859.4]
  wire  sync_18_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305859.4]
  wire  sync_19_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305863.4]
  wire  sync_19_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305863.4]
  wire  sync_19_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305863.4]
  wire  sync_19_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305863.4]
  wire  sync_19_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305863.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@305787.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@305791.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@305795.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@305799.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@305803.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@305807.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@305811.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@305815.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@305819.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@305823.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@305827.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@305831.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@305835.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@305839.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@305843.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@305847.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@305851.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@305855.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@305859.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@305863.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@305907.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305789.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305790.4]
  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305869.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305870.4]
  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305793.4]
  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305794.4]
  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305871.4]
  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305872.4]
  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305797.4]
  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305798.4]
  assign sync_2_io_d = sync_3_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305873.4]
  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305874.4]
  assign sync_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305801.4]
  assign sync_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305802.4]
  assign sync_3_io_d = sync_4_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305875.4]
  assign sync_3_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305876.4]
  assign sync_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305805.4]
  assign sync_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305806.4]
  assign sync_4_io_d = sync_5_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305877.4]
  assign sync_4_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305878.4]
  assign sync_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305809.4]
  assign sync_5_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305810.4]
  assign sync_5_io_d = sync_6_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305879.4]
  assign sync_5_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305880.4]
  assign sync_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305813.4]
  assign sync_6_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305814.4]
  assign sync_6_io_d = sync_7_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305881.4]
  assign sync_6_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305882.4]
  assign sync_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305817.4]
  assign sync_7_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305818.4]
  assign sync_7_io_d = sync_8_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305883.4]
  assign sync_7_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305884.4]
  assign sync_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305821.4]
  assign sync_8_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305822.4]
  assign sync_8_io_d = sync_9_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305885.4]
  assign sync_8_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305886.4]
  assign sync_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305825.4]
  assign sync_9_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305826.4]
  assign sync_9_io_d = sync_10_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305887.4]
  assign sync_9_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305888.4]
  assign sync_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305829.4]
  assign sync_10_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305830.4]
  assign sync_10_io_d = sync_11_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305889.4]
  assign sync_10_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305890.4]
  assign sync_11_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305833.4]
  assign sync_11_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305834.4]
  assign sync_11_io_d = sync_12_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305891.4]
  assign sync_11_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305892.4]
  assign sync_12_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305837.4]
  assign sync_12_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305838.4]
  assign sync_12_io_d = sync_13_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305893.4]
  assign sync_12_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305894.4]
  assign sync_13_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305841.4]
  assign sync_13_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305842.4]
  assign sync_13_io_d = sync_14_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305895.4]
  assign sync_13_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305896.4]
  assign sync_14_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305845.4]
  assign sync_14_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305846.4]
  assign sync_14_io_d = sync_15_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305897.4]
  assign sync_14_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305898.4]
  assign sync_15_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305849.4]
  assign sync_15_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305850.4]
  assign sync_15_io_d = sync_16_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305899.4]
  assign sync_15_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305900.4]
  assign sync_16_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305853.4]
  assign sync_16_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305854.4]
  assign sync_16_io_d = sync_17_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305901.4]
  assign sync_16_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305902.4]
  assign sync_17_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305857.4]
  assign sync_17_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305858.4]
  assign sync_17_io_d = sync_18_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305903.4]
  assign sync_17_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305904.4]
  assign sync_18_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305861.4]
  assign sync_18_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305862.4]
  assign sync_18_io_d = sync_19_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@305905.4]
  assign sync_18_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@305906.4]
  assign sync_19_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305865.4]
  assign sync_19_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305866.4]
  assign sync_19_io_d = 1'h1; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@305867.4]
  assign sync_19_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@305868.4]
endmodule
module ResetCatchAndSync_d20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305909.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305910.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305911.4]
  output  io_sync_reset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305912.4]
);
  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305918.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305918.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305918.4]
  wire  _T_7; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305923.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305925.4]
  AsyncResetSynchronizerShiftReg_w1_d20_i0 AsyncResetSynchronizerShiftReg_w1_d20_i0 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@305918.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@305923.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@305925.4]
  assign io_sync_reset = ~ _T_7; // @[ResetCatchAndSync.scala 28:19:shc.marmotcaravel.MarmotCaravelConfig.fir@305928.4]
  assign AsyncResetSynchronizerShiftReg_w1_d20_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305920.4]
  assign AsyncResetSynchronizerShiftReg_w1_d20_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305921.4]
endmodule
module SyncResetSynchronizerShiftReg_w1_d0_i1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305930.2]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305933.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@305933.4]
);
  assign io_q = io_d; // @[ShiftReg.scala 139:8:shc.marmotcaravel.MarmotCaravelConfig.fir@305938.4]
endmodule
module SyncResetSynchronizerShiftReg_w1_d3_i1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306148.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306149.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306150.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306151.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306151.4]
);
  reg  sync_2; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306156.4]
  reg [31:0] _RAND_0;
  reg  sync_1; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306158.4]
  reg [31:0] _RAND_1;
  reg  sync_0; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306160.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 139:8:shc.marmotcaravel.MarmotCaravelConfig.fir@306162.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@306164.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306165.4]
  input   io_pins_jtag_TCK_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_jtag_TMS_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_jtag_TDI_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_jtag_TDO_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_jtag_TDO_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_25_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_25_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_25_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_26_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_26_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_26_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_27_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_27_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_27_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_28_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_28_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_28_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_29_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_29_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_29_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_30_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_30_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_30_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_gpio_pins_31_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_31_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_gpio_pins_31_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_sck_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_dq_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_dq_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_dq_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_dq_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_dq_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_cs_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_sck_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_ram_dq_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_ram_dq_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_ram_dq_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_qspi_ram_dq_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_dq_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_qspi_ram_cs_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_uart_rxd_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  output  io_pins_uart_txd_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_aon_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_pins_aon_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.4]
  input   io_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306167.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 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_reset; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_debug_systemjtag_jtag_TCK; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_debug_systemjtag_jtag_TMS; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_debug_systemjtag_jtag_TDI; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_debug_systemjtag_jtag_TDO_data; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_debug_systemjtag_jtag_TDO_driven; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_debug_systemjtag_reset; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_0_txd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_0_rxd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_1_txd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_1_rxd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_2_txd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_2_rxd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_3_txd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_3_rxd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_4_txd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_uart_4_rxd; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_sck; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_0_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_0_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_0_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_1_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_1_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_1_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_2_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_2_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_2_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_3_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_3_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_dq_3_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_cs_0; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_spi_0_cs_1; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_0_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_0_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_0_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_0_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_1_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_1_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_1_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_1_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_2_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_2_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_2_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_2_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_3_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_3_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_3_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_3_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_4_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_4_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_4_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_4_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_5_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_5_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_5_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_5_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_6_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_6_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_6_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_7_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_7_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_7_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_8_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_8_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_8_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_9_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_9_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_9_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_10_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_10_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_10_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_11_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_11_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_11_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_12_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_12_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_12_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_12_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_13_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_13_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_13_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_13_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_14_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_14_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_14_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_14_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_15_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_15_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_15_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_15_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_16_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_16_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_16_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_16_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_17_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_17_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_17_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_17_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_18_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_18_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_18_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_18_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_19_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_19_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_19_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_19_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_20_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_20_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_20_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_20_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_21_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_21_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_21_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_21_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_22_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_22_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_22_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_22_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_23_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_23_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_23_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_23_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_24_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_24_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_24_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_24_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_25_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_25_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_25_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_26_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_26_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_26_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_27_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_27_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_27_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_28_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_28_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_28_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_29_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_29_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_29_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_30_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_30_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_30_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_31_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_31_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_pins_31_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_0_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_1_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_2_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_2_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_2_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_2_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_3_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_3_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_3_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_3_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_4_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_4_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_4_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_4_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_5_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_5_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_5_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_5_o_ie; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_12_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_12_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_13_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_13_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_14_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_14_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_15_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_15_o_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_16_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_17_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_18_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_19_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_20_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_21_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_22_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_23_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_gpio_0_iof_0_24_o_oval; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_sck; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_0_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_0_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_0_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_1_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_1_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_1_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_2_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_2_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_2_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_3_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_3_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_dq_3_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_0_cs_0; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_sck; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_0_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_0_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_0_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_1_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_1_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_1_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_2_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_2_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_2_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_3_i; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_3_o; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_dq_3_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_qspi_ram_0_cs_0; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_aon_pins_erst_n_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_aon_pins_lfextclk_i_ival; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_aon_rsts_corerst; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_0_scl_in; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_0_scl_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_0_sda_in; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_0_sda_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_1_scl_in; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_1_scl_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_1_sda_in; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  sys_i2c_1_sda_oe; // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.4]
  wire  ResetCatchAndSync_d20_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@306191.4]
  wire  ResetCatchAndSync_d20_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@306191.4]
  wire  ResetCatchAndSync_d20_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@306191.4]
  wire  uart_rxd_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306231.4]
  wire  uart_rxd_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306231.4]
  wire  uart_rxd_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306247.4]
  wire  uart_rxd_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306247.4]
  wire  uart_rxd_sync_2_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306263.4]
  wire  uart_rxd_sync_2_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306263.4]
  wire  uart_rxd_sync_3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306279.4]
  wire  uart_rxd_sync_3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306279.4]
  wire  uart_rxd_sync_4_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306295.4]
  wire  uart_rxd_sync_4_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306295.4]
  wire  i2c_scl_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306347.4]
  wire  i2c_scl_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306347.4]
  wire  i2c_sda_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306360.4]
  wire  i2c_sda_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306360.4]
  wire  i2c_scl_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306374.4]
  wire  i2c_scl_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306374.4]
  wire  i2c_sda_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306387.4]
  wire  i2c_sda_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306387.4]
  wire  spi_dq_0_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306732.4]
  wire  spi_dq_0_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306732.4]
  wire  spi_dq_0_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306732.4]
  wire  spi_dq_1_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306747.4]
  wire  spi_dq_1_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306747.4]
  wire  spi_dq_1_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306747.4]
  wire  spi_dq_2_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306762.4]
  wire  spi_dq_2_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306762.4]
  wire  spi_dq_2_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306762.4]
  wire  spi_dq_3_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306777.4]
  wire  spi_dq_3_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306777.4]
  wire  spi_dq_3_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306777.4]
  wire  spi_dq_0_sync_1_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306799.4]
  wire  spi_dq_0_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306799.4]
  wire  spi_dq_0_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306799.4]
  wire  spi_dq_1_sync_1_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306814.4]
  wire  spi_dq_1_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306814.4]
  wire  spi_dq_1_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306814.4]
  wire  spi_dq_2_sync_1_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306829.4]
  wire  spi_dq_2_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306829.4]
  wire  spi_dq_2_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306829.4]
  wire  spi_dq_3_sync_1_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306844.4]
  wire  spi_dq_3_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306844.4]
  wire  spi_dq_3_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306844.4]
  wire  uart_rxd_sync_5_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306863.4]
  wire  uart_rxd_sync_5_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306863.4]
  wire  uart_rxd_sync_5_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306863.4]
  wire  uart_rxd_sync_5_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306863.4]
  MarmotCaravelSystem sys ( // @[Platform.scala 55:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306172.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),
    .gpio_0_pins_0_i_ival(sys_gpio_0_pins_0_i_ival),
    .gpio_0_pins_0_o_oval(sys_gpio_0_pins_0_o_oval),
    .gpio_0_pins_0_o_oe(sys_gpio_0_pins_0_o_oe),
    .gpio_0_pins_0_o_ie(sys_gpio_0_pins_0_o_ie),
    .gpio_0_pins_1_i_ival(sys_gpio_0_pins_1_i_ival),
    .gpio_0_pins_1_o_oval(sys_gpio_0_pins_1_o_oval),
    .gpio_0_pins_1_o_oe(sys_gpio_0_pins_1_o_oe),
    .gpio_0_pins_1_o_ie(sys_gpio_0_pins_1_o_ie),
    .gpio_0_pins_2_i_ival(sys_gpio_0_pins_2_i_ival),
    .gpio_0_pins_2_o_oval(sys_gpio_0_pins_2_o_oval),
    .gpio_0_pins_2_o_oe(sys_gpio_0_pins_2_o_oe),
    .gpio_0_pins_2_o_ie(sys_gpio_0_pins_2_o_ie),
    .gpio_0_pins_3_i_ival(sys_gpio_0_pins_3_i_ival),
    .gpio_0_pins_3_o_oval(sys_gpio_0_pins_3_o_oval),
    .gpio_0_pins_3_o_oe(sys_gpio_0_pins_3_o_oe),
    .gpio_0_pins_3_o_ie(sys_gpio_0_pins_3_o_ie),
    .gpio_0_pins_4_i_ival(sys_gpio_0_pins_4_i_ival),
    .gpio_0_pins_4_o_oval(sys_gpio_0_pins_4_o_oval),
    .gpio_0_pins_4_o_oe(sys_gpio_0_pins_4_o_oe),
    .gpio_0_pins_4_o_ie(sys_gpio_0_pins_4_o_ie),
    .gpio_0_pins_5_i_ival(sys_gpio_0_pins_5_i_ival),
    .gpio_0_pins_5_o_oval(sys_gpio_0_pins_5_o_oval),
    .gpio_0_pins_5_o_oe(sys_gpio_0_pins_5_o_oe),
    .gpio_0_pins_5_o_ie(sys_gpio_0_pins_5_o_ie),
    .gpio_0_pins_6_i_ival(sys_gpio_0_pins_6_i_ival),
    .gpio_0_pins_6_o_oval(sys_gpio_0_pins_6_o_oval),
    .gpio_0_pins_6_o_oe(sys_gpio_0_pins_6_o_oe),
    .gpio_0_pins_7_i_ival(sys_gpio_0_pins_7_i_ival),
    .gpio_0_pins_7_o_oval(sys_gpio_0_pins_7_o_oval),
    .gpio_0_pins_7_o_oe(sys_gpio_0_pins_7_o_oe),
    .gpio_0_pins_8_i_ival(sys_gpio_0_pins_8_i_ival),
    .gpio_0_pins_8_o_oval(sys_gpio_0_pins_8_o_oval),
    .gpio_0_pins_8_o_oe(sys_gpio_0_pins_8_o_oe),
    .gpio_0_pins_9_i_ival(sys_gpio_0_pins_9_i_ival),
    .gpio_0_pins_9_o_oval(sys_gpio_0_pins_9_o_oval),
    .gpio_0_pins_9_o_oe(sys_gpio_0_pins_9_o_oe),
    .gpio_0_pins_10_i_ival(sys_gpio_0_pins_10_i_ival),
    .gpio_0_pins_10_o_oval(sys_gpio_0_pins_10_o_oval),
    .gpio_0_pins_10_o_oe(sys_gpio_0_pins_10_o_oe),
    .gpio_0_pins_11_i_ival(sys_gpio_0_pins_11_i_ival),
    .gpio_0_pins_11_o_oval(sys_gpio_0_pins_11_o_oval),
    .gpio_0_pins_11_o_oe(sys_gpio_0_pins_11_o_oe),
    .gpio_0_pins_12_i_ival(sys_gpio_0_pins_12_i_ival),
    .gpio_0_pins_12_o_oval(sys_gpio_0_pins_12_o_oval),
    .gpio_0_pins_12_o_oe(sys_gpio_0_pins_12_o_oe),
    .gpio_0_pins_12_o_ie(sys_gpio_0_pins_12_o_ie),
    .gpio_0_pins_13_i_ival(sys_gpio_0_pins_13_i_ival),
    .gpio_0_pins_13_o_oval(sys_gpio_0_pins_13_o_oval),
    .gpio_0_pins_13_o_oe(sys_gpio_0_pins_13_o_oe),
    .gpio_0_pins_13_o_ie(sys_gpio_0_pins_13_o_ie),
    .gpio_0_pins_14_i_ival(sys_gpio_0_pins_14_i_ival),
    .gpio_0_pins_14_o_oval(sys_gpio_0_pins_14_o_oval),
    .gpio_0_pins_14_o_oe(sys_gpio_0_pins_14_o_oe),
    .gpio_0_pins_14_o_ie(sys_gpio_0_pins_14_o_ie),
    .gpio_0_pins_15_i_ival(sys_gpio_0_pins_15_i_ival),
    .gpio_0_pins_15_o_oval(sys_gpio_0_pins_15_o_oval),
    .gpio_0_pins_15_o_oe(sys_gpio_0_pins_15_o_oe),
    .gpio_0_pins_15_o_ie(sys_gpio_0_pins_15_o_ie),
    .gpio_0_pins_16_i_ival(sys_gpio_0_pins_16_i_ival),
    .gpio_0_pins_16_o_oval(sys_gpio_0_pins_16_o_oval),
    .gpio_0_pins_16_o_oe(sys_gpio_0_pins_16_o_oe),
    .gpio_0_pins_16_o_ie(sys_gpio_0_pins_16_o_ie),
    .gpio_0_pins_17_i_ival(sys_gpio_0_pins_17_i_ival),
    .gpio_0_pins_17_o_oval(sys_gpio_0_pins_17_o_oval),
    .gpio_0_pins_17_o_oe(sys_gpio_0_pins_17_o_oe),
    .gpio_0_pins_17_o_ie(sys_gpio_0_pins_17_o_ie),
    .gpio_0_pins_18_i_ival(sys_gpio_0_pins_18_i_ival),
    .gpio_0_pins_18_o_oval(sys_gpio_0_pins_18_o_oval),
    .gpio_0_pins_18_o_oe(sys_gpio_0_pins_18_o_oe),
    .gpio_0_pins_18_o_ie(sys_gpio_0_pins_18_o_ie),
    .gpio_0_pins_19_i_ival(sys_gpio_0_pins_19_i_ival),
    .gpio_0_pins_19_o_oval(sys_gpio_0_pins_19_o_oval),
    .gpio_0_pins_19_o_oe(sys_gpio_0_pins_19_o_oe),
    .gpio_0_pins_19_o_ie(sys_gpio_0_pins_19_o_ie),
    .gpio_0_pins_20_i_ival(sys_gpio_0_pins_20_i_ival),
    .gpio_0_pins_20_o_oval(sys_gpio_0_pins_20_o_oval),
    .gpio_0_pins_20_o_oe(sys_gpio_0_pins_20_o_oe),
    .gpio_0_pins_20_o_ie(sys_gpio_0_pins_20_o_ie),
    .gpio_0_pins_21_i_ival(sys_gpio_0_pins_21_i_ival),
    .gpio_0_pins_21_o_oval(sys_gpio_0_pins_21_o_oval),
    .gpio_0_pins_21_o_oe(sys_gpio_0_pins_21_o_oe),
    .gpio_0_pins_21_o_ie(sys_gpio_0_pins_21_o_ie),
    .gpio_0_pins_22_i_ival(sys_gpio_0_pins_22_i_ival),
    .gpio_0_pins_22_o_oval(sys_gpio_0_pins_22_o_oval),
    .gpio_0_pins_22_o_oe(sys_gpio_0_pins_22_o_oe),
    .gpio_0_pins_22_o_ie(sys_gpio_0_pins_22_o_ie),
    .gpio_0_pins_23_i_ival(sys_gpio_0_pins_23_i_ival),
    .gpio_0_pins_23_o_oval(sys_gpio_0_pins_23_o_oval),
    .gpio_0_pins_23_o_oe(sys_gpio_0_pins_23_o_oe),
    .gpio_0_pins_23_o_ie(sys_gpio_0_pins_23_o_ie),
    .gpio_0_pins_24_i_ival(sys_gpio_0_pins_24_i_ival),
    .gpio_0_pins_24_o_oval(sys_gpio_0_pins_24_o_oval),
    .gpio_0_pins_24_o_oe(sys_gpio_0_pins_24_o_oe),
    .gpio_0_pins_24_o_ie(sys_gpio_0_pins_24_o_ie),
    .gpio_0_pins_25_i_ival(sys_gpio_0_pins_25_i_ival),
    .gpio_0_pins_25_o_oval(sys_gpio_0_pins_25_o_oval),
    .gpio_0_pins_25_o_oe(sys_gpio_0_pins_25_o_oe),
    .gpio_0_pins_26_i_ival(sys_gpio_0_pins_26_i_ival),
    .gpio_0_pins_26_o_oval(sys_gpio_0_pins_26_o_oval),
    .gpio_0_pins_26_o_oe(sys_gpio_0_pins_26_o_oe),
    .gpio_0_pins_27_i_ival(sys_gpio_0_pins_27_i_ival),
    .gpio_0_pins_27_o_oval(sys_gpio_0_pins_27_o_oval),
    .gpio_0_pins_27_o_oe(sys_gpio_0_pins_27_o_oe),
    .gpio_0_pins_28_i_ival(sys_gpio_0_pins_28_i_ival),
    .gpio_0_pins_28_o_oval(sys_gpio_0_pins_28_o_oval),
    .gpio_0_pins_28_o_oe(sys_gpio_0_pins_28_o_oe),
    .gpio_0_pins_29_i_ival(sys_gpio_0_pins_29_i_ival),
    .gpio_0_pins_29_o_oval(sys_gpio_0_pins_29_o_oval),
    .gpio_0_pins_29_o_oe(sys_gpio_0_pins_29_o_oe),
    .gpio_0_pins_30_i_ival(sys_gpio_0_pins_30_i_ival),
    .gpio_0_pins_30_o_oval(sys_gpio_0_pins_30_o_oval),
    .gpio_0_pins_30_o_oe(sys_gpio_0_pins_30_o_oe),
    .gpio_0_pins_31_i_ival(sys_gpio_0_pins_31_i_ival),
    .gpio_0_pins_31_o_oval(sys_gpio_0_pins_31_o_oval),
    .gpio_0_pins_31_o_oe(sys_gpio_0_pins_31_o_oe),
    .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_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),
    .qspi_ram_0_sck(sys_qspi_ram_0_sck),
    .qspi_ram_0_dq_0_i(sys_qspi_ram_0_dq_0_i),
    .qspi_ram_0_dq_0_o(sys_qspi_ram_0_dq_0_o),
    .qspi_ram_0_dq_0_oe(sys_qspi_ram_0_dq_0_oe),
    .qspi_ram_0_dq_1_i(sys_qspi_ram_0_dq_1_i),
    .qspi_ram_0_dq_1_o(sys_qspi_ram_0_dq_1_o),
    .qspi_ram_0_dq_1_oe(sys_qspi_ram_0_dq_1_oe),
    .qspi_ram_0_dq_2_i(sys_qspi_ram_0_dq_2_i),
    .qspi_ram_0_dq_2_o(sys_qspi_ram_0_dq_2_o),
    .qspi_ram_0_dq_2_oe(sys_qspi_ram_0_dq_2_oe),
    .qspi_ram_0_dq_3_i(sys_qspi_ram_0_dq_3_i),
    .qspi_ram_0_dq_3_o(sys_qspi_ram_0_dq_3_o),
    .qspi_ram_0_dq_3_oe(sys_qspi_ram_0_dq_3_oe),
    .qspi_ram_0_cs_0(sys_qspi_ram_0_cs_0),
    .aon_pins_erst_n_i_ival(sys_aon_pins_erst_n_i_ival),
    .aon_pins_lfextclk_i_ival(sys_aon_pins_lfextclk_i_ival),
    .aon_rsts_corerst(sys_aon_rsts_corerst),
    .i2c_0_scl_in(sys_i2c_0_scl_in),
    .i2c_0_scl_oe(sys_i2c_0_scl_oe),
    .i2c_0_sda_in(sys_i2c_0_sda_in),
    .i2c_0_sda_oe(sys_i2c_0_sda_oe),
    .i2c_1_scl_in(sys_i2c_1_scl_in),
    .i2c_1_scl_oe(sys_i2c_1_scl_oe),
    .i2c_1_sda_in(sys_i2c_1_sda_in),
    .i2c_1_sda_oe(sys_i2c_1_sda_oe),
    .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@306191.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@306231.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@306247.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@306263.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@306279.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@306295.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@306347.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@306360.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@306374.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@306387.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@306732.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@306747.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@306762.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@306777.4]
    .clock(spi_dq_3_sync_clock),
    .io_d(spi_dq_3_sync_io_d),
    .io_q(spi_dq_3_sync_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_0_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306799.4]
    .clock(spi_dq_0_sync_1_clock),
    .io_d(spi_dq_0_sync_1_io_d),
    .io_q(spi_dq_0_sync_1_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_1_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306814.4]
    .clock(spi_dq_1_sync_1_clock),
    .io_d(spi_dq_1_sync_1_io_d),
    .io_q(spi_dq_1_sync_1_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_2_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306829.4]
    .clock(spi_dq_2_sync_1_clock),
    .io_d(spi_dq_2_sync_1_io_d),
    .io_q(spi_dq_2_sync_1_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_3_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306844.4]
    .clock(spi_dq_3_sync_1_clock),
    .io_d(spi_dq_3_sync_1_io_d),
    .io_q(spi_dq_3_sync_1_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d3_i1 uart_rxd_sync_5 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306863.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@306885.4]
  assign io_pins_jtag_TDO_o_oe = sys_debug_systemjtag_jtag_TDO_driven; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306886.4 JTAGPins.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@306888.4]
  assign io_pins_gpio_pins_0_o_oval = sys_gpio_0_pins_0_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306690.4]
  assign io_pins_gpio_pins_0_o_oe = sys_gpio_0_pins_0_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306690.4]
  assign io_pins_gpio_pins_0_o_ie = sys_gpio_0_pins_0_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306690.4]
  assign io_pins_gpio_pins_1_o_oval = sys_gpio_0_pins_1_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306691.4]
  assign io_pins_gpio_pins_1_o_oe = sys_gpio_0_pins_1_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306691.4]
  assign io_pins_gpio_pins_1_o_ie = sys_gpio_0_pins_1_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306691.4]
  assign io_pins_gpio_pins_2_o_oval = sys_gpio_0_pins_2_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306692.4]
  assign io_pins_gpio_pins_2_o_oe = sys_gpio_0_pins_2_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306692.4]
  assign io_pins_gpio_pins_2_o_ie = sys_gpio_0_pins_2_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306692.4]
  assign io_pins_gpio_pins_3_o_oval = sys_gpio_0_pins_3_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306693.4]
  assign io_pins_gpio_pins_3_o_oe = sys_gpio_0_pins_3_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306693.4]
  assign io_pins_gpio_pins_3_o_ie = sys_gpio_0_pins_3_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306693.4]
  assign io_pins_gpio_pins_4_o_oval = sys_gpio_0_pins_4_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306694.4]
  assign io_pins_gpio_pins_4_o_oe = sys_gpio_0_pins_4_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306694.4]
  assign io_pins_gpio_pins_4_o_ie = sys_gpio_0_pins_4_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306694.4]
  assign io_pins_gpio_pins_5_o_oval = sys_gpio_0_pins_5_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306695.4]
  assign io_pins_gpio_pins_5_o_oe = sys_gpio_0_pins_5_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306695.4]
  assign io_pins_gpio_pins_5_o_ie = sys_gpio_0_pins_5_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306695.4]
  assign io_pins_gpio_pins_6_o_oval = sys_gpio_0_pins_6_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306696.4]
  assign io_pins_gpio_pins_6_o_oe = sys_gpio_0_pins_6_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306696.4]
  assign io_pins_gpio_pins_7_o_oval = sys_gpio_0_pins_7_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306697.4]
  assign io_pins_gpio_pins_7_o_oe = sys_gpio_0_pins_7_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306697.4]
  assign io_pins_gpio_pins_8_o_oval = sys_gpio_0_pins_8_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306698.4]
  assign io_pins_gpio_pins_8_o_oe = sys_gpio_0_pins_8_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306698.4]
  assign io_pins_gpio_pins_9_o_oval = sys_gpio_0_pins_9_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306699.4]
  assign io_pins_gpio_pins_9_o_oe = sys_gpio_0_pins_9_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306699.4]
  assign io_pins_gpio_pins_10_o_oval = sys_gpio_0_pins_10_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306700.4]
  assign io_pins_gpio_pins_10_o_oe = sys_gpio_0_pins_10_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306700.4]
  assign io_pins_gpio_pins_11_o_oval = sys_gpio_0_pins_11_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306701.4]
  assign io_pins_gpio_pins_11_o_oe = sys_gpio_0_pins_11_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306701.4]
  assign io_pins_gpio_pins_12_o_oval = sys_gpio_0_pins_12_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306702.4]
  assign io_pins_gpio_pins_12_o_oe = sys_gpio_0_pins_12_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306702.4]
  assign io_pins_gpio_pins_12_o_ie = sys_gpio_0_pins_12_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306702.4]
  assign io_pins_gpio_pins_13_o_oval = sys_gpio_0_pins_13_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306703.4]
  assign io_pins_gpio_pins_13_o_oe = sys_gpio_0_pins_13_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306703.4]
  assign io_pins_gpio_pins_13_o_ie = sys_gpio_0_pins_13_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306703.4]
  assign io_pins_gpio_pins_14_o_oval = sys_gpio_0_pins_14_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306704.4]
  assign io_pins_gpio_pins_14_o_oe = sys_gpio_0_pins_14_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306704.4]
  assign io_pins_gpio_pins_14_o_ie = sys_gpio_0_pins_14_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306704.4]
  assign io_pins_gpio_pins_15_o_oval = sys_gpio_0_pins_15_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306705.4]
  assign io_pins_gpio_pins_15_o_oe = sys_gpio_0_pins_15_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306705.4]
  assign io_pins_gpio_pins_15_o_ie = sys_gpio_0_pins_15_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306705.4]
  assign io_pins_gpio_pins_16_o_oval = sys_gpio_0_pins_16_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306706.4]
  assign io_pins_gpio_pins_16_o_oe = sys_gpio_0_pins_16_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306706.4]
  assign io_pins_gpio_pins_16_o_ie = sys_gpio_0_pins_16_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306706.4]
  assign io_pins_gpio_pins_17_o_oval = sys_gpio_0_pins_17_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306707.4]
  assign io_pins_gpio_pins_17_o_oe = sys_gpio_0_pins_17_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306707.4]
  assign io_pins_gpio_pins_17_o_ie = sys_gpio_0_pins_17_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306707.4]
  assign io_pins_gpio_pins_18_o_oval = sys_gpio_0_pins_18_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306708.4]
  assign io_pins_gpio_pins_18_o_oe = sys_gpio_0_pins_18_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306708.4]
  assign io_pins_gpio_pins_18_o_ie = sys_gpio_0_pins_18_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306708.4]
  assign io_pins_gpio_pins_19_o_oval = sys_gpio_0_pins_19_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306709.4]
  assign io_pins_gpio_pins_19_o_oe = sys_gpio_0_pins_19_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306709.4]
  assign io_pins_gpio_pins_19_o_ie = sys_gpio_0_pins_19_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306709.4]
  assign io_pins_gpio_pins_20_o_oval = sys_gpio_0_pins_20_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306710.4]
  assign io_pins_gpio_pins_20_o_oe = sys_gpio_0_pins_20_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306710.4]
  assign io_pins_gpio_pins_20_o_ie = sys_gpio_0_pins_20_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306710.4]
  assign io_pins_gpio_pins_21_o_oval = sys_gpio_0_pins_21_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306711.4]
  assign io_pins_gpio_pins_21_o_oe = sys_gpio_0_pins_21_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306711.4]
  assign io_pins_gpio_pins_21_o_ie = sys_gpio_0_pins_21_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306711.4]
  assign io_pins_gpio_pins_22_o_oval = sys_gpio_0_pins_22_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306712.4]
  assign io_pins_gpio_pins_22_o_oe = sys_gpio_0_pins_22_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306712.4]
  assign io_pins_gpio_pins_22_o_ie = sys_gpio_0_pins_22_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306712.4]
  assign io_pins_gpio_pins_23_o_oval = sys_gpio_0_pins_23_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306713.4]
  assign io_pins_gpio_pins_23_o_oe = sys_gpio_0_pins_23_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306713.4]
  assign io_pins_gpio_pins_23_o_ie = sys_gpio_0_pins_23_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306713.4]
  assign io_pins_gpio_pins_24_o_oval = sys_gpio_0_pins_24_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306714.4]
  assign io_pins_gpio_pins_24_o_oe = sys_gpio_0_pins_24_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306714.4]
  assign io_pins_gpio_pins_24_o_ie = sys_gpio_0_pins_24_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306714.4]
  assign io_pins_gpio_pins_25_o_oval = sys_gpio_0_pins_25_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306715.4]
  assign io_pins_gpio_pins_25_o_oe = sys_gpio_0_pins_25_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306715.4]
  assign io_pins_gpio_pins_26_o_oval = sys_gpio_0_pins_26_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306716.4]
  assign io_pins_gpio_pins_26_o_oe = sys_gpio_0_pins_26_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306716.4]
  assign io_pins_gpio_pins_27_o_oval = sys_gpio_0_pins_27_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306717.4]
  assign io_pins_gpio_pins_27_o_oe = sys_gpio_0_pins_27_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306717.4]
  assign io_pins_gpio_pins_28_o_oval = sys_gpio_0_pins_28_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306718.4]
  assign io_pins_gpio_pins_28_o_oe = sys_gpio_0_pins_28_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306718.4]
  assign io_pins_gpio_pins_29_o_oval = sys_gpio_0_pins_29_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306719.4]
  assign io_pins_gpio_pins_29_o_oe = sys_gpio_0_pins_29_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306719.4]
  assign io_pins_gpio_pins_30_o_oval = sys_gpio_0_pins_30_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306720.4]
  assign io_pins_gpio_pins_30_o_oe = sys_gpio_0_pins_30_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306720.4]
  assign io_pins_gpio_pins_31_o_oval = sys_gpio_0_pins_31_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306721.4]
  assign io_pins_gpio_pins_31_o_oe = sys_gpio_0_pins_31_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306721.4]
  assign io_pins_qspi_sck_o_oval = sys_qspi_0_sck; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306723.4]
  assign io_pins_qspi_dq_0_o_oval = sys_qspi_0_dq_0_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306726.4]
  assign io_pins_qspi_dq_0_o_oe = sys_qspi_0_dq_0_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306727.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306729.4]
  assign io_pins_qspi_dq_0_o_ie = ~ sys_qspi_0_dq_0_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306728.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306731.4]
  assign io_pins_qspi_dq_1_o_oval = sys_qspi_0_dq_1_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306741.4]
  assign io_pins_qspi_dq_1_o_oe = sys_qspi_0_dq_1_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306742.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306744.4]
  assign io_pins_qspi_dq_1_o_ie = ~ sys_qspi_0_dq_1_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306743.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306746.4]
  assign io_pins_qspi_dq_2_o_oval = sys_qspi_0_dq_2_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306756.4]
  assign io_pins_qspi_dq_2_o_oe = sys_qspi_0_dq_2_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306757.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306759.4]
  assign io_pins_qspi_dq_2_o_ie = ~ sys_qspi_0_dq_2_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306758.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306761.4]
  assign io_pins_qspi_dq_3_o_oval = sys_qspi_0_dq_3_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306771.4]
  assign io_pins_qspi_dq_3_o_oe = sys_qspi_0_dq_3_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306772.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306774.4]
  assign io_pins_qspi_dq_3_o_ie = ~ sys_qspi_0_dq_3_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306773.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306776.4]
  assign io_pins_qspi_cs_0_o_oval = sys_qspi_0_cs_0; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306786.4]
  assign io_pins_qspi_ram_sck_o_oval = sys_qspi_ram_0_sck; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306790.4]
  assign io_pins_qspi_ram_dq_0_o_oval = sys_qspi_ram_0_dq_0_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306793.4]
  assign io_pins_qspi_ram_dq_0_o_oe = sys_qspi_ram_0_dq_0_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306794.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306796.4]
  assign io_pins_qspi_ram_dq_0_o_ie = ~ sys_qspi_ram_0_dq_0_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306795.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306798.4]
  assign io_pins_qspi_ram_dq_1_o_oval = sys_qspi_ram_0_dq_1_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306808.4]
  assign io_pins_qspi_ram_dq_1_o_oe = sys_qspi_ram_0_dq_1_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306809.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306811.4]
  assign io_pins_qspi_ram_dq_1_o_ie = ~ sys_qspi_ram_0_dq_1_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306810.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306813.4]
  assign io_pins_qspi_ram_dq_2_o_oval = sys_qspi_ram_0_dq_2_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306823.4]
  assign io_pins_qspi_ram_dq_2_o_oe = sys_qspi_ram_0_dq_2_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306824.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306826.4]
  assign io_pins_qspi_ram_dq_2_o_ie = ~ sys_qspi_ram_0_dq_2_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306825.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306828.4]
  assign io_pins_qspi_ram_dq_3_o_oval = sys_qspi_ram_0_dq_3_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306838.4]
  assign io_pins_qspi_ram_dq_3_o_oe = sys_qspi_ram_0_dq_3_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306839.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306841.4]
  assign io_pins_qspi_ram_dq_3_o_ie = ~ sys_qspi_ram_0_dq_3_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306840.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306843.4]
  assign io_pins_qspi_ram_cs_0_o_oval = sys_qspi_ram_0_cs_0; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306853.4]
  assign io_pins_uart_txd_o_oval = sys_uart_0_txd; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306857.4]
  assign sys_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306189.4]
  assign sys_reset = ResetCatchAndSync_d20_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306190.4 Platform.scala 61:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306207.4]
  assign sys_debug_systemjtag_jtag_TCK = io_pins_jtag_TCK_i_ival; // @[JTAGPins.scala 29:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306876.4]
  assign sys_debug_systemjtag_jtag_TMS = io_pins_jtag_TMS_i_ival; // @[JTAGPins.scala 30:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306880.4]
  assign sys_debug_systemjtag_jtag_TDI = io_pins_jtag_TDI_i_ival; // @[JTAGPins.scala 31:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306884.4]
  assign sys_debug_systemjtag_reset = io_jtag_reset; // @[Platform.scala 160:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306889.4]
  assign sys_uart_0_rxd = uart_rxd_sync_5_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306239.4 UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306871.4]
  assign sys_uart_1_rxd = uart_rxd_sync_1_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306255.4]
  assign sys_uart_2_rxd = uart_rxd_sync_2_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306271.4]
  assign sys_uart_3_rxd = uart_rxd_sync_3_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306287.4]
  assign sys_uart_4_rxd = uart_rxd_sync_4_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306303.4]
  assign sys_spi_0_dq_0_i = sys_gpio_0_iof_0_2_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306314.4]
  assign sys_spi_0_dq_1_i = sys_gpio_0_iof_0_3_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306321.4]
  assign sys_spi_0_dq_2_i = sys_gpio_0_iof_0_4_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306328.4]
  assign sys_spi_0_dq_3_i = sys_gpio_0_iof_0_5_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306335.4]
  assign sys_gpio_0_pins_0_i_ival = io_pins_gpio_pins_0_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306690.4]
  assign sys_gpio_0_pins_1_i_ival = io_pins_gpio_pins_1_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306691.4]
  assign sys_gpio_0_pins_2_i_ival = io_pins_gpio_pins_2_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306692.4]
  assign sys_gpio_0_pins_3_i_ival = io_pins_gpio_pins_3_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306693.4]
  assign sys_gpio_0_pins_4_i_ival = io_pins_gpio_pins_4_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306694.4]
  assign sys_gpio_0_pins_5_i_ival = io_pins_gpio_pins_5_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306695.4]
  assign sys_gpio_0_pins_6_i_ival = io_pins_gpio_pins_6_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306696.4]
  assign sys_gpio_0_pins_7_i_ival = io_pins_gpio_pins_7_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306697.4]
  assign sys_gpio_0_pins_8_i_ival = io_pins_gpio_pins_8_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306698.4]
  assign sys_gpio_0_pins_9_i_ival = io_pins_gpio_pins_9_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306699.4]
  assign sys_gpio_0_pins_10_i_ival = io_pins_gpio_pins_10_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306700.4]
  assign sys_gpio_0_pins_11_i_ival = io_pins_gpio_pins_11_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306701.4]
  assign sys_gpio_0_pins_12_i_ival = io_pins_gpio_pins_12_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306702.4]
  assign sys_gpio_0_pins_13_i_ival = io_pins_gpio_pins_13_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306703.4]
  assign sys_gpio_0_pins_14_i_ival = io_pins_gpio_pins_14_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306704.4]
  assign sys_gpio_0_pins_15_i_ival = io_pins_gpio_pins_15_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306705.4]
  assign sys_gpio_0_pins_16_i_ival = io_pins_gpio_pins_16_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306706.4]
  assign sys_gpio_0_pins_17_i_ival = io_pins_gpio_pins_17_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306707.4]
  assign sys_gpio_0_pins_18_i_ival = io_pins_gpio_pins_18_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306708.4]
  assign sys_gpio_0_pins_19_i_ival = io_pins_gpio_pins_19_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306709.4]
  assign sys_gpio_0_pins_20_i_ival = io_pins_gpio_pins_20_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306710.4]
  assign sys_gpio_0_pins_21_i_ival = io_pins_gpio_pins_21_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306711.4]
  assign sys_gpio_0_pins_22_i_ival = io_pins_gpio_pins_22_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306712.4]
  assign sys_gpio_0_pins_23_i_ival = io_pins_gpio_pins_23_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306713.4]
  assign sys_gpio_0_pins_24_i_ival = io_pins_gpio_pins_24_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306714.4]
  assign sys_gpio_0_pins_25_i_ival = io_pins_gpio_pins_25_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306715.4]
  assign sys_gpio_0_pins_26_i_ival = io_pins_gpio_pins_26_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306716.4]
  assign sys_gpio_0_pins_27_i_ival = io_pins_gpio_pins_27_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306717.4]
  assign sys_gpio_0_pins_28_i_ival = io_pins_gpio_pins_28_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306718.4]
  assign sys_gpio_0_pins_29_i_ival = io_pins_gpio_pins_29_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306719.4]
  assign sys_gpio_0_pins_30_i_ival = io_pins_gpio_pins_30_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306720.4]
  assign sys_gpio_0_pins_31_i_ival = io_pins_gpio_pins_31_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@306721.4]
  assign sys_gpio_0_iof_0_0_o_oval = sys_spi_0_cs_0; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306396.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306652.4]
  assign sys_gpio_0_iof_0_1_o_oval = sys_spi_0_sck; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306400.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306654.4]
  assign sys_gpio_0_iof_0_2_o_oval = sys_spi_0_dq_0_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306404.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306656.4]
  assign sys_gpio_0_iof_0_2_o_oe = sys_spi_0_dq_0_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306405.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306656.4]
  assign sys_gpio_0_iof_0_2_o_ie = ~ sys_spi_0_dq_0_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306406.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306656.4]
  assign sys_gpio_0_iof_0_3_o_oval = sys_spi_0_dq_1_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306408.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306658.4]
  assign sys_gpio_0_iof_0_3_o_oe = sys_spi_0_dq_1_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306409.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306658.4]
  assign sys_gpio_0_iof_0_3_o_ie = ~ sys_spi_0_dq_1_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306410.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306658.4]
  assign sys_gpio_0_iof_0_4_o_oval = sys_spi_0_dq_2_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306412.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306660.4]
  assign sys_gpio_0_iof_0_4_o_oe = sys_spi_0_dq_2_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306413.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306660.4]
  assign sys_gpio_0_iof_0_4_o_ie = ~ sys_spi_0_dq_2_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306414.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306660.4]
  assign sys_gpio_0_iof_0_5_o_oval = sys_spi_0_dq_3_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306416.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306662.4]
  assign sys_gpio_0_iof_0_5_o_oe = sys_spi_0_dq_3_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306417.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306662.4]
  assign sys_gpio_0_iof_0_5_o_ie = ~ sys_spi_0_dq_3_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306418.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306662.4]
  assign sys_gpio_0_iof_0_12_o_oe = sys_i2c_0_sda_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306445.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306666.4]
  assign sys_gpio_0_iof_0_13_o_oe = sys_i2c_0_scl_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306449.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306668.4]
  assign sys_gpio_0_iof_0_14_o_oe = sys_i2c_1_sda_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306453.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306670.4]
  assign sys_gpio_0_iof_0_15_o_oe = sys_i2c_1_scl_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306457.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306672.4]
  assign sys_gpio_0_iof_0_17_o_oval = sys_uart_1_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306464.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306676.4]
  assign sys_gpio_0_iof_0_19_o_oval = sys_uart_2_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306472.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306680.4]
  assign sys_gpio_0_iof_0_21_o_oval = sys_uart_3_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306480.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306684.4]
  assign sys_gpio_0_iof_0_23_o_oval = sys_uart_4_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306488.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306688.4]
  assign sys_gpio_0_iof_0_24_o_oval = sys_spi_0_cs_1; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306492.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@306664.4]
  assign sys_qspi_0_dq_0_i = spi_dq_0_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306740.4]
  assign sys_qspi_0_dq_1_i = spi_dq_1_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306755.4]
  assign sys_qspi_0_dq_2_i = spi_dq_2_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306770.4]
  assign sys_qspi_0_dq_3_i = spi_dq_3_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306785.4]
  assign sys_qspi_ram_0_dq_0_i = spi_dq_0_sync_1_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306807.4]
  assign sys_qspi_ram_0_dq_1_i = spi_dq_1_sync_1_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306822.4]
  assign sys_qspi_ram_0_dq_2_i = spi_dq_2_sync_1_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306837.4]
  assign sys_qspi_ram_0_dq_3_i = spi_dq_3_sync_1_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@306852.4]
  assign sys_aon_pins_erst_n_i_ival = io_pins_aon_erst_n_i_ival; // @[Platform.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306892.4]
  assign sys_aon_pins_lfextclk_i_ival = io_pins_aon_lfextclk_i_ival; // @[Platform.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306892.4]
  assign sys_i2c_0_scl_in = i2c_scl_sync_io_q; // @[I2CPins.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306355.4]
  assign sys_i2c_0_sda_in = i2c_sda_sync_io_q; // @[I2CPins.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306368.4]
  assign sys_i2c_1_scl_in = i2c_scl_sync_1_io_q; // @[I2CPins.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306382.4]
  assign sys_i2c_1_sda_in = i2c_sda_sync_1_io_q; // @[I2CPins.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@306395.4]
  assign ResetCatchAndSync_d20_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306193.4]
  assign ResetCatchAndSync_d20_reset = sys_aon_rsts_corerst; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306194.4]
  assign uart_rxd_sync_io_d = 1'h0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306235.4]
  assign uart_rxd_sync_1_io_d = sys_gpio_0_iof_0_16_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306251.4]
  assign uart_rxd_sync_2_io_d = sys_gpio_0_iof_0_18_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306267.4]
  assign uart_rxd_sync_3_io_d = sys_gpio_0_iof_0_20_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306283.4]
  assign uart_rxd_sync_4_io_d = sys_gpio_0_iof_0_22_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306299.4]
  assign i2c_scl_sync_io_d = sys_gpio_0_iof_0_13_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306351.4]
  assign i2c_sda_sync_io_d = sys_gpio_0_iof_0_12_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306364.4]
  assign i2c_scl_sync_1_io_d = sys_gpio_0_iof_0_15_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306378.4]
  assign i2c_sda_sync_1_io_d = sys_gpio_0_iof_0_14_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306391.4]
  assign spi_dq_0_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306734.4]
  assign spi_dq_0_sync_io_d = io_pins_qspi_dq_0_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306736.4]
  assign spi_dq_1_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306749.4]
  assign spi_dq_1_sync_io_d = io_pins_qspi_dq_1_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306751.4]
  assign spi_dq_2_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306764.4]
  assign spi_dq_2_sync_io_d = io_pins_qspi_dq_2_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306766.4]
  assign spi_dq_3_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306779.4]
  assign spi_dq_3_sync_io_d = io_pins_qspi_dq_3_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306781.4]
  assign spi_dq_0_sync_1_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306801.4]
  assign spi_dq_0_sync_1_io_d = io_pins_qspi_ram_dq_0_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306803.4]
  assign spi_dq_1_sync_1_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306816.4]
  assign spi_dq_1_sync_1_io_d = io_pins_qspi_ram_dq_1_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306818.4]
  assign spi_dq_2_sync_1_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306831.4]
  assign spi_dq_2_sync_1_io_d = io_pins_qspi_ram_dq_2_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306833.4]
  assign spi_dq_3_sync_1_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306846.4]
  assign spi_dq_3_sync_1_io_d = io_pins_qspi_ram_dq_3_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306848.4]
  assign uart_rxd_sync_5_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306865.4]
  assign uart_rxd_sync_5_reset = sys_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306866.4]
  assign uart_rxd_sync_5_io_d = io_pins_uart_rxd_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306867.4]
endmodule
module MarmotCaravelChip( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306894.2]
  input   clk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306895.4]
  input   rst_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306896.4]
  input   io_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  input   io_in_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306897.4]
  output  io_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_out_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306898.4]
  output  io_oeb_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  io_oeb_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306899.4]
  output  gpio_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  output  gpio_out_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306900.4]
  input   gpio_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.4]
  input   gpio_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306901.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@306927.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_25_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_25_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_25_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_26_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_26_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_26_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_27_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_27_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_27_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_28_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_28_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_28_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_29_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_29_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_29_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_30_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_30_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_30_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_31_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_31_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_31_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_sck_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_sck_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_ram_cs_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_uart_rxd_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_uart_txd_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  MarmotCaravelPlatform_io_jtag_reset; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.4]
  wire  _T_584; // @[Chip.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@306912.4]
  reg  slow_clock; // @[Chip.scala 29:33:shc.marmotcaravel.MarmotCaravelConfig.fir@306913.4]
  reg [31:0] _RAND_0;
  reg [1:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@306914.4]
  reg [31:0] _RAND_1;
  wire  _T_588; // @[Counter.scala 34:24:shc.marmotcaravel.MarmotCaravelConfig.fir@306916.6]
  wire [1:0] _T_590; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@306918.6]
  wire  _T_592; // @[Chip.scala 32:40:shc.marmotcaravel.MarmotCaravelConfig.fir@306923.6]
  MarmotCaravelPlatform MarmotCaravelPlatform ( // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@306927.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_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_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_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_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_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_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_gpio_pins_25_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_25_i_ival),
    .io_pins_gpio_pins_25_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_25_o_oval),
    .io_pins_gpio_pins_25_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_25_o_oe),
    .io_pins_gpio_pins_26_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_26_i_ival),
    .io_pins_gpio_pins_26_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_26_o_oval),
    .io_pins_gpio_pins_26_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_26_o_oe),
    .io_pins_gpio_pins_27_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_27_i_ival),
    .io_pins_gpio_pins_27_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_27_o_oval),
    .io_pins_gpio_pins_27_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_27_o_oe),
    .io_pins_gpio_pins_28_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_28_i_ival),
    .io_pins_gpio_pins_28_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_28_o_oval),
    .io_pins_gpio_pins_28_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_28_o_oe),
    .io_pins_gpio_pins_29_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_29_i_ival),
    .io_pins_gpio_pins_29_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_29_o_oval),
    .io_pins_gpio_pins_29_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_29_o_oe),
    .io_pins_gpio_pins_30_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_30_i_ival),
    .io_pins_gpio_pins_30_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_30_o_oval),
    .io_pins_gpio_pins_30_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_30_o_oe),
    .io_pins_gpio_pins_31_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_31_i_ival),
    .io_pins_gpio_pins_31_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_31_o_oval),
    .io_pins_gpio_pins_31_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_31_o_oe),
    .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_qspi_ram_sck_o_oval(MarmotCaravelPlatform_io_pins_qspi_ram_sck_o_oval),
    .io_pins_qspi_ram_dq_0_i_ival(MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_i_ival),
    .io_pins_qspi_ram_dq_0_o_oval(MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_oval),
    .io_pins_qspi_ram_dq_0_o_oe(MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_oe),
    .io_pins_qspi_ram_dq_0_o_ie(MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_ie),
    .io_pins_qspi_ram_dq_1_i_ival(MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_i_ival),
    .io_pins_qspi_ram_dq_1_o_oval(MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_oval),
    .io_pins_qspi_ram_dq_1_o_oe(MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_oe),
    .io_pins_qspi_ram_dq_1_o_ie(MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_ie),
    .io_pins_qspi_ram_dq_2_i_ival(MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_i_ival),
    .io_pins_qspi_ram_dq_2_o_oval(MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_oval),
    .io_pins_qspi_ram_dq_2_o_oe(MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_oe),
    .io_pins_qspi_ram_dq_2_o_ie(MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_ie),
    .io_pins_qspi_ram_dq_3_i_ival(MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_i_ival),
    .io_pins_qspi_ram_dq_3_o_oval(MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_oval),
    .io_pins_qspi_ram_dq_3_o_oe(MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_oe),
    .io_pins_qspi_ram_dq_3_o_ie(MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_ie),
    .io_pins_qspi_ram_cs_0_o_oval(MarmotCaravelPlatform_io_pins_qspi_ram_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_584 = ~ rst_n; // @[Chip.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@306912.4]
  assign _T_588 = value == 2'h3; // @[Counter.scala 34:24:shc.marmotcaravel.MarmotCaravelConfig.fir@306916.6]
  assign _T_590 = value + 2'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@306918.6]
  assign _T_592 = ~ slow_clock; // @[Chip.scala 32:40:shc.marmotcaravel.MarmotCaravelConfig.fir@306923.6]
  assign io_out_0 = 1'h0; // @[Chip.scala 48:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306931.4]
  assign io_out_1 = MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval; // @[Chip.scala 52:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306933.4]
  assign io_out_2 = 1'h0; // @[Chip.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306936.4]
  assign io_out_3 = 1'h0; // @[Chip.scala 61:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306940.4]
  assign io_out_4 = 1'h0; // @[Chip.scala 66:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306944.4]
  assign io_out_5 = 1'h0; // @[Chip.scala 82:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306953.4]
  assign io_out_6 = MarmotCaravelPlatform_io_pins_uart_txd_o_oval; // @[Chip.scala 87:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306957.4]
  assign io_out_7 = MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 183:16:shc.marmotcaravel.MarmotCaravelConfig.fir@307172.4]
  assign io_out_8 = MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 95:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306960.4]
  assign io_out_9 = MarmotCaravelPlatform_io_pins_qspi_sck_o_oval; // @[Chip.scala 99:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306963.4]
  assign io_out_10 = MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 103:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306966.4]
  assign io_out_11 = MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 108:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306971.4]
  assign io_out_12 = MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 113:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306976.4]
  assign io_out_13 = MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 118:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306981.4]
  assign io_out_14 = MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 165:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307076.4]
  assign io_out_15 = MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 165:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307081.4]
  assign io_out_16 = MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 165:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307086.4]
  assign io_out_17 = MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 165:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307091.4]
  assign io_out_18 = MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 165:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307096.4]
  assign io_out_19 = MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 165:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307101.4]
  assign io_out_20 = MarmotCaravelPlatform_io_pins_qspi_ram_cs_0_o_oval; // @[Chip.scala 127:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306986.4]
  assign io_out_21 = MarmotCaravelPlatform_io_pins_qspi_ram_sck_o_oval; // @[Chip.scala 131:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306989.4]
  assign io_out_22 = MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_oval; // @[Chip.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306992.4]
  assign io_out_23 = MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_oval; // @[Chip.scala 140:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306997.4]
  assign io_out_24 = MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_oval; // @[Chip.scala 145:16:shc.marmotcaravel.MarmotCaravelConfig.fir@307002.4]
  assign io_out_25 = MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_oval; // @[Chip.scala 150:16:shc.marmotcaravel.MarmotCaravelConfig.fir@307007.4]
  assign io_out_26 = MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307112.4]
  assign io_out_27 = MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307117.4]
  assign io_out_28 = MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307122.4]
  assign io_out_29 = MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307127.4]
  assign io_out_30 = MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307132.4]
  assign io_out_31 = MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307137.4]
  assign io_out_32 = MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307142.4]
  assign io_out_33 = MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307147.4]
  assign io_out_34 = MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307152.4]
  assign io_out_35 = MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307157.4]
  assign io_out_36 = MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307162.4]
  assign io_out_37 = MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 177:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307167.4]
  assign io_oeb_0 = 1'h1; // @[Chip.scala 49:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306932.4]
  assign io_oeb_1 = ~ MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe; // @[Chip.scala 53:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306935.4]
  assign io_oeb_2 = 1'h1; // @[Chip.scala 57:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306937.4]
  assign io_oeb_3 = 1'h1; // @[Chip.scala 62:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306941.4]
  assign io_oeb_4 = 1'h1; // @[Chip.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306945.4]
  assign io_oeb_5 = 1'h1; // @[Chip.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306954.4]
  assign io_oeb_6 = 1'h0; // @[Chip.scala 88:15:shc.marmotcaravel.MarmotCaravelConfig.fir@306959.4]
  assign io_oeb_7 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 184:16:shc.marmotcaravel.MarmotCaravelConfig.fir@307174.4]
  assign io_oeb_8 = 1'h0; // @[Chip.scala 96:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306962.4]
  assign io_oeb_9 = 1'h0; // @[Chip.scala 100:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306965.4]
  assign io_oeb_10 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 104:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306968.4]
  assign io_oeb_11 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 109:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306973.4]
  assign io_oeb_12 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306978.4]
  assign io_oeb_13 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 119:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306983.4]
  assign io_oeb_14 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307078.4]
  assign io_oeb_15 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307083.4]
  assign io_oeb_16 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307088.4]
  assign io_oeb_17 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307093.4]
  assign io_oeb_18 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307098.4]
  assign io_oeb_19 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307103.4]
  assign io_oeb_20 = 1'h0; // @[Chip.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306988.4]
  assign io_oeb_21 = 1'h0; // @[Chip.scala 132:17:shc.marmotcaravel.MarmotCaravelConfig.fir@306991.4]
  assign io_oeb_22 = ~ MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_oe; // @[Chip.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306994.4]
  assign io_oeb_23 = ~ MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_oe; // @[Chip.scala 141:16:shc.marmotcaravel.MarmotCaravelConfig.fir@306999.4]
  assign io_oeb_24 = ~ MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_oe; // @[Chip.scala 146:16:shc.marmotcaravel.MarmotCaravelConfig.fir@307004.4]
  assign io_oeb_25 = ~ MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_oe; // @[Chip.scala 151:16:shc.marmotcaravel.MarmotCaravelConfig.fir@307009.4]
  assign io_oeb_26 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307114.4]
  assign io_oeb_27 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307119.4]
  assign io_oeb_28 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307124.4]
  assign io_oeb_29 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307129.4]
  assign io_oeb_30 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307134.4]
  assign io_oeb_31 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307139.4]
  assign io_oeb_32 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307144.4]
  assign io_oeb_33 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307149.4]
  assign io_oeb_34 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307154.4]
  assign io_oeb_35 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307159.4]
  assign io_oeb_36 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307164.4]
  assign io_oeb_37 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 178:23:shc.marmotcaravel.MarmotCaravelConfig.fir@307169.4]
  assign gpio_out_0 = MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307013.4]
  assign gpio_out_1 = MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307015.4]
  assign gpio_out_2 = MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307017.4]
  assign gpio_out_3 = MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307019.4]
  assign gpio_out_4 = MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307021.4]
  assign gpio_out_5 = MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307023.4]
  assign gpio_out_6 = MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307025.4]
  assign gpio_out_7 = MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307027.4]
  assign gpio_out_8 = MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307029.4]
  assign gpio_out_9 = MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307031.4]
  assign gpio_out_10 = MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307033.4]
  assign gpio_out_11 = MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307035.4]
  assign gpio_out_12 = MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307037.4]
  assign gpio_out_13 = MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307039.4]
  assign gpio_out_14 = MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307041.4]
  assign gpio_out_15 = MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307043.4]
  assign gpio_out_16 = MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307045.4]
  assign gpio_out_17 = MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307047.4]
  assign gpio_out_18 = MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307049.4]
  assign gpio_out_19 = MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307051.4]
  assign gpio_out_20 = MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307053.4]
  assign gpio_out_21 = MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307055.4]
  assign gpio_out_22 = MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307057.4]
  assign gpio_out_23 = MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307059.4]
  assign gpio_out_24 = MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307061.4]
  assign gpio_out_25 = MarmotCaravelPlatform_io_pins_gpio_pins_25_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_25_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307063.4]
  assign gpio_out_26 = MarmotCaravelPlatform_io_pins_gpio_pins_26_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_26_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307065.4]
  assign gpio_out_27 = MarmotCaravelPlatform_io_pins_gpio_pins_27_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_27_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307067.4]
  assign gpio_out_28 = MarmotCaravelPlatform_io_pins_gpio_pins_28_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_28_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307069.4]
  assign gpio_out_29 = MarmotCaravelPlatform_io_pins_gpio_pins_29_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_29_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307071.4]
  assign gpio_out_30 = MarmotCaravelPlatform_io_pins_gpio_pins_30_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_30_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307073.4]
  assign gpio_out_31 = MarmotCaravelPlatform_io_pins_gpio_pins_31_o_oe & MarmotCaravelPlatform_io_pins_gpio_pins_31_o_oval; // @[Chip.scala 160:21:shc.marmotcaravel.MarmotCaravelConfig.fir@307075.4]
  assign MarmotCaravelPlatform_clock = clk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@306929.4]
  assign MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival = io_in_4; // @[Chip.scala 68:33:shc.marmotcaravel.MarmotCaravelConfig.fir@306947.4]
  assign MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival = io_in_3; // @[Chip.scala 63:33:shc.marmotcaravel.MarmotCaravelConfig.fir@306943.4]
  assign MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival = io_in_2; // @[Chip.scala 58:33:shc.marmotcaravel.MarmotCaravelConfig.fir@306939.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival = io_in_14 & MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 167:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307080.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival = io_in_15 & MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 167:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307085.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival = io_in_16 & MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 167:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307090.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival = io_in_17 & MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 167:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307095.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival = io_in_18 & MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 167:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307100.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival = io_in_19 & MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 167:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307105.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival = gpio_in_6; // @[Chip.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307106.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival = gpio_in_7; // @[Chip.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307107.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival = gpio_in_8; // @[Chip.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307108.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival = gpio_in_9; // @[Chip.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307109.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival = gpio_in_10; // @[Chip.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307110.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival = gpio_in_11; // @[Chip.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307111.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival = io_in_26 & MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307116.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival = io_in_27 & MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307121.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival = io_in_28 & MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307126.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival = io_in_29 & MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307131.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival = io_in_30 & MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307136.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival = io_in_31 & MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307141.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival = io_in_32 & MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307146.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival = io_in_33 & MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307151.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival = io_in_34 & MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307156.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival = io_in_35 & MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307161.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival = io_in_36 & MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307166.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival = io_in_37 & MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 179:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307171.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival = io_in_7 & MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 185:38:shc.marmotcaravel.MarmotCaravelConfig.fir@307176.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_25_i_ival = gpio_in_25; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307177.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_26_i_ival = gpio_in_26; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307178.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_27_i_ival = gpio_in_27; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307179.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_28_i_ival = gpio_in_28; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307180.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_29_i_ival = gpio_in_29; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307181.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_30_i_ival = gpio_in_30; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307182.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_31_i_ival = gpio_in_31; // @[Chip.scala 189:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307183.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@306970.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@306975.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@306980.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@306985.4]
  assign MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_i_ival = io_in_22 & MarmotCaravelPlatform_io_pins_qspi_ram_dq_0_o_ie; // @[Chip.scala 137:39:shc.marmotcaravel.MarmotCaravelConfig.fir@306996.4]
  assign MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_i_ival = io_in_23 & MarmotCaravelPlatform_io_pins_qspi_ram_dq_1_o_ie; // @[Chip.scala 142:39:shc.marmotcaravel.MarmotCaravelConfig.fir@307001.4]
  assign MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_i_ival = io_in_24 & MarmotCaravelPlatform_io_pins_qspi_ram_dq_2_o_ie; // @[Chip.scala 147:39:shc.marmotcaravel.MarmotCaravelConfig.fir@307006.4]
  assign MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_i_ival = io_in_25 & MarmotCaravelPlatform_io_pins_qspi_ram_dq_3_o_ie; // @[Chip.scala 152:39:shc.marmotcaravel.MarmotCaravelConfig.fir@307011.4]
  assign MarmotCaravelPlatform_io_pins_uart_rxd_i_ival = io_in_5; // @[Chip.scala 84:33:shc.marmotcaravel.MarmotCaravelConfig.fir@306956.4]
  assign MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival = rst_n; // @[Chip.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307184.4]
  assign MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival = slow_clock; // @[Chip.scala 197:41:shc.marmotcaravel.MarmotCaravelConfig.fir@307185.4]
  assign MarmotCaravelPlatform_io_jtag_reset = ~ rst_n; // @[Chip.scala 71:23:shc.marmotcaravel.MarmotCaravelConfig.fir@306949.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[1:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clk) begin
    if (_T_584) begin
      slow_clock <= 1'h0;
    end else begin
      if (_T_588) begin
        slow_clock <= _T_592;
      end
    end
    if (_T_584) begin
      value <= 2'h0;
    end else begin
      value <= _T_590;
    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 [11:0] data_arrays_0_ext_RW0_addr;
//  wire  data_arrays_0_ext_RW0_en;
//  wire  data_arrays_0_ext_RW0_clk;
//  wire  data_arrays_0_ext_RW0_wmode;
//  wire [31:0] data_arrays_0_ext_RW0_wdata;
//  wire [31:0] data_arrays_0_ext_RW0_rdata;
//  wire [3:0] data_arrays_0_ext_RW0_wmask;
  wire [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 [6:0] tag_array_ext_RW0_addr;
//  wire  tag_array_ext_RW0_en;
//  wire  tag_array_ext_RW0_clk;
//  wire  tag_array_ext_RW0_wmode;
//  wire [39:0] tag_array_ext_RW0_wdata;
//  wire [39:0] tag_array_ext_RW0_rdata;
//  wire [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 [10:0] data_arrays_0_0_ext_RW0_addr;
//  wire  data_arrays_0_0_ext_RW0_en;
//  wire  data_arrays_0_0_ext_RW0_clk;
//  wire  data_arrays_0_0_ext_RW0_wmode;
//  wire [63:0] data_arrays_0_0_ext_RW0_wdata;
//  wire [63:0] data_arrays_0_0_ext_RW0_rdata;
//  wire [1:0] data_arrays_0_0_ext_RW0_wmask;
  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
